- 0
- 0
- 约6.06千字
- 约 13页
- 2026-01-30 发布于河南
- 举报
C语言期末试题北京卷
第一部分单选题(50题)
1、以下哪个关键字用于定义整型变量?()
A.char
B.int
C.float
D.double
【答案】:答案解析:int定义整型,char字符型,float单精度浮点型,double双精度浮点型,故选B。
2、以下函数调用错误的是?()
A.fun();
B.fun(5);
C.fun(3,4);
D.无错误(需看函数定义)
【答案】:答案解析:调用需匹配函数定义,A对应无参函数,B对应单参函数,C对应双参函数,均可能正确,故选D。
3、指针与字符串的关系,以下说法正确的是?()
A.字符串常量是字符数组,数组名是指针
B.字符串可通过指针遍历
C.字符指针可指向字符串常量
D.以上都正确
【答案】:答案解析:A、B、C均是指针与字符串的基本关系,故选D。
4、若inta=5;执行if(a10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.无定义
【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。
5、以下函数调用正确的是?()
A.fun();
B.fun(1,2);
C.fun(test);
D.取决于函数定义
【答案】:答案解析:函数调用是否正确取决于函数定义(参数类型、个数),A、B、C均可能正确,故选D。
6、以下关于指针数组的定义正确的是?()
A.int*arr[5];
B.int(*arr)[5];
C.intarr[5];
D.intarr[];
【答案】:答案解析:A是指针数组(5个int指针),B是指向数组的指针,C是普通数组,D缺少长度,故选A。
7、函数参数传递中,地址传递的特点是?()
A.形参是实参的副本
B.形参修改不影响实参
C.传递的是变量地址
D.用于简单变量传参
【答案】:答案解析:地址传递(指针)传递变量地址,形参通过地址修改实参值,值传递是副本,故选C。
8、若inta[4]={10,20,30,40};则a+1表示?()
A.10的地址
B.20的地址
C.30的地址
D.40的地址
【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故选B。
9、若inti=1;执行do{printf(%d,i);i++;}while(i=3);输出结果是?()
A.123
B.1234
C.012
D.无输出
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断,共执行3次,输出123,故选A。
10、以下for循环的循环次数是?()for(inti=2;i=8;i+=2)
A.3次
B.4次
C.5次
D.6次
【答案】:答案解析:i取值2、4、6、8,共4次,故选B。
11、若inta=8;执行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()
A.4
B.10
C.8
D.6
【答案】:答案解析:8%4=0,条件为真,a=8/2=4,故选A。
12、若charstr[10]=abcde;则str[5]的值是?()
A.e
B.\0
C.随机值
D.无定义
【答案】:答案解析:字符串自动在末尾加\0,str[5]是\0,故选B。
13、以下switch语句中,正确使用字符常量的是?()
A.switch(c){caseA:printf(A);break;}
B.switch(c){caseA:printf(A);break;}
C.switch(c){caseA:printf(A);break;}
D.switch(c){casea:b:printf(ab);break;}
【答案】:答案解析:字符常量用单引号,B是标识符,C是字符串,D语法错误(多个case需分开),故选A。
14、以下if语句中,赋值表达式作为条件的是?()
A.if(x==3)
B.if(x=3)
C.if(x3)
D.if(x!=3)
【答案】:答案解析:x=3是赋值表达式,结果为3(非0,真),其余是判断表达式,故选B。
15、若inti=1;执行while(i=4){printf(%d,i);i+=3;}输出结果是?()
A.14
B.1234
C.1
D.无输出
【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。
16、以下哪个是合法的字符常量?()
A.a
B.ab
C.a
D.a
【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。
17、若inti=0,s=0;执行while(i=3){s+=i2;i++;}后s的值是?()
A.1
原创力文档

文档评论(0)