试卷代号:1253 座位■■ 中央广播电视大学2010一2011学年度第二学期“开放本科”期末考试 C语言程序设计A试题 2011年7月 题号 二 三 四 五 总分 分数 得分 评卷人 一、单选题(每小题2分,共20分) 1.C语言程序中的基本功能模块为( )。 A.表达式 B.标识符 C.语句 D.函数 2.逻辑表达式(x>0|y==5)的相反表达式为()。 A.x0I|y!=5 D.x>0&&y==5 3.循环体至少被执行一次的循环语句为( )。 A.for B.while C.do-while D.任一种循环 4.假定n的值为5,则表达式n++的值为()。 A.6 B.5 C.4 D.7 5.假定一个二维数组的定义为“inta[3][4]={3,4},{2,8,6}};”,则元素a[2][0]的值 为()。 A.0 B.2 C.4 D.6 6.假定一个函数原型为“char*func(intn)”,则该函数的返回类型为()。 A.int B.int* C.char D.char 1372
试卷代号 5 3 座位号 I I 中央广播电视大学 1学年度第二学期"开放本科"期末考试 计A 2011 年7 |题号 - 分l 数I .. --1 I I 1_1___ J 得分|评卷入 一、单选题(每小题 2 0 1. 模块 )。 A. 表达式B. c. 2. 逻辑表达式(x>o II y= =5) )。 A. xO II y! =5 D. x>O &&. y==5 3. 被执 循环 )。 A. for B. while C. do-while D. 一种 4. 为5 )。 A. 6 B. 5 C. 4 D. 7 5. 二维 定 义 为"int a[3][4]={ {3,4} 2, 8, }号",则元素 J的值 为( )。 A. 0 B. 2 c. 4 D. 6 6. 数原 为"char 铃func(int n)" )。 1372 A. int c. char B. int D. char
7.假定a为一个字符数组名,则元素a[门的指针访问方式为()。 A.a+i B.*(a+i) C.&a+i D.*a十i 8.假定有语句为“int*p=calloc(l0十20,sizeof(int);”,则p所指向的动态数组中所包 含的元素个数为()。 A.10 B.20 C.30 D.40 9.十进制数50表示成符合C语言规定的八进制数为( )。 A.20 B.32 C.62 D.062 10.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信 息,则选用的打开方式字符串为()。 A."r十" B."ab+" C."rb+" D."wb+" 得 分 评卷人 二、填空题(每小题2分,共26分) 1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理 命令为 2.用于从键盘上为变量输入值的标准输人函数的函数名为 3.假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为 4.double类型的长度为。 5.执行“intx=45,y=13;printf("%d",x/y);”语句序列后得到的输出结果为 6.把表达式x=x十y转换成复合赋值表达式为 7.假定x的值为5,则执行“a=(!x)?10:20);”语句后a的值为 8.假定一维字符指针数组的定义为“char a[8];”,则该数组占用的存储空间的字节数 为 。 9.假定二维数组的定义为“double a[M][N];”,则数组元素的行下标取值范围在 之间。 1373
7. 定a 为 符数 素a[i] )。 A. a+i B. C &a+i 祷a+i 8. 为"int 铃p=calloc(10十20 sizeof(int» 则p 所包 含的元素个数为( )。 A. 10 c. 30 B. 20 D. 40 9. 表示 符合 规定 )。 A. 20 C. 62 B. 32 D. 062 10. 息,则选用的打开方式字符串为( )。 A. "r+" C. "rh 得分|评卷人 B. "ab+" D. "wb+" 二、填空题(每小题2分,共 6分) 1. 在一个C 序文 应使 命令为 2. 键盘 变量 3. 为"en山n RA{ah,ac ,ad ,ae} 则ac 4. double 5. 行"int x=45 , y= 13; printf(" %d" "语句序列后得到的输出结果为 6. 表达式x=x十y 换成复合 表达式 7. 假定x 为5 行"a = ( ( ! x)? 10: 20);" 后a 8. 指 针 为"char 头a[8] 9. 定 二 为"double a[M][N] 之间 1373
10.空字符串的长度为 11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为 12.若p指向x,则与×的表示是等价的。 l3.直接访问表达式(*fp).score所对应的间接访问表达式为 得 分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.include void main(){ inta[8]={76,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); 1374
10. 11~在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为 12. 若p 13. 叫p). score 的 间 得分|评卷人 三、写出下列每个程序运行后的输出结果(每小题 1. # include void main() { int i,j , k == 0 ; fore {i=O i+ for(j=i川 voidmain() { int x=20; int i=2; while(i voidmain() { int a[8]="{76 ,63 ,54 ,95 ,40 ,75 ,90 ,66}; int i, s=O; for(i=O 8川十十〉 if(a[i]>=70 && a[i]<=90) a[i]; printf("s= %d\n" ,s ) ; 1374
4.include int LA(int a,int n){ int i,s=0; for(i=0;i=k)c++; return c; 函数功能: 1375
int n) { 4. 5. # include int WF(int x , int y) { x=x 十y; Y+=X; return 十y; void main() { int x=3 , y=8; printf("%d\n" ,WF(x ,y»; # include int LA(int int i,s=O; for(i=O; i=k) return c; 函数功能: 1375
2.void QA(struct Worker a[],int n) int i; for(i=0;i<n;i++) scanf("%s%d%f",a[i门.name,&a[i门.age,&a[i门.pay); 假定结构类型struct Worker的定义如下: struct Worker char name[15];int age;float pay;); 函数功能: 得 分 评卷人 五、按题目要求编写函数(每小题6分,共12分) l.根据函数原型“double Mean(double a[M][N],intm,intn)”,编写函数定义,要求返 回二维数组a[m][n]中所有元素的平均值。假定在计算过程中采用变量v存放累加值和最后 的平均值。 2.根据函数原型“int MM(inta[],intm)”,编写函数定义,计算并返回数组a[m]中元素 最大值和最小值之差。 1376
2. void QA(struct Worker int n) lnt 1; for(i=O; i<n; i++) scanf(" %s %d %f" , a[i]. name , &a[i]. age , &a[i]. pay); 假定结构类型 Worker struct Worker { char name[15]川nt ag的float pay; }; 五、按题目要求编写函数(每小题 6分,共 2分} 1. 型"double Mean(double a[M][N] ,int m ,int n)" 定 义 求返 回二维数组 ]中所有元素的平均值。假定在计算过程中采用变量v存放累加值和最后 的平均值。 2. 根据 型"int MM(int ,int m)" 定义 组a[m] 最大值和最小值之差。 1376
试卷代号:1253 中央广播电视大学2010一2011学年度第二学期“开放本科”期末考试 C语言程序设计A 试题答案及评分标准 (供参考) 2011年7月 一、单选题(每小题2分,共20分) 1.D 2.B 3.C 4.B 5.A 6.D 7.B 8.C 9.D 10.C 二、填空题(每小题2分,共26分) 1.include 2.scanf 3.1 4.8 5.3 6.x+=y 7.20 8.32 9.0~M-1 10.0 11.0 12.*p 13.fp->score 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准:根据答案正确程度酌情给分。 1.15 2.25 3.s=241 1377
试卷代号 5 3 中央广播电视大学 1学年度第二学期"开放本科"期末考试 言程 计A 〈供参考〉 2011 年7 一、单选题(每小题 1. D 2. B 3. C 6. D 7. B . 8. C 二、填空题(每小题 1. # include 2. scanf 3. 1 4. 8 5. 3 6. 7. 20 8. 32 9. O-M-1 10. 0 11. 0 12. 13. fp 4. B 9. D 5. A 10. C 三、写出下列每个程序运行后的输出结果(每小题 评分标准:根据答案正确程度酌情给分。 1. 15 2. 2 5 3. 5=241 1377
4.30 5.b=27 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准:根据答案叙述正确与完整程度酌情给分。 1.统计并返回一维整型数组a[n]中大于等于k的值的个数。 2.从键盘上为具有struct Worker类型的数组a[n]输入n个记录。 五、按题目要求编写函数(每小题6分,共12分) 评分标准:根据函数编写的正确与完整程度酌情给分。 1.double Mean(double a[M]N],int m,int n) int i,j; double v=0.0; /1分 for(i=0;ix1)x1=a[i] /3分 if(a[i]<x2)x2=a[i门; /14分 } /15分 return x1-x2; /16分 1378
4. 30 5. b==27 评分标准:根据答案叙述正确与完整程度酌情给分。 1. 于k 2. 有struct Worker 组a[n] 入n 五、按题目要求编写函数(每小题 6分,共 2分) 评分标准:根据函数编写的正确与完整程度酌情给分。 1. double Mean(double a[M][N] ,int m ,int n) lnt 1,J ; double v==O. 0; £or(i==O; ix1) xl == a[i]; if(a[i]<x2) x2==a[i]; return xl - x2 ; //1 //2 //3 //4 //5 //6