- 1
- 0
- 约6.67千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
大学商贸学院专升本C语言考试真题
第一部分单选题(50题)
1、以下if语句的语法正确的是?()
A.if(x0){printf(a);elseprintf(b);}
B.if(x0)printf(a);else{printf(b);}
C.if(x0)printf(a);elseprintf(b);}
D.if(x0){printf(a);}elseprintf(b);}
【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。
2、预处理命令#definePI3.14159的作用是?()
A.定义变量
B.定义常量
C.函数声明
D.包含头文件
【答案】:答案解析:#define是宏定义,用于定义常量(无分号,直接替换),故选B。
3、以下哪个函数用于输出字符串?()
A.putchar()
B.printf()
C.gets()
D.scanf()
【答案】:答案解析:printf()可输出字符串(如printf(hello);),putchar()输出单个字符,故选B。
4、以下哪个是NULL指针?()
A.void*p=0;
B.int*p=NULL;
C.charp=(char)0;
D.以上都正确
【答案】:答案解析:NULL指针是不指向任何有效地址的指针,三种写法均正确,故选D。
5、指针与结构体的关系,以下说法正确的是?()
A.结构体指针通过-访问成员
B.结构体变量通过。访问成员
C.结构体指针可指向结构体变量
D.以上都正确
【答案】:答案解析:A、B、C均是结构体与指针的基本规则,故选D。
6、以下字符串数组定义正确的是?()
A.charstr[5][10]={hello,world};
B.charstr[5][]={hello,world};
C.charstr[][10]={hello,world,!};
D.charstr[5][10]={hello,world,!};
【答案】:答案解析:B第二维不能省略,A、C、D均正确?D最完整(5行10列,初始化3个字符串),故选D。
7、下列变量定义语法正确的是?()
A.inta=5;
B.inta=b=5;
C.int5a;
D.inta;b;
【答案】:答案解析:B不能连续赋值定义,C标识符开头错误,D分号分隔需分别定义(inta;intb;),故选A。
8、以下关于指针数组的定义正确的是?()
A.int*arr[5];
B.int(*arr)[5];
C.intarr[5];
D.intarr[];
【答案】:答案解析:A是指针数组(5个int指针),B是指向数组的指针,C是普通数组,D缺少长度,故选A。
9、以下定义函数指针正确的是?()
A.int(*fp)(int);
B.int*fp(int);
C.intfp(int);
D.int(fp)[];
【答案】:答案解析:A是指向int返回值、int参数的函数指针,B是返回int的函数,C是普通函数,D是指向数组的指针,故选A。
10、若inta[4]={1,2,3,4};则*(a+1)的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。
11、以下函数定义中,参数为指针的是?()
A.voidfun(int*a){printf(%d,*a);}
B.voidfun(inta){printf(%d,a);}
C.voidfun(inta[]){printf(%d,a[0]);}
D.A和C
【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。
12、do-while循环的特点是?()
A.先判断条件,后执行循环体
B.先执行循环体,后判断条件
C.条件不满足时也不执行循环体
D.只能执行一次
【答案】:答案解析:do-while是“先执行后判断”,至少执行一次循环体,for和while是“先判断后执行”,故选B。
13、C语言中,注释的正确写法是?()
A.//单行注释
B./*多行注释/
C.--注释
D.A和B
【答案】:答案解析:C语言支持//单行注释和/...*/多行注释,--不是注释符号,故选D。
14、以下函数定义错误的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回类型int(必须return表达式),return无表达式错误,A、B、C正确,故选D。
15、若intx=2;执行switch(
原创力文档

文档评论(0)