C程序设计基础复习题集
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言规定,任何非0的数像1-1等都被认为是真,而0被认为是假
1>1为假
试题一、单选题
1.已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】
A.-1 B.0 C.1 D.-2
2.已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】
A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m
3.当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度:
正确答案:B】
A.m=k=n B.(m=k)&&(n=m)
C.(m=k)||(n=k)D.(n=m)&&(m=k)
4.已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】
A.0 B.1 C.5 D.表达式语法错
表达式6>x>1 ,
先判断6>x 为0,
再判断0>1,所以
值为0。
(6>x 为1 ,再判
断1>1,所以值为
0。)
5.下列程序段执行后c值为_____。【知识点:难度:正确答案:D】
int k=7, c=0;
while(--k)
if (k%3) continue; else c++;
A.5 B.4 C.3 D.2
6.已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=‘a’+‘D’-‘A’;后,
ch中的值为_____。【知识点:难度:正确答案:C】
A.d B.c C.100 D.不确定
7.设m,n已正确定义,执行语句{for(m=0, n=10; m 【知识点:难度:正确答案:C】 A.6,7 B.7,6 C.9,7 D.7,9 8.已知char *t[] ={”How”, ”are”, ”you!”};则t是_______。【知识点:难度:正确答案:B】 A.指向char变量的指针B.指向字符指针的指针常量 C.指向”How”的指针变量D.指向’H’的指针 9.假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序 段是______。【知识点:难度:正确答案:C】 A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {‘A’,’B’,’C’,’D’,’E’}; puts(s); C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s); 10.以下程序有错,错误原因是______。【知识点:难度:正确答案:D】 main() { int *p, i; char *q, ch; p = &i; q = &ch; *p = 40; *p = *q; ...... } A. p和q的类型不一致,不能执行*p=*q;语句 B. *p中存放的是地址值,因此不能执行*p=40;语句 C. q没有指向具体的存储单元,所以*q没有实际意义 D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果 11.若有定义:int a=2, b=5, c=8; 则表达式c |= (~a && b) ^ !(a & b)的值为_____。【知识点: 难度:4 正确答案:B】 A.14 B.8 C.1 D.0 12.设int a=5, b=7, 表达式(++a == b--)? ++ a : --b 的值是_______。【知识点:难度:2 正 确答案:C】 A.7 B.6 C.5 D.4 13.设a=3, b=2, 那么表达式(a=b=7, b=a!=7) 的值是。【知识点:难度:2 正 确答案:D】 A.1 B.2 C.7 D.0 逗号(,)也可以是运算符,逗号表达式最右边的子表达式的值即为逗号表达式的值。而b=a!=7的值为0 逗号运算符只取最右边的子表达式的值,但每个子表达式都要运行 14.设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行语句(m=a>b)&&(n=c>d);后n的值是 _____。【知识点:难度:3 正确答案:A】 A.2 B.1 C.0 D.3 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式, 15.下列程序段的输出结果是_____。【知识点:难度:3 正确答案:B】 int k=2, s=0; switch (k) { case 2: s++; k++; case 1: s++; case 3: s+=1; switch(s){ case 2: s+=2; break; default: k++; break; } default: s+=3; } printf("%d#%d#", s, k); A.1#3# B.6#4# C.3#2# D.3#4# 16.下列程序的输出结果是_____。【知识点:难度:2 正确答案:C】 int f(int x) { static int k; return ++k + x; } main( ) { int k; for(k=1; k<4; k++) printf("%d#", f(k) ); } A.2#5# B.3#6# C.2#4#6# D.不确定 17.下列程序的输出结果是_____。【知识点:难度:2 正确答案:D】 main()