- 2
- 0
- 约6.49千字
- 约 13页
- 2026-02-02 发布于山东
- 举报
c语言期末测试题
第一部分单选题(50题)
1、以下关于函数参数的说法正确的是?()
A.形参是局部变量
B.实参是局部变量
C.形参在函数调用后释放
D.实参在函数调用后释放
【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。
2、函数嵌套调用是指?()
A.函数调用自身
B.函数调用另一个函数
C.函数定义中包含另一个函数
D.多个函数互相调用
【答案】:答案解析:嵌套调用是函数A调用函数B,函数B调用函数C,递归是调用自身,故选B。
3、定义整型变量x、y并均赋值10的语句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。
4、若inta[3][4]={{1,2},{3,4,5},{6}};则a[0][1]的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a[0][1]是第一行第二列,值为2,故选B。
5、若inti=0,s=0;执行for(i=0;i4;i++)s+=i;后s的值是?()
A.6
B.10
C.4
D.0
【答案】:答案解析:累加0+1+2+3=6,s=6,故选A。
6、若inti=0;执行for(i=0;i5;i++){if(i==3)break;printf(%d,i);}输出结果是?()
A.012
B.0123
C.01234
D.无输出
【答案】:答案解析:i=3时break,输出012,故选A。
7、以下函数参数为指针的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。
8、以下关于指针数组和数组指针的说法正确的是?()
A.指针数组是数组,元素为指针
B.数组指针是指针,指向数组
C.int*arr[5]是指针数组,int(*arr)[5]是数组指针
D.以上都正确
【答案】:答案解析:A、B、C均准确区分了指针数组和数组指针,故选D。
9、以下数组初始化正确的是?()
A.charstr[]=hello;
B.charstr[5]=hello;
C.charstr[]={h,e,l,l,o};
D.charstr[5]={h,e,l,l,o,\0};
【答案】:答案解析:A字符串自动加\0,B长度5不足以存hello(含\0共6个字符),C无\0(字符串不完整),D长度5超,故选A。
10、以下哪个条件表达式表示“x是奇数”?()
A.x%2==0
B.x%2!=0
C.x/2==0
D.x/2!=0
【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。
11、若intx=10;则表达式x%3的结果是?()
A.1
B.2
C.3
D.0
【答案】:答案解析:%是取余运算符,10除以3商3余1,故选A。
12、若intx=3,y=5;执行if(xy)printf(x大);elseif(x==y)printf(相等);elseprintf(y大);输出结果是?()
A.x大
B.相等
C.y大
D.无输出
【答案】:答案解析:x=3y=5,执行else,输出y大,故选C。
13、若inta=4;执行a-=2;后a的值是?()
A.2
B.4
C.6
D.0
【答案】:答案解析:a-=2等价于a=a-2,4-2=2,故选A。
14、表示“x大于5且小于10”的合法C语言表达式是?()
A.5x10
B.x5||x10
C.x5x10
D.x5x10
【答案】:答案解析:逻辑与用,逻辑或用||,A是连续比较语法错误,是按位与,故选C。
15、以下函数声明中,返回类型为float的是?()
A.floatfun();
B.voidfun(floata);
C.intfun(floata);
D.charfun(floata);
【答案】:答案解析:A返回类型为float,B无返回值,C返回类型int,D返回类型char,故选A。
16、若inta[5]={1,2,3,4,5},p=a;执行p+=2;后p的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:p+=2使p指向a[2],*p=3,故选B。
17、若floatf=5.9;强制转换为整型的表达式是?()
A.int(f)
原创力文档

文档评论(0)