2022年C语言程序设计A课程试卷doc资料 .pdf
C 语 言 程 序 设 计 A 课程 试 卷 ( 6)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 一、单选题(每小题2 分,共 20 分) 1. C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 2. 逻辑表达式 (x0 | y=5)的相反表达式为()。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 3. 循环体至少被执行一次的循环语句为()。 A. for B. while C. do-while D. 任一种循环 4. 假定 n 的值为 5,则表达式 n+的值为()。 A. 6 B. 5 C. 4 D. 7 5. 假定一个二维数组的定义为“ int a34=3,4,2,8,6;”,则元素a20的值为()。 A. 0 B. 2 C. 4 D. 6 6. 假定一个函数原型为“char* func(int n)”,则该函数的返回类型为( )。 A. int B. int* C. char D. char* 7. 假定 a 为一个字符数组名,则元素ai 的指针访问方式为 ( )。 A. a+i B. *(a+i) C. &a+i D. *a+i 8. 假定有语句为“ int *p=calloc(10+20,sizeof(int);”,则 p 所指向的动态数组中所包含的元素个数为()。 A. 10 B. 20 C. 30 D. 40 9十进制数 50 表示成符合 C语言规定的八进制数为 _。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - A. 20 B. 32 C. 62 D. 062 10. 若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。 A. r+ B. ab+ C. rb+ D. wb+ 二、填空题(每小题2 分,共 26 分) 1. 在一个 C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为 _。 2. 用于从键盘上为变量输入值的标准输入函数的函数名为_。 3. 假定一个枚举类型的定义为“ enum RAab,ac,ad,ae;”,则 ac 的值为_。 4double 类型的长度为 _。 5. 执行“ int x=45,y=13;printf(%d,x/y);”语句序列后得到的输出结果为_。 6. 把表达式 x=x+y 转换成复合赋值表达式为_ 。 7. 假定 x 的值为 5,则执行“ a=(!x? 10: 20);”语句后a 的值为 _。 8. 假定一维字符指针数组的定义为“ char* a8;”,则该数组占用的存储空间的字节数为 _。 9. 假定二维数组的定义为“double aMN;”,则数组元素的行下标取值范围在 _之间。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 10. 空字符串的长度为 _。 11. 在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为 _。 12. 若 p 指向 x,则_与 x 的表示是等价的。 13. 直接访问表达式 (*fp).score所对应的间接访问表达式为_ 。三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分) 1. #include void main() int i,j,k=0; for(i=0; i5; i+) for(j=i; j5; j+) k+; printf(%dn,k); 2. #include void main() int x=20; int i=2; while(ix) if(x%i=0) printf(%d ,i); x/=i; i+; 3. #include void main() int a8=76,63,54,95,40,75,90,66; int i, s=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - for(i=0; i=70 & ai=90) s+=ai; printf(s=%dn,s); 4. #include int WF(int x, int y) x=x+y; y+=x; return x+y; void main() int x=3, y=8; printf(%dn,WF(x,y); 5. #include int LA(int *a, int n) int i,s=0; for(i=0;in;i+) s+=ai; return s; void main() int a5=1,2,3,4,5; int b=LA(a,5)+LA(a+2,3); printf(b=%dn,b); 四、写出下列每个函数的功能(每小题6 分,共 12 分) 1. int WC(int a, int n, int k) int i, c=0; for(i=0;i=k) c+; return c; 函数功能:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 2. void QA(struct Worker a, int n) int i; for(i=0; iscore 三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)评分标准:根据答案正确程度酌情给分。 1. 15 2. 2 5 3. s=241 4. 30 5. b=27 四、写出下列每个函数的功能(每小题6 分,共 12 分)评分标准:根据答案叙述正确与完整程度酌情给分。 1. 统计并返回一维整型数组an 中大于等于 k 的值的个数。 2. 从键盘上为具有struct Worker类型的数组an 输入 n 个记录。五、按题目要求编写函数(每小题6 分,共 12 分)评分标准:根据函数编写的正确与完整程度酌情给分。 1. double Mean(double aMN,int m,int n) int i,j; double v=0.0; /1分 for(i=0; im; i+) for(j=0; jn; j+) v+=aij; /4分 v/=m*n; return v; /6分 /注:函数体的最后两行可以合并为一条返回语句:return v/=m*n 2. int MM(int a,int m) int i,x1,x2; x1=x2=a0; /1分 for(i=1; ix1) x1=ai; /3分 if(aix2) x2=ai; /4分 /5分 return x1-x2; /6分 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -