您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页中央电大C语言3

中央电大C语言3

来源:尚佳旅游分享网
中央广播电视大学2008秋季

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 void main() { int i, s=0; for(i=1;;i++) { if(s>30) break; if(i%2==0) s+=i; }

printf(\"s=%d\\n\ }

2. #include void main() {

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]printf(\"%d %d\\n\ }

3. #include void SB(char ch) { switch(ch) {

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 #define M 6 void main() {

int i,x;

int a[M]={10,15,22,37,46,58};

for(i=0; i5. #include struct Worker {

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循环,计算并打印输出1111...的值,其中正整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 //1分 int n,i=1;

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; i6

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务