c语言笔试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009秋第二部分C语言程序设计
一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)
21. 以下叙述中正确的是(21) 。
A.C语言系统以函数为单位编译源程序
B.main函数必须放在程序开始
C.用户定义的函数可以被一个或多个函数调用任意多次
D.在一个函数体内可以定义另外一个函数
22.以下选项中,不能用作C语言标识符的是(22)。
A. print
B. FOR
C.&a
D. _00
23. 已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是
(23) 。
A. printf("%d",32768);
B. printf("%ld",32768);
C. printf("%f",32768);
D. printf("%c",32768);
24. 已知有声明“int a=3,b=4,c=5; ”,以下表达式中值为0的是(24)。
A. a&&b
B. a<=b
C. a||b&&c
D. !(!c||1)
25. 已知有声明“long x,y;”且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x十进制表示中的最高位,
用剩下的数字组成一个新的整数并保存到y中,以下表达式中能正确实现这一功能的是(25) 。
A. y=x/(10*(n-1))
B. y=x%(10*(n-1))
C. y=x%(long)pow(10,n-1)
D. y=x%(10∧(n-1))
26.已知有声明“intx,y;”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y取值-1”,则以下程序段中错误
的是(26)。
A.if(x>=0)y=1;else y=-1;
B. y=x>=0?1:-1;
C. switch()
D. switch(x-abs(x))
{ case x>=0: y=1; break; { case 0: y=1; break;
default: y=-1; default: y=-1;
} }
27.已知有声明“int m[]={5,4,3,2,1},i=0;”,下列对m数组元素的引用中,错误的是(27) 。
A. m[++i]
B. m[5]
C. m[2*2]
D. m[m[4]]
28.已知有声明“char s[80];”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是(28)。
A. scanf("%s",s);
B. scanf("%s",s[0]);
C. s=gets();
D. s=getchar();
29.若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是(29) 。
A. 实参和其对应的形参占用同一存储单元
B. 形参不占用存储单元
C. 同名的实参和形参占用同一存储单元
D. 形参和实参占用不同的存储单元
30. 已知有声明“inti,a[10],*p=a;”,现需要将1~10保存到a[0]~a[9]中,以下程序段中不能实现这一功能的是
(30) 。
A. for(i=0;i<10;i++)a[i]=i+1;
B. for(i=0;i<10;i++)p[i]=i+1;