C复习.docx
- 文档编号:2940655
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:18
- 大小:21.72KB
C复习.docx
《C复习.docx》由会员分享,可在线阅读,更多相关《C复习.docx(18页珍藏版)》请在冰豆网上搜索。
C复习
C复习
一、单项选择题。
(单项选择题1~30题每题1分,31~40题每题2分)
1.下列关于C语言的说法不正确的是:
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能
B.C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号
C.注释可以出现在程序中任意合适的地方
D.命令行后面不能加分号,命令行不是C语言的语句
答案:
2
2.C语言程序的执行顺序是:
A.从第一个函数开始执行
B.从任意函数开始执行
C.从main函数开始执行
D.从第一条语句开始执行
答案:
3
3.以下关于注释的叙述,正确的是:
A.注释不参与编译,不影响程序结果
B.注释参与编译,影响程序结果
C.注释参与编译,但不影响程序结果
D.注释不参与编译,但影响程序结果
答案:
1
4.下列叙述中正确的是:
A.C语言编译时不检查语法
B.C语言的子程序有过程和函数两种
C.C语言的函数可以嵌套定义
D.C语言的函数可以嵌套调用
答案:
4
5.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符:
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一字符
答案:
3
6.下面四个选项中,均不正确的是:
A.0160x8f018
B.0a127ff-087
C.0abc0170xa
D.010-0x110x16
答案:
2
7.若有说明语句:
charc='\72';则变量c
A.包含1个字符
B.包含2个字符
C.包含3个字符
D.说明不合法,c的值不确定
答案:
1
8.若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是
A.sizeof,&=,<<,^
B.sizeof,<<,^,&=
C.^,<<,sizeof,&=
D.<<,^,&=,sizeof
答案:
2
9.putchar函数可以向终端输出一个
A.整型变量表达式值
B.实型变量值
C.字符串
D.序符或字符型变量值
答案:
4
10.若有定义和语句:
inta=21,b=021;printf(“%x,%d\n”,a,b);
输出结果是
A.17,15
B.16,18
C.17,19
D.15,17
答案:
4
11.已有定义语句:
intx=3,y=4,z=5;则值为0的表达式是
A.x>y++
B.x<=++y
C.x!
=y+z>y-z
D.y%z>=y-z
答案:
1
12.请阅读以下程序:
main()
{inta=5,b=0,c=0;
if(a=b+c)printf("***\n");
elseprintf("$$$\n");
}
以上程序
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
答案:
1
13.若变量已正确定义,有下列程序段:
i=0;
doprintf("%d,",i);while(i++);
printf("%d\n",i);
其输出结果是()。
A.0,0
B.0,1
C.1,1
D.程序进入无限循环
答案:
2
14.以下程序段的变量已正确定义
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);printf("*");
程序段的输出结果是()
A.********
B.****
C.**
D.*
答案:
4
15.以下选项对m数组,引用错误的是
intm[]={5,4,3,2,1},i=4;
A.m[--i]
B.m[2*2]
C.m[m[0]]
D.m[m[i]]
答案:
3
16.有下列程序:
#include
#include
voidf(charp[][10],intn)/*字符串从小到大排序*/
{chart[10];inti,j;
for(i=0;i for(j=i+1;j if(strcmp(p[i],p[j])>0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() {charp[5][10]={"abc","aabdfg","abbd","dcdbe","cd"}; f(p,5); printf("%d\n",strlen(p[0])); } 程序运行后的输出结果是()。 A.2 B.4 C.6 D.3 答案: 3 17.以下正确的说法是()。 A.用户若需要调用标准库函数,调用前必须重新定义 B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C.系统不允许用户重新定义标准库函数 D.用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用 答案: 2 18.以下函数定义的类型符是() fff(doublex){printf("%lf",x*x);} A.与参数x的类型相同 B.void类型 C.int类型 D.无法确定 答案: 3 19.下列有关函数的说法正确的是()。 A.在C语言中,若对函数类型未加说明,则系统隐含类型为void。 B.C函数必须有返回值,否则无法使用。 C.C函数既可以嵌套定义,又可以可递归调用。 D.C函数中,形式参数必须指定为确定的类型。 答案: 4 20.阅读下面程序段,则执行后的结果为 #include"stdio.h" main() {intm=4,n=2,k; k=fun(m,n); printf("%d\n",k);} fun(intm,intn) {return(m*m*m-n*n*n);} A.64 B.8 C.56 D.0 答案: 3 21.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是( ) A.main(){……x=fun(2,10);……}{……x=fun(2,10);……} B.floatfun(inta,intb){……}main(){……x=fun(i,j);……} C.floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……} D.main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……} 答案: 1 22.如果在一个函数中的复合语句中定义了一个变量,则该变量() A.只在该复合语句中使用 B.可以在该函数中使用 C.可以在本程序范围内使用 D.为非法变量 答案: 1 23.若有以下定义,则对a数组元素地址的正确引用是()。 inta[5],*p=a; A.p+5 B.*a+1 C.&a+1 D.&a[0] 答案: 4 24.以下程序的输出结果是()。 #include voidprt(int*x,int*y,int*z) {printf("%d,%d,%d\n",++*x,++*y,*(z++));} main() {inta=10,b=40,c=20; prt(&a,&b,&c); prt(&a,&b,&c);} A.11,42,3112,22,41 B.11,41,2012,42,20 C.11,21,4011,21,21 D.11,41,2112,42,22 答案: 2 25.下面程序段中,for循环的执行次数是()。 char*s="\ta\018bc"; for(;*s! ='\0';s++)printf("*"); A.9 B.5 C.6 D.7 答案: 3 26.已定义以下函数 fun(char*p2,char*p1) { while((*p2=*p1)! ='\0'){p1++;p2++;} } 函数的功能是()。 A.将p1所指字符串复制到p2所指内存空间 B.将p1所指字符串的地址赋给指针p2 C.对p1和p2两个指针所指字符串进行比较 D.检查p1和p2两个指针所指字符串中是否有'\0' 答案: 1 27.下列有关结构体和共用体的叙述正确的是() A.结构体变量所占用的存储空间取决于占用存储单元最大的成员 B.结构体内的成员可以是共用体类型 C.共用体内的成员不能是共用体类型 D.结构体内的成员不能是结构体类型 答案: 2 28.有以下程序 #include structSTU {charname[10]; intnum;}; voidf(char*name,intnum) {structSTUs[2]={{"SunDan",20044},{"Penghua",20045}}; num=s[0].num; strcpy(name,s[0].name); } main() {structSTUs[2]={{"YangSan",20041},{"LiSiGuo",20042}}, *p; p=&s[1];f(p->name,p->num); printf("%s%d\n",p->name,p->num);} 程序运行后的输出结果是() A.SunDan20042 B.SunDan20044 C.LiSiGuo20042 D.YangSan20041 答案: 1 29.设有以下定义 uniondata {intd1;floatd2;}demo; 则下面叙述中错误的是() A.变量demo与成员d1所占的内存字节数相同 B.变量demo中各成员的地址相同 C.变量demo和各成员的地址相同 D.若给demo.d1赋99后,demo.d2中的值是99.0 答案: 1 30.设有以下定义 uniondata {intd1;floatd2;}demo; 则下面叙述中错误的是() A.变量demo与成员d1所占的内存字节数相同 B.变量demo中各成员的地址相同 C.变量demo和各成员的地址相同 D.若给demo.d1赋99后,demo.d2中的值是99.0 答案: 2 31.以下程序的运行结果是 main() { intk=4,a=3,b=2,c=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习