58. 对应代数表达式3a÷(b+c),C语言的表达式是()
A) 3*a\\(b+c) B) 3a/(b+c)
C) 3*a/b+c D) 3*a/(b+c)
59. 若已经定义:double a,b,c;下列表达式中与(a-b)*c/2 计算结果不相符合的是()。
C) c/2*(a-b) A) (a-b)*c/2
D) (1/2)*(a-b)*c B) (a-b)*c*1/2 60. 若已经定义:int a=1,b=2,c=2;则表达式(a+b)/1.0/c的值是()
A) 0.0 B) 1.0 C) 1 61. 下面叙述正确的是( )。
A) 强制类型转换运算的优先级高于算术运算 B) 若a和b是整型变量,(a+b)++是合法的 C) 'A'*'B' 是不合法的 D) \是合法的
62. 若已定义:int x=2,y=4;则表达式(double)x/y+y%x的值是()
A) 2 B) 2.5 C) 0
63. 若已经定义:long int i; char c; double x;则表达式i*c+(int)x的结果的类型是() A) long int B) int C) double 64. 若已经定义:int n=2 ;double x=2.5;则下列表达式中不符合语法的是() A) (int)(x/n) C) (int)(x%n) B) (int)x%n D) (int)x/n
65. 若已经定义:int i=2,j=2;float x=2.5,y=3.5;则表达式(float)(i+j)/2+(int)x%(int)y的值为() A) 4.5 B) 4.0 C) 3.0 D) 3.5 66. 若有定义:float x=3.5,y=5.5;则表达式()的值为2. A) (int)x+y%7 B) (int)(x+y)%7 67. 若有定义:int x=2;则正确的赋值表达式是( )。
A) a-=(a*3) B) double(-a)
D) 1.5
D) 0.5
D) char
C) int(x+y)%7 D) (x+y)%7
C) a*3 D) a*4=3
68. 若已经定义:int b=7;float a=2.5,c=4.0;则表达式a+(b/2*(int)(a+c))%4的值是()
A) 4.5 B) 5.5 C) 2.5 69. getchar()函数的功能是获取终端输入的( A) 一个字符 B) 多个字符 70. 只能向终端输出一个字符的是().
A) printf()函数 B) getchar()函数
)
C) 一个整型变量表达式 D) 一个实型变量值
D) 3.5
C) scanf()函数 D) putchar()函数
71. 若有定义int a=8,b=5;要实现输出形式为:8*5=40,正确的printf()函数调用语句是()
A) printf(“%d*%d=%d\\n”,a,b,a*b); B) printf(“a*b=%d\\n”,a*b); C) printf(“%d*%d=a*b\\n”,a,b);
11
D) printf(“a*b=a*b\\n”);
72. 若有定义float x;要从键盘输入数据6.02赋给x,则应选用()语句。
A) scanf(“%8.2f”,&x); B) scanf(“%4.2f”,&x); C) scanf(“%f”,&x); D) scanf(“%1.2f”,&x);
73. 若已定义:float f; char s[20];下列正确的输入语句是()。 注:参考数组章节知识
A) scanf(“%s%f”,s,f); C) scanf(“%s%f”,s,&f); B) scanf(“%c%f”,s,&f); D) scanf(“%s%f”,&s,f);
74. 若有定义:int x=1234,y=123,z=12;则语句printf(\运行后的输出结果为( )。 A) 123412312 C) 1234+1234+1234 B) 12341234123412341231231231212 D) 1234+123+12 75. 若有语句int a;char c;scanf(“=%c”,&a,&c);为将整数135赋给a,字符‘6’赋给c,正确的数据输入方式是()。说明:
scanf(“%d,%d,%d”,&x1,&x2,&x3); A)1,2,3 B)1 2 3 C)1 2 3 D)123 78. 若已经定义:char c;则下列正确的输入语句是()
A) gets(c);
B) scanf(“%c”,c);
)
C) getchar(c);
D) scanf(“%s”,&c);
79. 若已经定义:int x=5,y=7;正确实现输出形式:5+7=12的语句是()
A) printf(“%d+%d=%d”,x,y,x+y); C) printf(“%d+%d=x+y”,x,y); B) printf(“x+y=x+y”); D) printf(“x+y=%d”,x+y); 80. 要使下列程序段输出的内容为123-123-45,正确的输入数据格式是() int i,j,k;
scanf(“%d%d%d”,&I,&j,&k); printf(“%d-%d-%d\\n”,i,j,k);
12
A) B) C) D) 12312345 123 123 45 123,123,45 123,12345
81. 若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( )。
A) 3,3 B) 4,4 C) 4,3 D) 3,4 82. 若已经定义:int x; 则逗号表达式x=5,3+x,x=x*2的值是()
A) 15 B) 5 C) 10 D) 16 83. 语句x=(a=3,b=++a);运行后,x、a、b的值依次为( )。
A) 3,3,4 B) 4,4,3 C) 4,4,4 D) 3,4,3 84. 若有定义:int x,y,z;语句x=(y=z=3,++y,z+=y);运行后,x的值为()
A) 7 B) 3 C) 8 D) 6
4. 第四章、第五章 程序控制结构(分支、循环语句)
1. 若有定义:int a;则表达式( )不能用来判断a值为奇数是“真”,偶数是“假”
A) a%2==1 B) !(a%2==0) C) a%2 D) !(a%2) 2. 若已经定义int x,y;则下列不能正确表示数学关系式|x-y|>5的表达式是( )
A) (x-y)>5 || (x-y)<-5 B) (x-y)<-5&&(x-y)>5 C) abs(x-y)>5 D) (x-y)*(x-y)>25 3. 判断char型变量C1是否为小写字母的正确表达式为( )
A) (‘a’>=c1)&&(‘z’<=C1) B) (c1>= ‘a’)&&( C1<= ‘z’) C) ‘a’<=c1<=’z’
13
D) (c1>= a)&&( C1<= z)
4. 若已定义:int a=0,b=1;则下列表达式值为真的是( )
A) a!=0||b!=1 B) a++&&b++ C) (a=0)&&(b=1) D) a==1||a!=1 5. 若已经定义: int x=2,y=3;则下列表达式值为假的是( )
A) x&&y B) x>y||x A) a= =0 B) a=0 C) !(a<0||a>0) D) a!=0 7. 若有定义:int a=1,b=2,c=3,d=4,t=2,k=2;语句(t=a A) a||b+c&&b-c B) a<=b C) !((a A) a*b>0 B) (a+b>0)&&(a+b<0) C) (a>0||b>0)&&(a<0||b<0) D) (a>0&&b>0)&&(a<0&&b<0) 10. 若已定义int x=5;则下列程序段的运行结果是( )。 if((x--)<5) printf(“%d\\n”,x); else printf(“%d\\n”,x++); A) 5 B) 4 C) 6 D) 3 11. 下列程序段的运行结果是( )。 int k=8; 14 。 ) switch(k%5) { default: printf(“DD”) ; case 1: printf(“AA”); break; case 2: printf(“BB”); case 0: printf(“CC”); } A) AA B) DD C) CC D) DDAA 12. 下列程序段运行后sum的值为( )。 int i=8,sum=0; while((i--)>=5) {sum+=2;} A) 10 B) 6 C) 8 D) 4 13. 若已定义int k=4,s=10;则下列程序段运行结果是( if (2*k>9) s=k+5; printf(\\); A) 13 B) 19 C) 10 D) 14 14. 下列程序段运行后m的值为( ) int i,j,m=0; for(i=1;i<=3;i++) for(j=2;j<=4;j++) m=m+i+j; A) 33 B) 30 C) 45 D) 27 15. 下列程序段运行后sum的值为( )。 int i=8,sum=0; 15 )