资源描述:
《c语言期末复习资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、所有单选题1、C语言中下列叙述正确的是______。A:不能使用do-while语句构成的循环B:do-while语句构成的循环,必须用break语句才能退出C:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D:do-while语句构成的循环,当while语句中的表达式值为零时结束循环答案:D评析:本题的考查点是do-while语句。选项A是错误的,C语言支持do-while语句;选项B是错误的,do-while构成的循环,当while语句中的表达式值为零时结束循环,而不是非零;选项C也是
2、错误的。故本题答案为D。知识点:知识点/循环结构程序设计/WHILE和DOWHILE循环结构2、以下选项中属于C语言的数据类型是______。A:复数型B:逻辑型C:双精度型D:集合型答案:C评析:本题的考查点是C语言的数据类型。C语言的数据类型分为基本类型,构造类型,指针类型,空类型四大类。其中,基本类型分为整型,字符型,实型三类。实型又称浮点型,包括单精度型和双精度型两种类型。故本题答案为C。知识点:知识点/数据类型及其运算/C的数据类型及其定义方法3、下列描述中不正确的是______。A:字符型数组中可以存放字符
3、串B:可以对字符型数组进行整体输入、输出C:可以对整型数组进行整体输入、输出D:不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值答案:C评析:本题的考查点是对数组的理解。C语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项C的说法是不正确的。故本题答案为C。知识点:知识点/基本语句/数据的输入与输出,输入输出函数的调用4、以下程序的输出结果是______。main(){intx=10,y=10,i;for(i=0;x>8;y=++i)print
4、f("%d%d",x--,y);}A:10192B:9876C:10990D:101091答案:D评析:本题的考查点是for循环语句。for语句的一般格式为:for(表达式1;表达式2;表达式3)语句执行中只要表达式2为真,则执行for语句中指定的内嵌语句。所以,本题在条件为真的情况下,先执行printf函数。x--是先使用后运算。故本题答案为D。知识点:知识点/循环结构程序设计/FOR循环结构5、以下程序的输出结果是______。main(){chara[10]={'1','2','3','4','5','6','7
5、','8','9',0},*p;inti;i=8;p=a+i;printf("%s",p-3);}A:6B:6789C:'6'D:789答案:B评析:本题的考查点是通过指针引用数组元素。指针p指向数组中第8个元素,即a[8]='9'。输出时,输出字符串,且指针把a[8]作为初始位置往前指3个元素,也就是共有4个字符输出。最后指向a[5]为'6',所以输出为6789。故本题答案为B。知识点:知识点/指针/指针数组,指向指针的指针,MAIN函数的命令行参数6、能正确表示a和b同时为正或同时为负的逻辑表达式是______
6、。A:(a>=0
7、
8、b>=0)&&(a<0
9、
10、b<0)B:(a>=0&&b>=0)&&(a<0&&b<0)C:(a+b>0)&&(a+b<=0)D:a*b>0答案:D评析:本题的考查点是对逻辑表达式的判断。逻辑表达式是指用逻辑运算符将关系表达式或逻辑量连接起来。选项A中,表达式表示的是a,b为异号;选项B中,表达式表示的是0,因为没有满足条件的值;选项C中,表达式表示的是0,因为没有满足条件的值;选项D表示的是a和b为同号。故本题答案为D。知识点:知识点/基本语句/表达式语句,空语句,复合语句7、以下程序的输出结果是_
11、_____。main(){intn=4;while(n--)printf("%d",--n);}A:20B:31C:321D:210答案:A评析:本题的考查点是while语句的判断。n--是先使用后运算,--n是先运算后使用。n=4时,执行n--后,n变为3,执行--n后,n变为2,所以,第一次输出时,n为2;同上过程,第二次输出时,n为0。故本题答案为A。知识点:知识点/循环结构程序设计/WHILE和DOWHILE循环结构8、以下程序的输出结果是______。main(){intk=17;printf("%d,%o,
12、%x",k,k,k);}A:17,021,0x11B:17,17,17C:17,0x11,021D:17,21,11答案:D评析:本题的考查点是不同格式的数据输出。printf函数对不同类型的数据用不同的格式字符,"%d"是以带符号的十进制形式输出整数(正数不输出符号);"%o"以8进制无符号形式输出整数(不包括前导符0);"