试卷代号:1253 座位号■■ 中央广播电视大学2010一2011学年度第一学期“开放本科”期末考试 C语言程序设计A试题 2011年1月 题 号 二 三 四 五 总 分 分 数 得分 评卷人 一、单选题(每小题2分,共20分) 1.由C语言源程序文件编译而成的目标文件的默认扩展名为()。 A.cpp B.c C.exe D.obj 2.设x和y均为逻辑值,则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.假定有语句为“inta[4][5]={{1,3,5},{2,8};”,则a[1][1]的值为( )。 A.3 B.5 C.8 D.10 6.在下面的选项中,不能作为函数的返回值类型的是( A.void B.node C.int D.long 1369
试卷代号 5 3 座位号 中央广播电视大学 2011 学年度第一 放本科 , 程序 计A 2011 年1 题号 总分 分数 得分|评卷人 一、单选题{每小题 2分,共 0分) 1.由 序文 扩展 )。 A. cpp C. exe B. c D. obj 2. 逻辑 II 条件是 和y( )。 A. 真B. c. 为假 3. 值都是 )。 A. B. 浮点 c. 字符 4. 循环语句"fodi=Ofi 〈=nFi 十 十 s;" 环体 )。 A. 1 c. n B. n-1 D. n+1 5. 假定 句 为 a[4J[5J = {{l , 3, 5}, {2 ,8}};飞则 J [ J的值为( )。 A. 3 B. 5 c. 8 D. 10 6. 选项 )。 A. void c. int B. node D. long 1369
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.假定有语句“intb[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.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理 命令为 2.用于从键盘上为变量输人值的标准输人函数的函数名为 3.假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ad的值为 4.int类型的长度为。 5.执行“intx=45,y=8;printf("%d",x/y);”语句序列后得到的输出结果为 6.把表达式x=x十y转换成复合赋值表达式为 7.假定x的值为5,则执行“a=(x>=6?3:8);”语句后a的值为 8.假定一维字符指针数组的定义为“char*a[5];”,则该数组占用的存储空间的字节数 为 9.假定二维数组的定义为“double a[M][N];”,则数组元素的行下标取值范围在 之间。 10.空字符串的长度为 1370
7. 假定x 为5 ,y 为6 式x++ 一-y )。 A. 25 B. 30 C. 36 D. 42 8. 用calloc 有10 态存 确 调用 )。 A. calloc(lO ,sizeof(char)) C. calloc (lO ,sizeof(int)) B. calloc(lO) D. calloc(20 , sizeofCint)) 不正 )。 B. pb=b[5] D. pb= &'b[O] 9. b[10] , A. pb=b C. pb=b+2 10. 标准输 标识符 A. stderr C. stdout B. stdin D. stdio 得分|评卷人 二、填空题{每小题 1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理 命令为 2. 从键 上为 量输入 输入 名 为 3. 枚举类 为"enum RA{ab ,ad ,ae} 则ad 4. int 长度为 5. 行"int x= ,y=8;printf(" %d" "语句序列后得到的输出结果为 6. 式x=x十y 转换成复合 7. 假定x 为5 行"a=(x>=6? 3: 8) 后a 8. 假定一维 指针 为"char 势a[5] 数组 间 的 字节 9. 假定 二 数 组 定 义 为"double a [M] [N] 数组元 行 下 标 取值 之间。 10. 字符 1370
11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为 12.若p指向x,则与×的表示是等价的。 13.直接访问表达式(*fp).score所对应的间接访问表达式为 得 分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.include #define N6 void main() inti,a[N]={2,5,8,10,15,21}; for(i=0;i void main(){ int i; unsigned int len=0; char a5]={"student","worker","cadre","soldier","n123"); for(i=0;ilen)len=strlen(a[i]); printf("len=%d\n",len); 1371
1. 变量 有被初始化 对它 12. 若p 13. 直接 达式 祷fp). score 所对应的 间 表达式 得分 三、写出下列每个程序运行后的输出结果(每小题 1. # include void mainO { int i,s=O; for(i= 1; i # define N 6 void mainO int i, a[NJ = {2 , 5,8 , 10 , 15 , 2l} ; for(i=O; i; 3. # include # include void mainO { mt 1; unsigned int len= 0 ; char 正5〕={"student" ,"worker" ,"cadre" 飞oIdier" ,飞 for(i=O 川<5; if(strlen(a[i]»Ien) Ien=strlen(a[i]); printf( "len= % d\n" ,len) ; 1371
4.#includeb)return 1; else if(a==b)return 0; else return-1; } 函数功能: 1372
4. *F inc1ude void mainO int a ,b; for(a=2 ,b=3; a void LE(i , i 铃 b { lnt x= * a; =势 ;祷 void mainO { int x=15 , y=26; LE(&'x,&'y); printf(" %d %d\n" ,x,y)F 得分|评卷人 四、写出下列每个函数的功能(每小题 1. *F inc1ude int SA(int a , int b) { if(a>b) return 1; else i£(a= = b) return 0; else return -1; 函数功能: 1372
2.void Output(struct IntNode f) //f为单链表的表头指针 { if(!f)return; while(f){ printf("%d ",f->data); f=f->next; } printf("\n"); } 假定struct IntNode的类型定义为: struct IntNode (int data;struct IntNode next;}; 函数功能: 得 分 评卷人 五、按题目要求编写函数(每小题6分,共12分)》 l.编写一个函数,函数原型为“int fun4(char*ptr);”,请采用while循环求出由字符指 针ptr所指向的字符串中包含的小写英文字母的个数,并把这个值作为函数值返回。 2.编写一个主函数,计算并输出表达式1+22+32十..+102的值。 1373
2. void Output(struct IntNode Ilf 单链 头指 if(! f) return; while(f) { printf(" %d ", 一>data); f=f 一>next; printf( "\n"); 假定 IntNode 定义 struct IntNode {int data; struct IntNode 赞next; }; ··i 'qa , 五、按题目要求编写函数(每小题 6分,共 2分) 1.编写一个函数,函数原型为 fun4 (char 祷ptdF" 用while 环求 字符 r所指向的字符串中包含的小写英文字母的个数,并把这个值作为函数值返回。 2. 表达式1 十2 +32 +...十 1373
试卷代号:1253 中央广播电视大学2010一2011学年度第-学期“开放本科”期末考试 C语言程序设计A试题答案及评分标准 (供参考) 2011年1月 一、单选题(每小题2分,共20分) 1.D 2.C 3.A 4.D 5.C 6.B 7.A 8.C 9.B 10.B 二、填空题(每小题2分,共26分) 1.#include 2.scanf 3.2 4.4 5.5 6.x+=y .7.8 8.20 9.0~M-1 10.0 11.0 12.*p 13,fp->score 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准:根据答案正确程度酌情给分。 1.s=55 2.51015 1374
试卷代号 中央广播电视大学 2011 度第一 学期 期末考试 语言程序 计A 试题 及评 (供参考) 2011 年1 一、单选题(每小题 2分,共 0分} 1. D 6. B 2. C 7. A 3. A 8. C 4. D 9. B 5. C 10. B 二、填空题(每小题 2分,共 6分 1. # include 2. scanf 3. 2 4. 4 5. 5 6. 7. 8 8. 20 9. O~M-l 10. 0 11. 0 12. 13. fp s c 三、写出下列每个程序运行后的输出结果{每小题 6分,共 0分) 评分标准:根据答案正确程度酌情给分。 1. s=55 2. 5 10 15 1374
3.len=7 4.23581321 5.2615 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准:根据答案叙述的正确与完善程度酌情给分。 1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a='a&&*ptr<='z)n+十; /14分 ptr++; /15分 return n; /16分 2.include<stdio.h void main() { int i,s=0; /11分 for(i=1;i<=10;i++)s+=i*i; /14分 printf("s=%d\n",s); /6分 注:若s的初值为1,则循环变量i的初值应修改为2。 1375
3. len=7 4. 2 3 5 8 13 21 5. 26 15 四、写出下列每个函数的功能{每小题 6分,共 2分} 评分标准:根据答案叙述的正确与完善程度酌情给分。 1.比较两个整数 a和 b的大小,若 b则返回 1,若 b则返回 0,若 b则返回 2. 所指 五、按题目要求编写函数{每小题 6分,共 2分) 评分标准:根据编写函数的正确与完整程度酌情给分。 1. int fun4Cchar赞ptr) int n=O; whileC 铃ptr) { ifC 养ptr>='a' &&餐 t r n+ +; ptr return n; 2. # include void maine) int i, 8=0; for(i=l; i<=10; i++) 十=Mip print£( It S = %d\n" ,dp 注:若 s的初值为 ,则循环变量i的初值应修改为2。 //1 //2 //4 //5 //6 //1 //4 //6 1375