35.假设在程序中a ,b ,c均被定义成整型 ,并且已赋大于1的值 ,则下
列能正确表示代数式 1/abc 的表达式是
A) 1/a*b*c B) 1/(a*b*c)
C) 1/a/b/(float)c D) 1.0/a/b/c
36.设有如下的变量定义:
int i=8 ,k ,a ,b ;
unsigned long w=5 ;
double x=1.42 ,y=5.2 ;
则以下符合C语言语法的表达式是
A)a =a-=(b=4)*(a=3) B)x%(-3);
C)a=a*3=2 D)y=float(i)
37.设a、b、c为整型数 ,且a=2 ,b=3 ,c=4 ,则执行完以下语句:
a*=16 (b )-( c);后,a的值是【 】。
38.若有定义:int a=10 ,b=9 ,c=8;执行下列语句后,变量b中的值是【 】 。
c=(a-=(b-5)); c=(a%11) (b=3);
39.若X和Y都是int型变量,X=100 ,Y=200 ,且有下面的程序片段:
printf("%d",(X ,Y)) ;
上面程序片段的输出结果是
A)200 B)100
C)100 200 D)输出格式符不够,输出不确定的值
41.执行下面程序中输出语句后,a的值是
A)65 B)20 C)15 D)10
main()
{ int a ;
printf("%d\n",(a=3*5 ,a*4 ,a 5));}
42.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为
A)4 B)16 C)32 D)52
43.以下叙述不正确的是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b 中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
44. 以下选项中,非法的字符常量是
A) ‘\t’ B) ‘\17’ C)“n” D) ‘\xaa’
45. 若有定义:int a=8,b=5,C;,执行语句C=a/b 0.4;后,c的值为
A) 1.4 B) 1 C) 2.0 D) 2
46. 若变量a是int类型,并执行了语句:a=‘A' 1.6;,则正确的叙述是
A) a的值是字符C
B) a的值是浮点型
C) 不允许字符型和浮点型相加
D) a的值是字符‘A’的ASCII值加上1。
47. 以下选项中不属于C语言的类型的是
A) signed short imt B) unsigned long int
C) unsigned int D) long short
48. 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是
A) a=20000 20000; B) a=4000*10;
C) a=30000 10000; D) a=4000L*10L;
49. 以下程序的输出结果是【 】 。
main()
{ int a=0
a =(a=8);
printf("%d\n",a);
}
50. 以下选项中合法的实型常数是
A) 5E2.0 B) E-3 C) .2E0 D) 1.3E
51. 以下选项中合法的用户标识符是
A) long B) _2Test C) 3Dmax D) A.dat
52. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是
A) 字符A B)字符a C)字符e D)非法的常量
53. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a b/b的值是
A)6.500000 B)6 C) 5.500000 D) 6.000000
54. 若有以下程序:
main()
{ int k=2,i=2,m;
m=(k =i*=k);printf(“%d,%d\n”,m,i);
}
执行后的输出结果是
A) 8,6 B) 8,3 C) 6,4 D) 7,4
55. 与数学式子对应的C语言表达式是
A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)
56. 以下选项中,与k=n 完全等价的表达式是
A) k=n,n=n 1 B) n=n 1,k=n C) k= n D) k =n 1
第三章 顺序结构程序设计
1. putchar函数可以向终端输出一个
A)整型变量表达式 B)实型变量值
C)字符串 D)字符或字符型变量值
2.printf函数中用到格式符 %5s,其中数字5表示输出的字符占用5列。如果字符串长度大于5,则输出按方式【 】;如果字符串长度小于5,则输出按方式【 】。
A) 从左起输出该字串,右补空格
B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格
D) 输出错误信息
3. 以下说法正确的是
A) 输入项可以为一个实型常量,如scanf("%f ",3.5);
B) 只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf("% 4.2f ",&f);
D) 当输入数据时,必须指明变量的地址,如scanf("%f ",&f);
4.若有以下定义和语句:
int u=010 ,v=0x10 ,w=10 ;
printf("%d ,%d ,%d\n" ,u ,v ,w) ;
则输出结果是:
A)8 ,16 ,10 B)10 ,10 ,10
C)8 ,8 ,10 D)8 ,10 ,10
5.以下程序的输出结果是
A)17,021,0x11 B)17,17,17
B)17,0x11,021 D)17,21,11
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k); }
6.下面程序的输出是
main()
{ unsigned int a=32768 ;
printf("a=%d\n" ,a) ; }
A)a=-32768 B)a=32767 C)a=-32767 D)a=-1
7.下列程序执行后的输出结果是
A)-32767 B)FFFE C)-1 D)-32768
main()
{ char x=0xFFFF ; printf("%d \n",x--) ; }
8.有如下程序
main()
{ int y=3 ,x=3 ,z=1 ;
printf(" %d %d\n",( x ,y ) ,z 2) ; }
运行该程序的输出结果是
A)3 4 B)4 2 C)4 3 D)3 3
9.下列程序的运行结果是
A) a=%2,b=%5 B) a=2,b=5
C) a=d, b=d D) a=%d,b=%d
# include <stdio.h>
main()
{ int a=2 ,c=5 ;
printf("a=%d,b=%d\n",a,c); }
10.下列程序的输出结果是
A)3 B)3.2 C)0 D)3.07
main()
{ double d=3.2 ; int x ,y ;
x=1.2 ; y=(x 3.8)/5.0;
printf("%d \n", d*y);}
11.下列程序执行后的输出结果是
A)G B)H C)I D)J
main()
{ int x='f ' ; printf("%c \n",'A' (x-'a' 1)); }
12.语句:printf("%d",(a=2)&&(b= -2));的输出结果是
A)无输出 B)结果不确定 C)-1 D)1
13.下列程序执行后的输出结果是(小数点后只写一位)
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
main()
{ double d ; float f ; long l ; int i ;
i=f=1=d=20/3 ;
printf("%d %ld % .1f % .1f \n",i ,l ,f ,d);}
14.若有以下定义和语句
char c1='b' ,c2='e' ;
printf("%d ,%c\n" ,c2-c1 ,c2-'a' 'A') ;
则输出结果是:
A)2 ,M B)3 ,E
C)2 ,E D)输出项与对应的格式控制不一致 ,输出结果不确定
15.若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应
该是【 】。
int a,b;
scanf("a=%b,b=%d",&a,&b);
16.若有定义:int x ,y ;char a ,b ,c ;并有以下输入数据(此处<CR> 代表换行符 ,u代表空格):
1u2<CR> AuBuC<CR>
则能给x赋整数1 ,给y赋整数2 ,给a赋字符A ,给b赋字符B ,给c赋字符C 的正确程序段是
A)scanf("x=%d y %d",&x,&y);a=getchar();
b=getchar();c=getchar();
B)scanf("%d %d",&x ,&y);a=getchar();
b=getchar();c=getchar() ;
C)scanf("%d%d%c%c%c",&x ,&y ,&a ,&b ,&c) ;
D)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);