1、1042试卷代号:1253座位号国家开放大学(中央广播电视大学)2014年春季学期“开放本科”期末考试C 语言程序设计 A 试题2014年7月题号二三四五总 分分数评卷人得 分一、单选题(每小题2分,共20分)1.C 语言程序中的基本功能模块为( )。A. 函数 B. 标识符C. 语 句D. 表达式2. 逻辑表达式(x0Ily=5)的相反表达式为( )。A. x=0lly!=5B.x0|ly!=5 D. x0&y=53. 循环体至少被执行一次的循环语句为( )。A. for B. whileC. do-while D. 任一种循环4. 假 定n 的 值 为 6 , 则 表 达 式 + +n 的
2、值为( )。A.6 B. 5C. 4 D.75. 假定一个二维数组的定义为“int a34=(3,4,2,8,6;”,则元素 a10 的值为()。A. 8C. 4B. 2D.66. 假定一个函数原型为“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+8. 假定有语句为“int *p=calloc(20,sizeof(int);”,则 p 所指向的动态数组中所包含的元素个数为( )。A.10
3、 B. 40C. 20 D. 809. 十进制数50表示成符合C 语言规定的八进制数为( )。A. 20 B. 32C. 62 D. 06210. 若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为( )。1043A.r+C.rb+得 分评卷人B.ab+D.wb 十 二、填空题(每小题2分,共26分)11.C 语言中的每条简单语句以 作为结束符。12.C 程序中的所有预处理命令均以 字符开头。13. 当不需要函数返回任何值时,则应使用 保留字来定义函数类型。14. 十进制数25 表示成符合 C 语言规则的十六进制数为 15. 关系表达式 ab
4、的相反关系式为 16. 执行typedef int DataType;语句后, 与 int保留字具有相同作用。17. 假定一维数组的定义为“char*a8;”,则该数组所占用的存储空间的字节数为.18. 假定二维数组的定义为double aMN;,则所含元素的列下标的最大值为 19. 存储一个空字符申需要占用 个字节。20.strcpy 函数用于把一个字符串 到另一个字符数组空间中。21. 程序中的每个编译单位是一个 22. 假定 a 是一个一维数组,则 ai的指针访问方式为 23. 执行 int*p=malloc(sizeof(int)操作得到的一个动态分配的整型对象为 评卷人得 分三、写出
5、下列每个程序运行后的输出结果(每小题6分,共30分)24.#includevoid main()int n=4,y=0;while(n )y+=3;printf(y=%dn,y);输出结果:25.#includevoid main()int i,s=0;for(i=1;i15;i 十 + )if(i%4=0)s+=i;printf(s=%dn,s);输出结果:26.#includevoid main()char a=acdbfdkmdaceg;int i=0,k=0;while(ai)if(ai+=d)k+;printf(%dn,k);输出结果:1044127.#includevoid mai
6、n()int a8=4,8,12,16,20,24,28,32;int *p=a,s=0;dos+=*p;p+=3;while(pa+8);printf(s=%dn,s);输出结果:28.#includestruct Worker char name15;int age;double pay;void main()struct Worker a4=abc,20,2400,defa,50,3600,ghin,40,1800,jklt,36,2000;int i;double s=0;for(i=0;i4;i+)s+=ai.pay;printf(s=%5.0Lfn,s);输出结果:评卷人得 分四
7、、写出下列每个函数的功能(每小题6分,共12分)29.int SG(int x) /x 为大于等于2的整数int i=2;if(x=2|x=3)return 1;while(i*i=x)if(x%i=0)break;i+;if(i*inext;return c;函数功能:五、按题目要求编写函数(每小题6分,共12分)31. 补充完整下面的函数定义,要求返回二维数组amn 中所有元素的平均值。假定在计算过程中采用变量s 存放累加值,采用i 和j 作为扫描数组的循环变量。double Mean(double aN,int m,int n)inti,j;double s=0.0;/在下面添上合适的
8、for 双重循环语句return s/(m*n);32. 根据函数原型int MM(int a,int m),编写函数定义,计算并返回数组am 中所有元素的最大值的平方值,假定用变量 max 保存最大值。1046试卷代号:1253国家开放大学(中央广播电视大学)2014年春季学期“开放本科”期末考试C 语 言 程 序 设 计 A 试 题 答 案 及 评 分 标 准(供参考)2014年7月一、单选题(每小题2分,共20分)1.A 2.B 3.C 4.D 5.B6.D 7.B 8.C 9.D 10.C二、填空题(每小题2分,共26分)11.;(或分号)12.#(或井号)13. void14.0x1
9、915.a=b16. DataType17.3218.N- 119.120.拷贝(复制)21.程序文件 22.*(a+i)23.*p三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准:根据答案正确程度酌情给分。24.y=1225. s=241047104826.327. s=4828. s=9800四 、写出下列每个函数的功能(每小题6分,共12分)评分标准:根据答案叙述的正确与完整程度酌情给分。29. 判断x 是否为一个素数,若是则返回1,否则返回0。30. 求出并返回由 f 所指向的单链表中结点的个数。五、按题目要求编写函数(每小题6分,共12分)评分标准:根据函数编写的正确与完整程度酌情给分。31.for(i=0;im;i+)for(j=0;jn;j+)s+=aii;32.int MM(int a,int m)int i,max=a0;for(i=1;imax)max=ai;return max* max;/1分1/2分/6分/1分1/2分/4分/6分