C语言程序设计小抄A_第1页
C语言程序设计小抄A_第2页
C语言程序设计小抄A_第3页
C语言程序设计小抄A_第4页
C语言程序设计小抄A_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(2011.06.07)c语言程序设计a课程期末复习与考试要求(文本)王宇:怎样才能学好程序语言?现在各种程序语言都很多,什么c语言啊 ,c+啊java ,c#啊,各种语言都很多 我们要从什么开始学习,怎么才能学好这些语言呢?以及以后的那个就业需要的知识。希望老师以及高手给予帮助!?徐孝凯:要学好一门语言,它是学习计算机任何专业的基础要使用计算机,就必须学会计算机能够理解的语言,以便执行相应的程序或命令黄乐:徐老师,课件视频只有一可以正常播放,其它都没反应。徐孝凯:请咨询电大在线的网站!吴耀:c语言很难,我们得好好学习徐孝凯:回复:c语言对的,要学习和上机操作相结合.谢祚洲:我是新手,先来报到

2、徐孝凯:通过学习,很快会变为老手!殷自胜:这门课考试是以什么形式进行?机试?笔试?徐孝凯:笔试!往届试卷供参考中央广播电视大学c语言程序设计a课程试卷(2)题 号一二三四五总 分得 分2010.1.13底考 一、单选题(每小题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.

3、循环语句“for(i=0; i=6? 3: 8);”语句后a的值为_。 8. 假定一维字符指针数组的定义为“char* a5;”,则该数组占用的存储空间的字节数为_。 9. 假定二维数组的定义为“double amn;”,则数组元素的行下标取值范围在_之间。 10. 空字符串的长度为_。 11. 在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为_。 12. 若p指向x,则_与x的表示是等价的。 13. 直接访问表达式(*fp).score所对应的间接访问表达式为_。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main(

4、) int i,s=0; for(i=1;i6;i+) s+=i*i; printf(“s=%dn”,s); 2. #include #define n 6 void main() int i,an=2,5,8,10,15,21; for(i=0; in; i+) if(ai%5=0) printf(%d ,ai); printf(n); 3. #include #include void main() int i; unsigned int len=0; char* a5=student,worker,cadre,soldier,n123; for(i=0; ilen) len=strlen

5、(ai); printf(len=%dn,len); 4. #include void main() int a,b; for(a=2,b=3; a15;) printf(%d %d ,a,b); a=a+b; b=a+b; 5. #include void le(int* a, int* b) int x=*a; *a=*b; *b=x; void main() int x=15, y=26; le(&x,&y); printf(%d %dn,x,y); 四、写出下列每个函数的功能(每小题6分,共12分) 1. #include int sa(int a, int b) if(ab) ret

6、urn 1; else if(a=b) return 0; else return -1; 函数功能: 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分) 1. 编写一个函数,函数原型为“int fun4(char* ptr);

7、”,请采用while循环求出由字符指针ptr所指向的字符串中包含的小写英文字母的个数,并把这个值作为函数值返回。 2. 编写一个主函数,计算并输出表达式1+22+32+.+102的值。中央广播电视大学c语言程序设计a课程试卷答案及评分标准(2)(供参考)一、单选题(每小题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. 45. 5 6. x+=y 7. 8 8. 209. 0m-1 10. 0 11. 0 12. *p13. fp-sc

8、ore三、写出下列每个程序运行后的输出结果(每小题6分,共30分)评分标准:根据答案正确程度酌情给分。 1. s=55 2. 5 10 15 3. len=7 4. 2 3 5 8 13 21 5. 26 15四、写出下列每个函数的功能(每小题6分,共12分)评分标准:根据答案叙述的正确与完善程度酌情给分。 1. 比较两个整数a和b的大小,若ab则返回1,若a=b则返回0,若a=a & *ptr=z) n+; /4分 ptr+; /5分 return n; /6分 2. #include void main() int i, s=0; /1分 for(i=1; i=10; i+) s+=i*i

9、; /4分 printf(s=%dn,s); /6分 注:若s的初值为1,则循环变量i的初值应修改为2。课程学习资源: 文字主教材c语言程序设计任爱华主编中央广播电视大学出版社出版。 录象教材20讲 任爱华等主讲中央广播电视大学音像出版社出版,2011年秋使用。 ip网络课件16讲 徐孝凯主讲电大在线的该课程网站点播。 复习资料c语言程序设计期末复习指导中央电大教育杂志社出版发行。 平时考核c语言程序设计形成性考核册 中央电大教育杂志社出版发行。 网上辅导 在电大在线c语言程序设计课程教学网页上发表。命题原则:(1)在教学大纲和考核说明所规定的知识范围内命题。(2)试题的取材要求覆盖面广、区分

10、度高。(3)试题兼顾各个能力层次,了解和理解约占40%,应用约占60%。(4)试题的难易程度和题量适当,按难易程度分为四个层次:容易占20%,较易占40%,较难占30%,难占10%。题量安排以平时能够独立完成作业者,能在规定的考试时间内做完并有一定时间检查为原则。试题题型: 选择:根据题意,从四种可选择的答案中选择合适的一种答案。 填空:根据题意,在画有横线或空白括号内填写合适内容。 写出程序运行结果:根据所给的c语言程序,写出运行后的输出结果。 指出程序或函数功能:根据所给的c语言程序或函数,指出运行程序或进行函数调用时所能实现的功能。 编写程序或函数:根据所给出的题目要求,编写出相应的程序

11、或函数模块。考核形式: 本课程考核采用终结性考试与形成性考核相结合的方式。形成性考核分为两种,一种视形成性考核册作业完成情况和所规定的上机实验完成情况而定,占总成绩的20%;另一种为省级电大统一命题和组织的期末上机考核,占总成绩的10%,要求完成一个带有多个程序文件的程序项目的编写(或修改)并上机运行通过,上机考核时限为60分钟。形成性考核成绩由省级电大考核和确认。终结性考试采用书面和闭卷方式,考试成绩占总成绩的70%,由中央电大统一命题和考试时间,答卷时限为90分钟。总成绩满分为100分,合成成绩达到60及以上分数者可获得该课程规定的4学分,否则不获得该课程学分。部分单选题练习: 1在每个c

12、语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 amain bmain cname dfunction 2每个c语言程序文件的编译错误分为( )类。 a1 b2 c3 d4 3字符串a+b=12n的长度为( )。 a6 b7 c8 d9 4在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( )语句。 afor bwhile cdo dif 5在下面的do-while循环语句中,其循环体语句被执行的次数为( )。 int i=0; do i+; while(i10); a8 b9 c10 d11 6将两个字符串连接起来组成一个字

13、符串时,选用的字符串函数为( )。 astrlen() bstrcpy() cstrcat() dstrcmp() 7若用数组名作为函数调用的实参,传递给形参的是( )。 a数组的首地址 b数组中第一个元素的值 c数组中全部元素的值 d数组元素的个数 8假定a为一个整数类型的数组名,整数类型的长度为4,则元素a4的地址比a数组的首地址大( )个字节。 a4 b8 c16 d32 9假定s被定义为指针类型char *的变量,初始指向的字符串为hello world!,若要使变量p指向s所指向的字符串,则p应定义为( )。 achar *p=s; bchar *p=&s; cchar *p;p=*

14、s; dchar *p; p=&s; 10从一个数据文件中读入以换行符结束的一行字符串的函数为( )。 11由c语言源程序文件编译而成的目标文件的默认扩展名为( )。 acpp bc cexe dobj 12设x和y均为逻辑值,则x | y为假的条件是x和y( )。 a均为真 b其中一个为真 c均为假 d其中一个为假 13枚举类型中的每个枚举常量的值都是一个( )。 a整数 b浮点数 c字符 d记录 14循环语句“for(i=0; i=6? 3: 8);”语句后a的值为_。 8假定一维字符指针数组的定义为“char* a5;”,则该数组占用的存储空间的字节数为_。 9假定二维数组的定义为“do

15、uble amn;”,则数组元素的行下标取值范围在_之间。 10空字符串的长度为_。 11在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为_。 12若p指向x,则_与x的表示是等价的。 13直接访问表达式(*fp).score所对应的间接访问表达式为_。 14用于输出表达式值的标准输出函数的函数名是_。 15每个c语言程序文件在编译时可能出现有致命性错误,其对应的标识符为_。 16已知az的ascii码为6590,当执行“int x=c+3;”语句后x的值为_。 17表达式(int)14.6的值为_。 18假定不允许使用逻辑非操作符,则关系表达式x+y5的相反表达式为_。

16、 19假定x=5,则执行“a=(x?10:20);”语句后a的值为_。 20假定一维数组的定义为“char* am;”,则该数组所占存储空间的字节数为_。 21存储字符串a需要至少占用存储空间中的_个字节。 22strlen()函数用于计算一个字符串的_。 23在c语言中,一个函数定义由函数头和_这两个部分组成。 24假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式*(p+)后,p所指对象的值为_。 25假定p是一个变量,则用_表示该变量的地址。 26把间接访问表达式p-name改写成对应的直接访问表达式为_。写出程序运行结果练习: 1#include void main()

17、int n=6, y=1; while(n-) y+=3; printf(y=%dn,y); 2#include void main() int i,s=0; for(i=1;i8;i+) if(i%2=0 | i%3=0) s+=i; printf(s=%dn,s); 3#include void main() char a=abcdbfkgamd; int i1=0, i2=0, i=0; while(ai) if(aie) i1+; else i2+; i+; printf(%d %dn,i1,i2); 4#include void main() int a8=4,8,12,16,20,

18、24,28,32; int *p=a; do printf(%d ,*p); p+=3; while(pa+8); printf(n); 5#include struct worker char name15; int age; double pay; void main() struct worker a4=abc,20,2420,defa,50,3638, ghin,40,2560,jklt,36,2375; int i, s=0; for(i=0; i4; i+) s+=ai.age; printf(s=%5.2lfn,(double)s/4); 6#include void main(

19、) int i,j,k=0; for(i=0; i5; i+) for(j=i; j5; j+) k+; printf(%dn,k); 7#include void main() int x=20; int i=2; while(ix) if(x%i=0) printf(%d ,i); x/=i; i+; 8#include void main() int a8=76,63,54,95,40,75,90,66; int i, s=0; for(i=0; i=70 & ai=90) s+=ai; printf(s=%dn,s); 9#include int wf(int x, int y) x=

20、x+y; y+=x; return x+y; void main() int x=3, y=8; printf(%dn,wf(x,y); 10#include int la(int *a, int n) int i,s=0; for(i=0;i=0时,其绝对值不变,而x0时其绝对值是为x的反号,因此程序段为:if(x=0时,方程有两个实根,否则(b2-4ac0)有两个共轭复根。其程序段如下: main() int a,b,c,d,x,y; printf(lease put the number of a,b&c from the quadratic equation of one variab

21、le one by onen); scanf(%d%d%d,&a,&b,&c); d=b*b-4*a*c; if(d0) printf(no root!wrong!n); else y=-b-sqrt(d)/2*a; x=-b+sqrt(d)/2*a; printf(the 1st equation root=%dnthe 2nd equation root=%d,y,x); if嵌套分支语句:其语句格式为: if(条件1) 分支1 else if(条件2) 分支2 else if(条件3) 分支3 else if(条件n) 分支n else 分支n+1 for嵌套,其语句格式为: for(初

22、值a;范围a;步长a) for(初值b;范围b;步长b) 循环体 for嵌套例子:九九乘法表 main() int a,b,c; for(a=1;a=9;a+) for(b=1;b=a;b+) c=b*a; printf(%dx%d=%d ,b,a,c); printf(n); 嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句。 switch开关语句:该语句也是多分支选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与常量表达式相匹配的那一路,它不同ifelse语句,它的所有分

23、支都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2分支,第3分支的块,直到遇到break语句;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。 “?”语句 问号语句也是分支的一种,格式类似(ab)? 语句1:(此处是冒号)语句2;加入括号内为真则执行语句1否则执行语句2 (3)循环结构: 循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,c语言中提供四种循环,即goto循环、while循环、do while循环和for循环。四种循环可

24、以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、dowhile、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。 在学完这三个循环后,应明确它们的

25、异同点:用while和dowhile循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式,后执行循环体,而dowhile循环是先执行循环体后判断表达式,也就是说dowhile的循环体最少被执行一次,而while循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和 continue语句进行控制的。 顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其

26、实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将c程序设计成模块化结构。 (4)模块化程序结构 c语言的模块化程序结构用函数来实现,即将复杂的c程序分为若干模块,每个模块都编写成一个c函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的c程序编写,因此常说:c程序=主函数+子函数。 因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。徐孝凯:内容太长,要简练。李新: c语言和反汇编

27、可以破解注册软件吗?徐孝凯:可以研究。赵明:老师,您好!c语言除了理解基础知识外,还能通过什么方式提高?徐孝凯:通过上机操作能够巩固和提高学习内容!宋兴国:可以练习一些精典的例子,理解常用的三种结构。章烈龙:主要是多练习。多写程序方萍:c语言要不要写什么实验报告?有的话,实验报告有那些?怎么写法?徐孝凯:主要是给出程序清单和运行结果!张徽:看的好吃力,有没什么好的方法?徐孝凯:好的办法就是反复学习。徐孝凯:c语言应该是实际操作与学习知识的结合徐孝凯:对的!盛宇阳: c语言的编写有无新手容易出现的错误?徐孝凯:大大地有,自己编写程序上机运行就会暴露出来。张小波:c语言特性(为何学习c语言)(1)

28、c语言是最通用和流行的一种计算机高级程序设计语言。(2)c语言是目前高校普遍开设的适应于计算机程序设计入门的语言。(3)c语言具有丰富的语法规则,使用它能够很方便地编写出结构化和模块化的程序。(4)学习c语言之后,能够为以后学习c+、java等面向对象的程序设计语言奠定坚实的基础。(5)c语言上机环境方便,在各种c和c+集成开发环境中都可以上机输入、调试和运行c语言程序。本课程以微软(microsoft)公司开发的、与windows操作系统完全兼容的visual c+6.0集成开发工具为上机操作环境,介绍c语言知识和上机操作过程。徐孝凯:善于总结学习内容,很好。张小波:c语言字符集:大、小写英

29、文字母(52个)、十进制数字符号(10个)、标点符号、单字符运算符号、特殊用途的符号、在字符串中可以使用任何字符。徐孝凯:对的!张小波:甘肃电大对c语言程序设计a课程的形成性考核提出如下要求:课程的形成性考核包括平时作业、期中测验、网上学习、课程实验和期末上机考核五部分,共占课程总成绩的30%。1平时作业: 以中央电大印发的课程形成性考核册为依据,要求学员独立完成形成性考核作业,由辅导教师负责批阅并给出评语和成绩; 2期中测试: 是学习的阶段性考核,由试点分校具体组织实施。测验的方式、时间,试题的命制、批阅等均由试点分校参照省校有关考务工作的文件精神执行。 注:平时作业和期中测验成绩按百分制给出,占课程总成绩的8%。3网上学习: 要求学生必须在本学期参与分校组织的本课程网上实时教学活动2次;在本课程的课程讨论区发布有效帖5条;浏览本课程网上的教学资源不少于10小时。网上学习成绩应按百分制给出,占课程总成绩的6%。 4课程实验: 完成规定的课程实验、写出实验报告并由实验指导教师批阅。成绩按百分制给出,占课程总成绩的6%。5期末上机考核: 完成一个指定题目的程序开发和调试,省校统一命题,期末统一安排考试,考试时间为60分钟。成绩按百分制给出,占课程总成绩的10%。徐孝凯:很好!刘刚:程序运行结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论