试卷代号:1253 座位号■■ 中央广播电视大学2009-2010学年度第二学期“开放本科”期末考试 C语言程序设计A.试题 2010年7月 题号 一 二 三 四 五 总 分 分数 得分 评卷人 一、单选题(每小题2分,共20分) 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A.main B.MAIN C.name D.function 2.每个C语言程序文件的编译错误分为( )类。 A.1 B.2 C.3 D.4 3.字符串"a+b=12\n"的长度为( )。 A.6 B.7 C.8 D.9 4.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容 易被改写为( )语句。 A.for B.while C.do D.if 5.在下面的do一while循环语句中,其循环体语句被执行的次数为()。 int i=0;do i++;while(i<10); A.8 B.9 C.10 D.11 6.将两个字符串连接起来组成一个字符串时,选用的字符串函数为()。 A.strlen() B.strepy() C.strcat() D.stremp() 1361
试卷代号 座位号 中央广播电视大学 0 0 2010 度第 学期 放本 末考 计A 2010 年7 题号 总分 分数 得分|评卷人 一、单选题(每小题 2分,共 0分) 1.在每个 C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function )类。 B. 2 D. 4 2. 个C 错误分 A. 1 C. 3 3. 字符 )。 A. 6 B. 7 C. 8 II 9 4. 在switch 个case 定 都是 以break 易被改写为( )语句。 A. for C. do B. while II if 5. 在下 其循 体语 执行 次数 )。 int i=0; do while(i<10); A. 8 C. 10 B. 9 D. 11 6. 组成 字符 )。 A. strlen() C. strcat() B. strcpy() D. strcmp() 1361
7.若用数组名作为函数调用的实参,传递给形参的是()。 A.数组的首地址 B.数组中第一个元素的值 C.数组中全部元素的值 D.数组元素的个数 8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组 的首地址大( )个字节。 A.4 B.8 C.16 D.32 9.假定s被定义为指针类型char¥的变量,初始指向的字符串为"Hello world!",若要 使变量P指向s所指向的字符串,则p应定义为( )。 A.char米p=s; B.char p=&s; C.char p;p=*s; D.char p;p=&s; 10.从一个数据文件中读人以换行符结束的一行字符串的函数为()。 A.gets() B.fgets() C.getc() D.fgetc() 得 分 评卷人 二、填空题(每小题2分,共26分) 1.执行“printf("%c",'A'+2);”语句后得到的输出结果为 2.short int类型的长度为。 3.用类型关键字表示十进制常数3.26f的类型为 4.假定y=10,则表达式十+y*3的值为 5.逻辑表达式(x==0&&y>5)的相反表达式为 6.若x=5,y=10,则x!=y的逻辑值为 7.假定二维数组的定义为“inta[3][5];”,则该数组所占存储空间的字节数为。 8.使用“typedef char BB[10][50];”语句定义为含有10行50列的二维字符数组 类型。 9.字符串"a:\xxk\file.txt"的长度为。 10.假定p所指对象的值为25,p十1所指对象的值为46,则+十p的值为 1362
7. 传递 )。 A. 址B. c.数组中全部元素的值 .数组元素的个数 8. 定a 一个 数类 整数类 为4 素a[4] 地址 比a 数组 的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 定s 定义 指针 型char 始指 字符 为"Hello world!" ,若要 使变量 p指向 s所指向的字符串,则p应定义为 )。 A. char 铃p=s; C. char 祷p;p= 祷s; B. char 祷pz&55 D. char 祷p; p= &.s; 10. 个数 换行 )。 A. getsO C. getc() B. £getsO D. fgetc() 得分!评卷人 二、填空题(每小题 2 6 1.执行 tf ( ",立 "语句后得到的输出结果为 2. short int 度 为 3. 表示 数3. 26£ 型为 4. 定y=10 式++y头3 5. 辑表 式(x= =0 &.&. y>5) 表达 6. 若x=5 ,y=10 则x!=y 逻辑 7. 定 二 数组 为"int a[3][5];" 存储 BB -inu nu ?-J arA 'b vdped p·- AA-t 为含有 0行 0列的二维字符数组 类型。 9. 字符 串"a:\\xxk\\ file. txt" 10. 定p 为25 ,p 十I 指 对 为46 十p 1362
11.假定一个数据对象为int¥类型,则指向该对象的指针类型为 l2.假定一个结构类型的定义为“struct A{inta,b;A*c;};”,则该类型的理论长度为 13.假定要访问一个结构对象x中的数据成员a,则表示方式为一。 得 分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.include void main(){ int i,j,k=0; for(i=0;i void main(){ inta[8]={70,63,54,95,40,75,90,66}; int i,s=0; for(i=0;i=70&&.a[i]<=90)s+=a[i门; printf("s=%d\n",s); 1363
1. 假定一个数 对象为inH 则 指 该对象 12. 假定一个 为"struct A {int a , b; ;} 理论 长度 13. 假定要 象x 据成员a 表示方式 得分|评卷人 三、写出下列每个程序运行后的输出结果{每小题 1. :# include void mainO { int i,j ,k=O; forCi=O; i void mainO { int x=20; int i=2; whileCi void mainO { int a[8]={70,63 ,54 ,95 ,40 ,75 ,90 ,66 int i, s=O; forCi=O; i=70 &.&. a[i]<=90) 十=a[i]; printfC"s= %d\n" ,s); 1363
4.include<stdio.h int WF(int x,int y)( x=x十y; y+=x; return x+y; } void main(){ int x=3,y=5; printf("%d\n",WF(x,y)); 5.include<stdio.h int LA(int a,int n){ int i,s=0; for(i=0;i<n;i++)s+=ai]; return s; void main(){ inta[5]={1,2,3,4,5}; int b=LA(a,5)+LA(a+1,3); printf("b=%d\n",b); 得分 评卷人 四、写出下列每个函数的功能(每小题6分,共12分) 1.int SG(int x) /x为大于等于2的整数 int i=2; if(x==2 x==3)return 1; while(i=x){ if(x%i==0)break; i++; if(i*<=x)return 0;else return 1; } 函数功能: 1364
4. 拌include int WF(int x , int y) { x=x 十Y; return 十y; void mainO { int x=3 , y=5; printf(" %d\n" ,WF(x,y»; 5. :if include int LA(int 祷a int n) { int i,s=O; for Ci=O;i<n;i 十=a[i] ; return s; void mainO { int a[5]= {l ,2 ,3 ,4, 5}; int b=LA(a,5)+LA(a十1 ,3); printf("b= %d\n" ,b); 得分|评卷入 四、写出下列每个函数的功能{每小题 1. int SG(int x) { int i=2; IIx 大 于等于 if(x==2 II x==3) return 1; whileC 头i<=x) { if( x% i= =0) break; if (i = x) return 0; else return 1 ; 函数功能: 1364
2.int FindMax(struct IntNode *f) /f为一个单链表的表头指针 { int x; if(!f){printf("单链表为空\n"),exit(l);} x=f->data; f=f->next; while(f){ if(f->data>x)x=f->data; f=f->next; return x; } 假定struct IntNode的结点类型定义为: struct IntNode int data;struct IntNode next;); 函数功能: 得 分 评卷人 五、按照题目要求编写程序或函数(每小题6分,共12分) 1.编写一个主函数,计算1十3十32十..·十310的值并输出,假定分别用i,p,s作为循环变 量、累乘变量和累加变量的标识符。 2.根据函数原型“int FF(inta[],intn)”,编写函数定义,计算并返回数组a[n]中所有元 素之和。 1365
2. int FindMax(struct IntNode f) mt x; Ilf if(! f) {printf("单链 空\n ,exit (l x=f一>data; f=f一>next; while(f) { if( 一>data>x) x=f一>data; f=f一>next; return x; 假定 ru IntNode 定义 struct IntNode { int data; struct IntNode 祷next; }; 函数功能: 得分评卷人 五、按照题目要求编写程序或函数(每小题 1.编写一个主函数,计算 . . + 量、累乘变量和累加变量的标识符。 2. 原型 FF(int int n)" ,编写函数定义,计算并返回数组 所有 素之和。 1365
试卷代号:1253 中央广播电视大学2009一2010学年度第二学期“开放本科”期末考试 C语言程序设计A试题答案及评分标准 (供参考) 2010年7月 一、单选题(每小题2分,共20分) 1.A 2.B 3.B 4.D 5.C 6.C 7.A 8.C 9.A 10.B 二、填空题(每小题2分,共26分) 1.C 2.2 3.float 4.33 5.(x!=0||y<=5)或:(x1|y<=5) 6.1(真,true) 7.60 8.BB 9.15 10.46 11.int** 12.12 13.x.a 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准:根据答案正确程度酌情给分。 1.15 2.25 1366
试卷代号 中央广播电视大学 0 0 2010 末考 计A 评分 (供参考) 2010 年7 一、单选题(每小题 2分,共 0分) 1. A 6. C 2. B 7. A 3. B 8. C 4. D 9. A 5. C 10. B 二、填空题(每小题 2分,共 6分) 1. C 2. 2 3. float 4. 33 5. (x! =0 II y<=5) (x II y<=5) 6. l(真, true) 7. 60 8. BB 9. 15 10. 46 11. int 关 诀 12. 12 13. x.a 三、写出下列每个程序运行后的输出结果(每小题6分,共 0分) 评分标准:根据答案正确程度酌情给分。 L 15 2. 2 5 1366
3.s=235 4.21 5.b=24 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准:根据答案叙述的正确与完整程度酌情给分。 1.判断×是否为一个素数,若是则返回1,否则返回0。 2.求出并返回由f所指向的单链表中所有结点的最大值。 五、按照题目要求编写程序或函数(每小题6分,共12分)】 评分标准:按程序或函数编写的正确与完整程度酌情给分。 1.include<stdio.h void main() { int i; int p=1; 111分 int s=1; /12分 for(i=1;i<=10;i++){p*=3;s十=p;} /15分 printf("%d\n",s); /16分 } 2.int FF(int a],int n) int i,sum=0; //1分 for(i=0;i<n;i++)sum+=ali]; //4 return sum; /16分 1367
3. s=235 4. 21 5. b=24 四、写出下列每个函数的功能(每小题6分,共 2分) 评分标准:根据答案叙述的正确与完整程度酌情给分。 1.判断 一个 ,否则返回 2. 并返 单链 最大 五、按照题目要求编写程序或函数(每小题6分,共 2分) 评分标准:按程序或函数编写的正确与完整程度酌情给分。 1. # include void mainO mt 1; int p= 1; int s= 1; for (i=1;i<=10;i十 十 {p 祷=3; 十=p; } printf(" %d\n" ,s); 2. int FF(int int n) int i,sum=O; for(i=O; i<n; i+ sum+ =a[i]; return sum; //1 //2 //5 //6 //1 //4 //6 1367