C语言考试卷求大神解析

一、选择题(本大题共15小题,每小题2分,共30分)1.下面关于C语言的函数,说法不正确的是()A.C程序是由函数构成的。B.函数由函数首部和函数体组成。C.函数体必须由... 一、 选择题(本大题共15小题,每小题2分,共30分)
1. 下面关于C语言的函数,说法不正确的是( )
A.C程序是由函数构成的。
B.函数由函数首部和函数体组成。
C.函数体必须由声明部分和执行部分。
D.C程序的空函数什么也不做。

2. 对源程序xxx.c进行编译并与库函数连接后,所生成的所有文件中为二进制格式的是( )
A.xxx.cpp
B.xxx.obj
C.xxx.c
D.xxx.obj

3. 指定变量c、d为无符号短整型数据,下列语句正确的是( )
A.unsigned int c, d;
B.unsigned long c, d;
C.short int c, d;
D.unsigned short c, d;

4. 经以下语句,变量a的值为( )float a ; a = 111111.111 ;
A.111111
B.111111.1
C.111111.11
D.111111.111

5. 下列语句的屏幕输出会是( )printf( “ab c\t de\rf\tg” );
A. ab c df g
B.fab c gde
C.f gde
D. ab c de f g

6. 假设整形变量i的初值为4,则执行printf( “%d”, -i++); 后i的值为( )
A.5
B.-4
C.-3
D.语法错误

7. 以下程序的输出结果为( )#include <stdio.h>void main(){ unsigned a; int b=-1; a=b; printf( “%u\n”, a);}
A.-1
B.0
C.1
D.65535

8. a=5,b=4; 则printf (“%d”, a>b?a:b+1); 的输出为( )
A.3
B.4
C.5
D.6

9. i=1;sum=0;则while(i<=10&&sum<=100) sum=sum+i; i++;的循环次数为( )
A.10
B.100
C.101
D.死循环

10. 以下属于C语言合法命名的为( )
A._int
B.int
C.int-1
D.1int

11. 若已定义:int a[10]={0}, *p=a;则数组元素*(&a[2])的值是( )
A.0
B.1
C.2
D.2002

12. 设有以下定义:char num[]=”9876543210”;则数组num所占存储空间的字节数为( )
A.9
B.10
C.11
D.20

13. 若主函数中有以下定义和语句:void main ( ){ float score[10], aver; …… aver = average (score);}则错误的average函数头是( )
A.float average ( float *s)
B.float average ( float s[ ])
C.float average ( float s[0])
D.float average ( float *s[0])

14. 若有以下函数定义,函数返回值的类型是( )fun (double a){ return a*a; }
A.void
B.int
C.double
D.语法错误

15. 有函数swap,若要实现*p1、*p2所指向的存储单元的值互换,则函数体应写为( )void swap (int *p1, int *p2){ }
A. int *temp; *temp=*p1; *p1=*p2;*p2=*temp;
B. int *temp; *temp=p1; p1=p2; p2=*temp;
C. int temp; temp=*p1; *p1=*p2;*p2=temp;
D. int temp; temp=p1; p1=p2; p2=temp;
展开
 我来答
veket的小号
2013-10-18 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3922万
展开全部
简单的就不解释了
1、C 错 函数体就是 {} 包起来的部分 即执行部分
2、题目错误 B、D一样了 显然是.obj 和.exe
3、 D 无符号短整型数据 即 unsigned short int 简写为 unsigned short
4、 D
5、因为有 \r 所以 \r后的 f 会在a的位置输出 把a覆盖,开头是f
排除AD,\t相当于“打了一长串空格”把f后面的bc等 覆盖 所以 只能是C
6、i肯定加了1 所以是A
7、猜一下是D,C语法书上肯定出现过(仅适合turboc环境int占两字节情况)
8、C 知识点“条件表达式运算符 ? :”
9、 i++ 不属于while的循环体 ,循环体只有一句 sum=sum+i;
所以每次 sum都加1 (i一直保持为1 ,while的i<=10这半个条件一直为真 ,
循环是否继续取决于后半个条件sum<=100)
sum从0变到1
sum从1变到2
sum从2变到3
...
sum从99变到100
sum从100变到101
循环101次 选C
10、A
11、int a[10]={0},(整个数组所有元素值都为零) *p=a;则数组元素*(&a[2])
&a[2] 是a[2]的地址
*(a[2]的地址) 利用这个地址取值 取到0 选A
12、10+1 选C
13、C
14、C
15、temp 不该是指针 排除AB 要用指针 引用p1p2指向的数据 需要用* 排除D
选C
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
h0292058
2013-10-24 · 超过23用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:40.4万
展开全部
最讨厌这种自己一点脑筋都不动,让大家帮着做答案的行为。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式