- 0
- 0
- 约6.35千字
- 约 13页
- 2026-01-27 发布于山东
- 举报
电大c语言期末试题
第一部分单选题(50题)
1、函数指针的作用是?()
A.存储函数的地址
B.调用函数
C.实现回调函数
D.以上都正确
【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。
2、若inti=0;执行while(1){printf(%d,i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。
3、若inta[4]={1,2,3,4};则a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四个元素,值为4,故选B。
4、若inta[3]={1,2,3},p=a;则(p+2)的值是?()
A.1
B.2
C.3
D.无定义
【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故选C。
5、以下哪个条件表达式表示“x是奇数”?()
A.x%2==0
B.x%2!=0
C.x/2==0
D.x/2!=0
【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。
6、以下函数参数为指针的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。
7、若inti=0;执行for(i=0;i5;i++){if(i%2==0)continue;printf(%d,i);}输出结果是?()
A.13
B.024
C.01234
D.无输出
【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。
8、break语句在循环中的作用是?()
A.跳过本次循环,继续下一次
B.终止整个循环
C.终止当前语句
D.无作用
【答案】:答案解析:break在循环中用于终止整个循环(跳出循环体),continue是跳过本次循环,故选B。
9、以下函数声明正确的是?()
A.voidfun();
B.voidfun(inta);
C.intfun(int);
D.以上都正确
【答案】:答案解析:函数声明可省略形参名(只留类型),A、B、C均符合语法,故选D。
10、若inta=3;执行if(++a==4)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a使a=4,条件为真,输出A,故选A。
11、以下二维数组定义正确的是?()
A.inta[2][3];
B.inta[2][];
C.inta[][3]={1,2,3,4,5,6};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:B第二维不能省略,C第一维可省略(自动计算为2),D初始化元素超6个(2×3=6),A标准定义正确,故选A。
12、以下关于函数的说法正确的是?()
A.函数必须有返回值
B.函数可嵌套定义
C.函数可递归调用
D.函数名可重定义
【答案】:答案解析:A函数可无返回值(void),B不能嵌套定义(可嵌套调用),D函数名不能重定义,C递归调用正确,故选C。
13、以下if语句中,逻辑非运算符使用正确的是?()
A.if(!x)printf(yes);
B.if(!x==0)printf(yes);
C.if(!(x0))printf(yes);
D.A和C
【答案】:答案解析:!x表示“x为假(0)”,!(x0)表示“x不大于0”,均正确;B中!x==0等价于x!=0,逻辑不同,故选D。
14、指针的自增运算(p++)的含义是?()
A.指针值加1
B.指针指向的变量值加1
C.指针指向地址偏移一个类型大小
D.指针指向地址偏移1字节
【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。
15、若inta=7;执行if(a%3==1)printf(A);elseif(a%3==2)printf(B);elseprintf(C);输出结果是?()
A.A
B.B
C.C
D.无输出
【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,条件1成立?哦7%3=1,应输出A?不对,7%3=1,第一个条件成立,输出A?重新计算:7÷3=2余1,a%3=1,执行第一个分支,输出A,故选A(原解析修正:之前误算,正确结果A)。
16、定义整型
原创力文档

文档评论(0)