还剩3页未读,继续阅读
文本内容:
一、单选题(每小题2分,共20分)
1.C语言程序中的基本功能模块为()A.表达式B.标识符C.语句D.函数
2.逻辑表达式x0||y==5的相反表达式为()A.x=0||y!=5B.x=0y!=5C.x0||y!=5D.x0y==
53.循环体至少被执行一次的循环语句为()A.forB.whileC.do-whileD.任一种循环
4.假定n的值为5,则表达式n++的值为()A.6B.5C.4D.
75.假定一个二维数组的定义为“inta
[3]
[4]={{34}{286}};”,则元素a
[2]
[0]的值为()A.0B.2C.4D.
66.假定一个函数原型为“char*funcintn”,则该函数的返回类型为A.intB.int*C.charD.char*
7.假定a为一个字符数组名,则元素a[i]的指针访问方式为A.a+iB.*a+iC.a+iD.*a+i
8.假定有语句为“int*p=calloc10+20sizeofint;”,则p所指向的动态数组中所包含的元素个数为()A.10B.20C.30D.409.十进制数50表示成符合C语言规定的八进制数为________A.20B.32C.62D.
06210.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()A.r+B.ab+C.rb+D.wb+
二、填空题(每小题2分,共26分)
1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为__________
2.用于从键盘上为变量输入值的标准输入函数的函数名为________
3.假定一个枚举类型的定义为“enumRA{abacadae};”,则ac的值为________4.double类型的长度为________
5.执行“intx=45y=13;printf%dx/y;”语句序列后得到的输出结果为________
6.把表达式x=x+y转换成复合赋值表达式为__________
7.假定x的值为5,则执行“a=!x10:20;”语句后a的值为________
8.假定一维字符指针数组的定义为“char*a
[8];”,则该数组占用的存储空间的字节数为________
9.假定二维数组的定义为“doublea[M][N];”,则数组元素的行下标取值范围在_________之间
10.空字符串的长度为________
11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为________
12.若p指向x,则________与x的表示是等价的
13.直接访问表达式*fp.score所对应的间接访问表达式为____________
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1.#includestdio.hvoidmain{intijk=0;fori=0;i5;i++forj=i;j5;j++k++;;printf%d\nk;}
2.#includestdio.hvoidmain{intx=20;inti=2;whileix{ifx%i==0{printf%di;x/=i;}i++;}}
3.#includestdio.hvoidmain{inta
[8]={7663549540759066};intis=0;fori=0;i8;i++ifa[i]=70a[i]=90s+=a[i];printfs=%d\ns;}
4.#includestdio.hintWFintxinty{x=x+y;y+=x;returnx+y;}voidmain{intx=3y=8;printf%d\nWFxy;}
5.#includestdio.hintLAint*aintn{intis=0;fori=0;in;i++s+=a[i];returns;}voidmain{inta
[5]={12345};intb=LAa5+LAa+23;printfb=%d\nb;}
四、写出下列每个函数的功能(每小题6分,共12分)
1.intWCinta[]intnintk{intic=0;fori=0;in;i++ifa[i]=kc++;returnc;}函数功能
2.voidQAstructWorkera[]intn{inti;fori=0;in;i++scanf%s%d%fa[i].namea[i].agea[i].pay;}假定结构类型structWorker的定义如下structWorker{charname
[15];intage;floatpay;};函数功能
五、按题目要求编写函数(每小题6分,共12分)
1.根据函数原型“doubleMeandoublea[M][N]intmintn”,编写函数定义,要求返回二维数组a[m][n]中所有元素的平均值假定在计算过程中采用变量v存放累加值和最后的平均值
2.根据函数原型“intMMinta[]intm”,编写函数定义,计算并返回数组a[m]中元素最大值和最小值之差C语言程序设计A课程试卷答案及评分标准
(6)(供参考)
一、单选题(每小题2分,共20分)
1.D
2.B
3.C
4.B
5.A
6.D
7.B
8.C
9.D
10.C
二、填空题(每小题2分,共26分)
1.#include
2.scanf
3.
14.
85.
36.x+=y
7.
208.
329.0~M-
110.
011.
012.*p
13.fp-score
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)评分标准根据答案正确程度酌情给分
1.
152.
253.s=
2414.
305.b=27
四、写出下列每个函数的功能(每小题6分,共12分)评分标准根据答案叙述正确与完整程度酌情给分
1.统计并返回一维整型数组a[n]中大于等于k的值的个数
2.从键盘上为具有structWorker类型的数组a[n]输入n个记录
五、按题目要求编写函数(每小题6分,共12分)评分标准根据函数编写的正确与完整程度酌情给分
1.doubleMeandoublea[M][N]intmintn{intij;doublev=
0.0;//1分fori=0;im;i++forj=0;jn;j++v+=a[i][j];//4分v/=m*n;returnv;//6分}//注函数体的最后两行可以合并为一条返回语句returnv/=m*n
2.intMMinta[]intm{intix1x2;x1=x2=a
[0];//1分fori=1;im;i++{//2分ifa[i]x1x1=a[i];//3分ifa[i]x2x2=a[i];//4分}//5分returnx1-x2;//6分}。