《2022年电大C语言程序设计课程期末复习 .pdf》由会员分享,可在线阅读,更多相关《2022年电大C语言程序设计课程期末复习 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 / 6 附件中央广播电视大学2008秋季C语言程序设计A课程试卷( 4)题 号一二三四五总 分得 分2009 年 1 月已考一、单选题(每小题2 分,共 20 分)1. 由 C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 2. 设有两条语句为“int a=12。 a+=a*a 。”,则执行结束后,a 的值为 ( )。 A. 12 B. 144 C. 156 D. 288 3. 带有随机函数调用的表达式rand()%20 的值在 ( )区间内。A. 1 19 B. 120 C.019 D. 020 4. for循环语句“for(i
2、=0。 in。 i+=2) S。”中循环体S 语句被执行的次数为()。A. (n+1)/2 B. n/2+1 C. n/2-1 D. n-1 5. 在下列的字符数组定义中,存在语法错误的是()。 A. char a20=abcdefg。 B. char a=x+y=55.。 C. char a15=1,2。 D. char a10=5。 6. 若有一个函数原型为“double *function()”,则它的返回值类型为()。A. 实数型 B. 实数指针型 C. 函数指针型 D. 数组型7. 在 C语言中,所有预处理命令都是以( )符号开头的。A. * B. # C. & D. 8. 假定整数
3、指针p 所指数据单元的值为30,p+1 所指数据单元的值为40,则执行 *p+后, p 所指数据单元的值为()。 A. 40 B. 30 C. 70 D. 10 9. 若要使 p 指向二维整型数组a1020,则 p 的类型为()。 A. int * B. int * C. int *20 D. int(*)20 10. 表示文件结束符的符号常量为() A. eof B. Eof C. EOF D. feof 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 6 页2 / 6 二、填空题(每小题2 分,共 26 分)1一个函数定义由_和函数
4、体两部分组成。2. 执行“ printf(%c,F-2)。”语句后得到的输出结果为_。 3int类型的长度为_。4. 表达式 (float)25/4的值为 _。5若 x=5,y=10 ,则 x=y 的逻辑值为 _。6. 作为语句标号使用的case 和 default只能用于 _语句的定义体中。7. 在程序中执行到_语句时,将结束所在函数的执行过程,返回到调用该函数的位置。8. 假定二维数组的定义为“char aMN。”,则该数组所含元素的个数为_。9. 存储字符 a 需要占用存储器的_个字节空间。10. 用于存储一个长度为n 的字符串的字符数组的长度至少为_。11. 假定 p 所指对象的值为2
5、5,p+1 所指对象的值为46,则执行表达式(*p)+ 后, p 所指对象的值为 _。 12. 假定 p 是一个指向整数对象的指针,则用_表示该整数对象。 13假定一个结构类型的定义为“struct Bint a5。 char* b。”,则该类型的理论长度为 _。三、写出下列每个程序运行后的输出结果(每小题6 分,共 30 分)1. #include void main() int i, s1=0, s2=0。 for(i=0。i10 。i+) if(i%2) s1+=i。 else s2+=i。 printf(%d %dn,s1,s2)。 2. #include const int M=20
6、。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 6 页3 / 6 void main() int i=2。 while(1) if(iM/2) break。 if(M%i=0) printf(%d ,i)。 i+。 printf(n)。 3. #include int a6=4,5,6,15,20,12。 void main() int i,s1,s2。 s1=s2=0。 for(i=0。 i6 。 i+) switch(ai%2) case 0: s2+=ai。break 。 case 1: s1+=ai。break 。 print
7、f(%d %dn,s1,s2)。 4. #include void main() int a33=3,5,7,9,11,13,6,8,20。 int i,*p=&a00。 for(i=0。i10) printf(%d ,*p)。 p+。 printf(n)。 5. #include 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 6 页4 / 6 #include struct Worker char name15。 int age。 float pay。 void main() struct Worker x。 char *t=lio
8、uting。 int d=38。 float f=400。 strcpy(x.name,t)。 x.age=d。 x.pay=f。 x.age+。 x.pay*=2。 printf(%s %d %6.2fn,x.name,x.age,x.pay)。 四、写出下列每个函数的功能(每小题6 分,共 12 分) 1. #include int SA(int a, int b) if(ab) return 1。else if(a=b) return 0。else return -1。 函数功能:2. void Output(struct IntNode *f) /f为单链表的表头指针 if(!f) r
9、eturn。 while(f) printf(%d ,f-data)。 f=f-next。 printf(n)。 假定 struct IntNode的类型定义为: struct IntNode int data。 struct IntNode* next。函数功能:五、按题目要求编写程序或函数(每小题6 分,共 12 分)6. 编写一个程序,计算1+3+32+.+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 6 页5 / 6 6. 根据函数原型“int F
10、F(int a, int n)”,编写函数定义,计算并返回数组an 中所有元素之和。中央广播电视大学2008 秋季C语言程序设计 A课程试卷答案及评分标准(4)(供参考)一、单选题(每小题2 分,共 20 分) 1. B 2. C 3. C 4.A 5. D 6. B 7. B 8. A 9. D 10. C 二、填空题(每小题2 分,共 26 分)1. 函数头 2. D 3.4 4. 6.25 5. 1 6. switch 或开关或分情况7.return 或返回 8. M*N 9. 1 10. n+1 11. 26 12. *p 13. 24 三、写出下列每个程序运行后的输出结果(每小题6
11、分,共 30 分)评分标准:根据答案正确程度酌情给分。1. 25 20 2. 2 4 5 10 3. 20 42 4. 11 13 20 5. liouting 39 800.00 四、写出下列每个函数的功能(每小题6 分,共 12 分)评分标准:根据答案叙述的正确与完善程度酌情给分。1. 比较两个整数a 和 b 的大小,若ab 则返回 1,若 a=b 则返回 0,若 ab 则返回 -1。2. 遍历并输出由f 所指向的单链表中每个结点的值。五、按题目要求编写程序或函数(每小题6 分,共 12 分)评分标准:按程序或函数编写的正确与完整程度酌情给分。1. #include void main() int i。 int p=1。 /1分精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 6 页6 / 6 int s=1。 /2分 for(i=1。i=10 。i+) p*=3。 s+=p 。 /5分 printf(%dn,s)。 /6分 2.int FF(int a, int n) int i,sum=0。 /1分for(i=0。 in 。 i+) sum+=ai。 /4分return sum。 /6分 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 6 页