c语言试题及答案.docx
- 文档编号:18562686
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:17
- 大小:20.49KB
c语言试题及答案.docx
《c语言试题及答案.docx》由会员分享,可在线阅读,更多相关《c语言试题及答案.docx(17页珍藏版)》请在冰点文库上搜索。
c语言试题及答案
理论考试(120分钟)
一、单项选择题(在每小题的4个备选答案中,选出一个最佳答案,共15小题;每小题2分,共30分)
1.一个C程序的执行是从(A)
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
2.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(B)
if(x>y)z=x;x=y;y=z;
A.10,20,30B.20,30,30C.20,30,10D.20,30,20
3.inta=1,b=2,x=3;表达式:
x*=a+b计算后x的值为:
(B)
A.5B.9C.3D.6
4.下列选项,在C语言中能作为合法标识符的是(D)
A.%xB.a+bC.2_int_12_D.int_2_
5.#include
voidmain()
{
intsum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf("%d%d\n",pad,sum);
}
A.76B.65C.75D.66
6.若有说明:
inta[10];则对a数组元素的正确引用是(D)
A.a[10]B.a[3,5]C.a(5)D.a[10-10]
7.请读程序
#include
#defineMUL(x,y)(x)*y
voidmain()
{inta=3,b=4,c;
c=MUL(a++,b++);
printf("%d\n",c);
}
上面程序的输出结果是(A)。
A.12B.15C.20D.16
8.若用数组名作为函数调用的实参,传递给形参的是数组的(A)
A.数组的首地址B.数组第一个元素的值
C.数组中全部元素的值D.数组元素的个数
9.阅读以下程序
voidmain()
{inta=5,b=0,c=1;
if(a=b+c)printf(“***\n”);
elseprintf(“$$$\n”);
}
以上程序(C)
A.语法有错不能通过编译B.可以通过编译但不能通过连接
C.输出***D.输出$$$
10.下列关于函数定义正确的是(D)
A.fun(intx,y){intz;returnz;}
B.voidfun(intx,inty){returnx+y;}
C.fun(x,y){intx,y;doublez;z=x+y;returnz;}
D.doublefun(intx,inty){doublez;z=x+y;returnz;}
11.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B)
A.地址传递B.单向值传递
C.由实参传给形参,再由形参传回实参D.传递方式由用户指定
12.具有相同基类型的指针变量P和数组Y,下列写法中不合法的是(D)
A.P=YB.*P=Y[i]
C.P=&Y[i]D.P=&Y
13.设x和y均为int型变量,则下列语句:
x+=y;y=x-y;x-=y;的功能是(D)
A.把x和y按从大到小排列。
B.把x和y按从小到大排列。
C.无确定的结果。
D.交换x和y中的值
14.若已定义:
chars[10];则在下面表达式中不表示s[1]的地址的是(B)
A.s+1B.s++C.&s[0]+1D.&s[1]
15.以下定义语句中,错误的是(D)
A.inta[]={1,2};B.char*a[3];
C.chars[10]="text";D.intn=5,a[n];
二、完善程序(本大题5小题,每空1分,共10分)
1.下面程序是将一个字符串的内容颠倒过来,请补充完整程序。
#include
#include
voidchange(charstr[])
(1)/*函数头*/
{
intlen,i,j;
charc;
len=strlen(str);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题 答案