A. 2/3与2.0/3.0等价 B. (int)2.0/3与2/3等价 C. ++5与6等价 D. ?A?与”A”等价 35、下面叙述中,错误的是(A)
A. C语言基本的算术运算符不包含模运算符”%” B. 算术运算符的优先级高于关系运算符 C. 自加和自减运算符的结合方向是”自右向左”
D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行
36、下面叙述正确的是(A)
A. 强制类型转换运算的优先级高于算术运算 B. 若a和b是整型变量,(a+b)++是合法的
C. ?A?*?B?是不合法的 D. “A”+”B”是合法的
37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C) A. 1 B. 0 C. 6 D. 7
38、设整型变量a为5,使b不为2的表达式是(C)
A. b=(++a)/3 B. b=6-(--a) C. b=a%2 D. b=a/2
39、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(A)
A. 1 B. 0 C. 2 D. 3
40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)
6
A. 7 B. 8 C. 9 D. 10
41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(D) A. 7 B. 8 C. 9 D. 10
42、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(C)
A. 8 B. 6 C. 7 D. 5
43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(B)
A. 4 B. 5 C. 6 D. 7
44、C语言的运算符按运算对象的个数可以分为(D) A. 单目运算符一种 B. 单目和双目运算符 C. 单目、双目和三目运算符 D. 单目、双目、三目和四目运算符
45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(C)
A. scanf(“%5.2f”,&m); B. scanf(“%3.2f”,&m); C. scanf(“%6.2f”,&m); D. scanf(“o”,&m); 46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是(B)
A. scanf(“%ld”,&a); B. scanf(“%lf”,&a); C. scanf(“%c”,&a); D. scanf(“%u”,&a);
47、已知char a;使用scanf()函数输入一个字符给变量a,不
7
正确的函数调用是(B)
A. scanf(“%d”,&a); B. scanf(“%lf”,&a); C. scanf(“%c”,&a); D. scanf(“%u”,&a); 48、putchar()函数的功能是向终端输出(B)
A. 多个字符 B. 一个字符 C. 一个实型变量值 D. 一个整型变量表达式
49、以下程序段运行后的输出结果是(C) int k=11;
printf(“k=%d,k=%o,k=%x\\n”,k,k,k); A. k=11,k=13,k=c B. k=11,k=12,k=13 C. k=11,k=13,k=b D. k=11,k=13,k=a
50、若有定义:int x=1234,y=123,z=12;则语句printf(“M+=+-”,x,y,z);运行后的输出结果为(D) A. 123412312 B. 12341234123412341231231231212 C. 1234+1234+1234 D. 1234+123+12 51、已有如下定义和输入语句, int a;char c1,c2;
scanf(\
若要求a、c1、c2的值分别为10、A和B,正确的数据输入是(A)
A. 10AB B. 10 A B C. 10A B D. 10 AB
8
52、以下程序段的运行结果是(A)
int a=0,b=0,c=0; if(a&&++b) c++;
printf(“%d,%d\\n”,b,c);
A. 0,0 B. 1,2 C. 2,2 D. 1,0 53、以下程序的运行结果是(D) void main() { int a=65; char c=?A?;
printf(“%x,%d”,b,c); }
A. 65,a B. 41,a C. 65,65 D. 41,65 54、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)
A. printf(“%d%d”,a,b); B. printf(“%d/”,a,b); C. printf(“//”,a,b); D. printf(“/%d”,a,b); 55、运行以下程序段时编译出错,其原因是(A) char c1='8',c2='2008'; printf(\
A. c2是字符变量,只能赋以字符常量,不能赋以字符串常
9
量
B. 字符串要用“2008“表示,而‘2008’不是字符串表示 C. ‘2008’只能赋值给字符数组 D. 字符变量不能用%d格式输出
56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)
A. 1 B. 0 C. t D. f
57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B) A. 1 B. 非0的数 C. 大于0的数 D. 非0的整数
58、若已定义:int a=-36,b=-30,c;则语句c=a
A. 1 B. t C. 0 D. f
59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)
A. (y<=800)&&(y>=500) B. (y<=800)AND(y>=500)
C. 800>=y>=500 D. (y<=800)&(y>=500)
60、若有定义:int x=3,y=4;则表达式!x||y的值为(A) A. 1 B. 0 C. 3 D. 4
61、若有定义:int i=7,j=8;则表达式i>=j||i 10