C语言-2
一选择题 ( 评分标准 20 分,每小题2分)
1. 执行语句“a=b=3; printf(“%d,%d\n”, a<<2, b>>2);”后的输出结果为________(A)12,0 (B)12,3 (C)false,true (D)true,false
2. 若a是32位int整型变量,判断其2个二进位均为1的表达式为________(A)a&3==3 (B)a&3==11 (C)a&11==3 (D)a&11==11
3. 以“只读”方式打开文本文件c:\xy.text,下列语句中哪一个是正确的________(A)fp=fopen(“c:\\xy.txt”, “a”); (B)fp=fopen(“c:\\xy.txt”, “r”);
(C)fp=fopen(“c:\\xy.txt”, “wb”); (D)fp=fopen(“c:\xy.txt”, “r”);
4. 为表示“a和b都不等于0”,应使用的C语言表达式是_______(A)(a!=0) ‖(b!=0) (B)a‖b (C)!(a=0)&&(b!=0) (D)a&&b
5. 若x是单精度实型变量,k是基本整型变量,以下正确的输入语句是________scanf(“%f%d”, &x,&k); (B)scanf(“%f%d”, x,k);
(C)scanf(“%d%f”, &x,&k) (D)scanf(“%d%f”, x,k);
6. 下列运算中优先级最低的是________(A)* (B)<< (C)= (D)->
7. 已知字符‘c’的ASC为99,语句printf(“%d,%c”, ‘c’, ‘c’+1);输出为________(A)99,c (B)99, 100 (C)99,d (D)语句不合法
8. 不正确的赋值或赋初值的方式是________(A)char str[6]={‘s’,’t’,’r’, ’i’,’n’,’g’}; (B)char str[10]=”string”
(C)char *str=”string”; (D)char str[10]; str=”string”;"
9. C 语言程序中可以对程序进行注释,注释部分必须用符号_________括起来。
(A)‘{‘ 和’}’ (B)‘[‘和’]’ (C)“/*”和”*/” (D)“*/”和”/*”
10. ________是合法的用户自定义标识符。
(A)b-b (B)float (C) (D)_isw
套数号答案21.A 2.A 3.B 4.D 5.A 6.C 7.C 8.D 9.C 10.D
判断题 ( 评分标准 20 分,每小题2分)
1. 表达式(3.6%2)符合C语言语法。
2. 在C程序中,用整数0表示逻辑值“假”。
3. 08是正确的整型常量。
4. 设变量定义为char s[]=“hello”,则数组s中有6个元素。
5. 若x是单精度实型变量,表达式(x=10/4)的值是2.5。
6. 若变量已正确定义,表达式x=y=1符合C语言语法。
7. 表达式!(x>0‖y>0)等价于!(x>0&&!(y>0)。
8. 表达式( 0x19<<1)&0x7的值是3。
9. 在C源程序中将语句“if(x==5) y++;”误写成“if(x=5) y++;”,将导致编译错误。
10. C的double类型数据可以精确表示任何实数。
套数号答案41. F 2. T 3. F 4. T 5. F 6. T 7. T 8. F 9. F 10. F填空题 ( 评分标准 10 分,每小题2分)
存储‘A’要占用________个字节。
设a=3.b=2.c=1.则a>b>c的值为________。________。表达式 !!5的值是________。
________。
参考答案:
第4套(1)1(2)0(3)(4)1(5)四、程序改错题 ( 评分标准 20 分,每小题 5分 )
该程序功能:输入m、n(要求输入数均大于0),输出它们的最小公倍数。
#include
void main()
{ int m,n,k;
while(scanf("%d%d",&m,&n),m<0&&n<0);
for(k=m;k%n==0;) /*$1*/
k=k+m;
printf("%d\n",k);
}
说明:
该中“/*$1*/”行中的语句k%n==0; 有错误,请改正(注意:不得加行、减行、加句、减句)。
运行样例:8