C语言程序设计A课程试卷(3)
题 号 一 二 三 四 五 总 分 得 分 2009年7月考
一、单选题(每小题2分,共20分)
1. 由C语言源程序文件编译而成的目标文件的缺省扩展名为( )。 A. cpp B. c C. exe D. obj
2.设x和y均为逻辑值,则x || y为假的条件是( )。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假
3. 枚举类型中的每个枚举常量的值都是一个( )。
A. 整数 B. 浮点数 C. 字符 D. 记录
4. 循环语句“for(i=0; i<=n; i++) S;”中循环体S被执行的次数为( )。 A. 1 B. n-1 C. n D. n+1
5. 假定有定义为“int a[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为( )。 A. 3 B. 5 C. 2 D. 8
6. 在下面的选项中,不能作为函数的返回类型的是( )。 A. void B. int C. new D. long
7. 假定x的值为5,y的值为6,则表达式x++*--y的值为( )。 A. 25 B. 30 C. 36 D. 42
8. 用calloc函数创建具有10个整型元素的动态存储空间正确调用是( )。 A. calloc(10,sizeof(char)) B. calloc(10)
C. calloc(10,sizeof(int)) D. calloc(20, sizeof(int))
9. 假定有定义“int b[10], *pb;”,则不正确的赋值为( )。
A. pb=b B. pb=b[5] C. pb=b+2 D. pb=&b[0]
10. 标准输入设备的文件流标识符是( )。
A. stderr B. stdin C. stdout D. stdio
二、填空题(每小题2分,共26分)
1.执行“printf(\"%c\”语句后得到的输出结果为________。
1
2.short int类型的长度为________。
3. 用类型关键字表示十进制常数3.26f的类型为________。
4. 假定y=10,则表达式++y*3的值为________。
5. 逻辑表达式(x==0 && y>5)的相反表达式为________。
6.若x=5,y=10,则x!=y的逻辑值为________。
7. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为________。
8. 使用“typedef char BB[10][50];”语句定义________为含有10行50列的二维字符数组类型。
9. 字符串\"a:\\\\xxk\\\\数据\"的长度为________。
10.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为________。
11. 假定一个数据对象为int*类型,则指向该对象的指针类型为_______。
12.假定一个结构类型的定义为 “struct A{int a,b; A* c;};”,则该类型的长度为________。
13. 假定要访问一个结构对象x中的数据成员a,则表示方式为____________。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include printf(\"s=%d\\n\ } 2. #include int a[9]={36,25,48,24,55,40,18,66,20}; int i, b1, b2; 2 b1=b2=a[0]; for(i=1; i<9; i++) { if(a[i]>b1) b1=a[i]; if(a[i] 3. #include case 'A': case 'a': printf(\"WW \"); break; case 'B': case 'b': printf(\"GG \"); break; default: printf(\"BB \"); break; } } void main() { char a1='a',a2='B',a3='f'; SB(a1);SB(a2);SB(a3); printf(\"\\n\"); } 4. #include int i,x; int a[M]={10,15,22,37,46,58}; for(i=0; i 3 char name[15]; int age; float pay; }; void main() { struct Worker x={\"wanghua\ struct Worker y, *p; y=x; p=&x; printf(\"%d %7.2f\\n\ } 四、写出下列每个函数的功能(每小题6分,共12分) 1. int FH() { int x,y=0; scanf(\"%d\ while(x!=-1) { y+=x; scanf(\"%d\ return y; } 函数功能: 2. int FF(struct IntNode *f) //f为指向一个单链表的表头指针 { int n=0; if(!f) return 0; while(f) { n++; f=f->next; } return n; } 假定struct IntNode的类型定义为: struct IntNode { int data; struct IntNode* next; }; 函数功能: 五、按题目要求编写程序或函数(每小题6分,共12分) 1. 编写一个程序,利用while循环,计算并打印输出1111...的值,其中正整23n数n值由键盘输入。假定求和变量用sum表示,计数变量用i表示,sum、i和n均定义为 全局变量,sum和i的初值分别被赋予0和1。 4 2. 根据函数原型“void DD(int a[], int n, int MM)”编写函数定义,利用双重循环查找并打印输出数组a[n]中任何两个元素的值等于MM值的元素值。假定a[i]+a[j]等于MM,则输出格式为:(a[i],a[j])。 5 中央广播电视大学2008秋季 C语言程序设计A课程试卷答案及评分标准(3) (供参考) 一、单选题(每小题2分,共20分) 1. D 2. C 3. A 4. D 5. D 6. C 7. A 8. C 9. B 10. B 二、填空题(每小题2分,共26分) 1. C 2. 2 3. float 4. 33 5. (x!=0 || y<=5) 或:(x || y<=5) 6. 1 7. 60 8. BB 9. 11 10. 46 11. int** 19. 12 13. x.a 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准:根据答案正确程度酌情给分。 1. s=42 2. 66 18 3. WW GG BB 4. 58 46 37 22 15 10 5. 104 2370.00 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准:根据每题答案叙述的正确与完整程度酌情给分。 1. 求出从键盘上输入的一批整数的总和,以-1作为结束输入的标志。 2. 求出并返回由f所指向的单链表中所有结点的个数。 五、按题目要求编写程序或函数(每小题6分,共12分) 评分标准:根据编写程序或函数的正确与完整程度酌情给分。 1. #include double sum=0; //2分 void main() { scanf(\"%d\分 while(i<=n) sum+=(double)1/i++; //5分 printf(\"sum=%lf\\n\分 } 2. void DD(int a[], int n, int MM) { int i,j; //1分 for(i=0; i 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务