第一篇:KM教学理论下C程序设计课程改革论文
摘要:21世纪是信息化大发展的时代,任何一个领域和行业都离不开计算机信息技术的帮助,在市场竞争日渐激烈的今天,已然发展成为人才的竞争,因此随着KM教育理论的问世,为计算机课程教学提供了新的改革思路。文章以“C#程序设计”课程为例,探讨在KM教学理论的指导下,其改革方法,以期克服以往“C#程序设计”课程存在的不足之处,引起学生学习的兴趣,提高学生的编程能力,改善教学效果。
关键词:KM教学理论;C#程序设计;课程改革方法
自从第三次工业革命结束后,计算机开始逐渐出现在人们的生产生活中,提高了工作效率,为国家和社会创造了大量的财富,促进了国家经济的发展,社会的进步以及为国家的安全提供了一个坚实的堡垒。C语言程序设计是计算机技术中一个重要的分支,它既具有高级语言的特点,又具有汇编语言的特点。自1972年,C语言被D.M.Ritchie发明后,由于其强大的数据处理能力就被广泛应用在各个行业和领域中[1]。随着社会的发展,对C语言人才的需求越来越大,因此各大高校纷纷把“C#程序设计”课程加入到学校教学中,希望学生能掌握一门生存技能,在将来的就业竞争中占据优势,但是由于C语言程序设计涉及的内容众多,且难度较大,学生掌握起来很困难,再加上受中国传统应试教育的影响,在课程安排,教学内容,讲课模式上都使得学生对C语言的学习缺乏兴趣,甚至在对C语言课程产生畏惧感,以致完全无法达到教学目的和教学效果。因此急需对“C#程序设计”课程进行改革。而随着KM理论的兴起,为其课程改革提供新的改革思路。KM教学理论是将知识的逻辑结构和思维导图相结合的一种教学理论,其中K是指“知识逻辑结构”(KnowledgeLogicStructure),M是指“思维导图”(MindMap)[2]。KM教学理论的宗旨是在教师的帮助下,以学生为主体,发挥教师“传道受业解惑”的本职,让学生快速掌握知识,提升其创新能力,从而提高教学质量。本文针对传统C语言教学课程中存在的问题,探讨在KM教学理论的指导下,“C#程序设计”课程的改革方法,以期引起学生学习的兴趣,提高学生的编程能力,改善教学效果。
一传统“C#程序设计”课程存在的不足
受我国传统教学思想、教学观念和教学方法的影响,“C#程序设计”课程的教学效果并不理想,许多学生缺乏学习兴趣。
(一)教学重点错误
中国自古以来奉行科举考试制度,发展到现在形成了中国的应试教育模式。受这种传统教育模式的影响,我国的教育重点放在了学科知识的学习上,“C#程序设计”课程也不例外。因此教师在教授C语言时,也是按照一般教学流程来教授,课堂讲授、布置作业及实验,最后把学生期末考试成绩看作评判学生能力的标准[3]。这种把理论知识学习当作学习重点,从而忽略学生实践操作能力的做法,使得大部分教师的教学模式存在问题。教师习惯以自我为中心,站在讲台上口若悬河的讲解对学生难以理解的C语言知识,忽视学生的主体性,让学生的学习始终处于被动状态,师生之间缺少互动,无法发挥学生的主观能动性,削减了学生的学习兴趣。而且更严重的是学生“高分低能”的情况,学生对C语言的学习只停留在知识点学习以及问题的解答上,无法把学到的知识运用到实际操作上,使得学生一旦踏入职业生涯就会发现自己几年来辛苦的学习无法满足自己的工作需求,帮助自己实现人生价值,会带来极大的心理落差,影响自己的心理健康。
(二)教材选用不当
一场教学活动包括教师、学生、以及教学内容,而教学内容主要是通过教材获得的,可以说教材是学生获得知识的主要途径。教材中的内容是教学重点的直接反应,在C语言教材中,如果理论多于实践,那么相对的,教师也会把教学重点放在理论知识的介绍上,反之则会重点关注学生的实践应用能力[4]。受中国传统教学模式的影响,学校及教师历来重视理论知识的传授,且理论知识还不能顺应时事的发展,落后于时代的发展需求,最终影响到学生能力和兴趣的培养。
(三)教学方式落后
随着我国人口数量的持续增长,每年进入学校的学生人数必然有所增长,造成一个班级人数过多,且课堂教学学时有限,为完成学习进度,使得老师无暇关注每个学生的学习情况。此外,无论是什么样的课程,大多数教师的教学方式都是在讲台上讲解,不管这科是否需要学生更多实践,学生在考试制度的影响下,也习惯了重点关注理论知识的学习,因此无论老师在强调什么,学生把注意力都集中在记笔记上面,认为这些理论知识是考试的重点内容。长此以往下去,学生的C语言实际编写能力自然不会提高,理论知识也会毫无用武之地。
二“C#程序设计”课程的改革方法
(一)正确认识教学重点
针对教学重点错误的问题,首先我们要做的是明确教学重点,但在此之前,我们要先确定一个“C#程序设计”课程教学目标,即通过该课程的教学,使学生掌握C#程序设计的一些基本概念和语法规则,程序设计的一般方法,过程化程序设计与面向对象程序设计方法,进一步培养学生的软件开发能力[5]。在这个大的教学目标指挥下,学习模块众多,内容复杂的C语言设计必须找准它的要点和关键点,然后围绕重点内容进行扩充和丰容,最后再把理论知识应用到实践中去,突出实用性。
(二)正确选用教材
针对教材选用不当的问题,我们在明确教学重点的基础上,选用符合C语言特点的教材,且对教学内容进行合理科学的安排。对C语言程序设计感兴趣的学生,教师在帮助学生掌握C语言基础知识的基础上,更多的应该是鼓励他们尝试进行程序设计。“授人以鱼不如授人以渔”,因此在C语言程序设计教材的选择上,要选择内容更偏向实践与理论相结合的教材,这样有利于加强素质教育,从而提高教学质量。此外在C语言教材内容的讲解上,教师可以根据教材内容创设一个情景案例,在解析C语言程序设计案例的同时,把理论知识自然而然的融入其中,让C语言设计的相关知识通过一个案例都串联起来,在学生脑海中形成一个大的理论框架,方便学生在编写程序时,更灵活的运用。最后教师还要向学生推荐适当的参考资料和文献,作为教材的有益补充。让教材为教学服务,最大程度地提高学生的理论水平和实践能力。
(三)改变教学方式
针对教学方式落后的问题,我们首先要做的是转变教师传统的思想观念,把学生作为教学的主体。在C语言程序设计课堂上教师可以多进行一些以学生为主体的活动,给学生思考问题、提出问题、讨论问题的时间,鼓励学生自己尝试用C语言设计程序,充分调动学生的主观能动性。例如以小组的形式设计一个程序,小组成员之间相互交流自己的设计想法,让每个学生充分发挥想象力,表达自己的观点,老师在旁进行辅助,解决学生在程序设计中出现的实在难以解决的问题,例如比较难的数组、指针、继承、多态性等问题[6]。这种以学生为主体的教学方法,不仅可以帮助学生很好的掌握C语言程序设计的理论知识,还能有效锻炼学生的实践操作能力。
三结语
综上所述,在现代飞速发展的社会,计算机技术在人们的工作、学习、生活中发挥了极大的作用。而作为其中一个重要的分支——C语言程序设计在许多领域得到应用,但由于受中国传统教育模式的影响,以及C语言本身特点的影响,使得在“C#程序设计”课程的安排设置上存在很多问题,导致大部分学生对其学习缺乏兴趣。因此在KM教育理论的指导下,改革课程设置,具体方法有要正确认识教学重点,要正确选用教材,要改变教学方式,以期提高学生的编程能力和应用能力。此外,教师在今后的教学工作中,还要继续关注课程的发展方向和趋势,选择适当教材,更新知识体系和教学手段,使学生适应编程的实际需要。
参考文献
[1]周颖,李葆萍,马超,等.基于KM教学法的知识图开发、教学及评估研究——以《C语言》为例[J].中国电化教育,2016,14(8):87-92.[2]程钢,杨杰,吴志强,等.SAKAI平台下程序设计与开发课程混合式学习的研究与应用——以测绘工程“C语言程序设计”为例[J].测绘通报,2016,19(9):133-136.[3]蒋宁.基于混合式教学的计算机“C#程序设计”课程教学改革研究[J].职教通讯,2016,35(3):11-15.[4]秦桂英,朱葛俊,朱利华.翻转课堂教学模式在高职C#程序设计课程教学中的实践研究[J].常州信息职业技术学院学报,2015,14(1):36-40.[5]曹晓丽,邢玉娟,贺元香,等.多元交叉教学模式下《C语言程序设计》课程教学改革与探讨[J].兰州文理学院学报(自然科学版),2015,29(3):106-111.[6]马海峰,秦桂英.基于MOOCs的混合教学模式在高职C#程序设计课程教学实践研究[J].常州信息职业技术学院学报,2016,15(1):50-53.
第二篇:C程序设计课程作业
(4分)C语言是解释性语言
纠错
得分: 0
知识点: C语言概述
收起解析
答案 错误
解析 C语言程序设计/C语言概述
(4分)C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量
纠错
得分: 0
知识点: 文件
收起解析
答案 正确
解析 C语言程序设计/文件
(4分)下面是对s的初始化,其中不正确的是() A.char s[5]={'abc'} B.char s[5]={'a','b','c'} C.char s[5]=''
D.char s[5]='abcde'
纠错
得分: 0
知识点: 数组
收起解析
答案 D
解析 C语言程序设计/数组/字符数组初始化
(4分)函数ftell的作用是() A.取得当前文件指针的位置,该位置为相对于文件开头的位移量表示
B.取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示
C.出错时返回值为0 D.以上叙述都不正确
纠错 得分: 0
知识点: 文件
收起解析
答案 A
解析 C语言程序设计/文件/文件的定位
(4分)表达式a A.&,<,|| B.&,||,< C.<,||,& D.<,&,||
纠错
得分: 0
知识点: 位运算
收起解析
答案 D
解析 C语言程序设计/位运算/位运算符优先级
(4分)若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是() A.scanf('%d%lx,%le',&x,&y,&z)B.scanf('%2d*%d%lf',&x,&y,&z)C.scanf('%x%*d%o',&x,&y)
D.scanf('%x%o%6.2f',&x,&y,&z)
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/整型和实型数据的格式输入
(4分)写出下面程序的输出结果()main(){int x;x=-3+4*5-6;printf('%d',x);x=3+4%5-6;printf('%d',x);x=-3*4%6/5;printf('%d',x);x=(7+6)%5/2;printf('%d',x);} A.11 1 0 1 B.11-3 2 1 C.12-3 2 1 D.11 1 2 1
纠错
得分: 0
知识点: 顺序程序设计
收起解析 答案 A
解析 C语言程序设计/顺序程序设计/整型变量的输出格式综合(4分)C语言中while和do while循环的主要区别是() A.do-while的循环至少无条件执行一次
B.while循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转入到循环体内
D.do-while的循环体不能是复合语句
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 A
解析 C语言程序设计/循环程序设计/while语句与do-while语句
(4分)C语言规定,函数返回值的类型是由()所决定。
A.return语句中的表达式类型
B.调用该函数时的主调函数类型
C.调用该函数是系统临时指定
D.在定义该函数时所指定的函数类型
纠错
得分: 0
知识点: 函数
收起解析
答案 D
解析 C语言程序设计/函数/函数返回值
(4分)下面程序的输出是()main(){enum team {my, your=4,his,her=his+10};printf('%d%d%d%d ',my,your,his,her);} A.0 1 2 3 B.0 4 0 10 C.0 4 5 15 D.l 4 5 15
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/枚举类型(4分)已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是() A.k=*p1+*p2 B.p2=k C.p1=p2
D.k=*p1*(*p2)
纠错
得分: 0
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/指针变量的定义
2.(4分)以下程序的运行结果为()#include main(){struct date{int year,month,day;}today;printf('%d ',sizeof(struct date));} A.6 B.8 C.10 D.12
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 A
解析 C语言程序设计/结构体与共同体/结构体变量初始化
(4分)若有定义:int(*p)[4];则标识符p() A.是一个指向整型变量的指针
B.是一个指针数组名
C.是一个指针,它指向一个含有四个整型元素的一维数组
D.定义不合法
纠错
得分: 0
知识点: 指针
收起解析
答案 C
解析 C语言程序设计/指针/指针数组
(4分)若使用一位数组名作为函数实参,则以下正确的说法是() A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致 纠错
得分: 0
知识点: 函数
收起解析
答案 C
解析 C语言程序设计/函数/数组作为函数参数
(4分)设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf('%d',s);则() A.运行程序段后输出0 B.运行程序段后输出1
C.循环的控制表达式不正确
D.程序段执行无限次
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 B
解析 C语言程序设计/循环程序设计/while语句
(4分)有int x=3,y=4,z=5;则下面表达式中值为0的是() A.x'&&'y' B.x<=y
C.x||y+z&&y-z D.!((x
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 D
解析 C语言程序设计/选择结构程序设计/逻辑运算符
(4分)若数组a有m列,则ali][j]之前的数组元素个数为() A.(i-1)*(i-1)B.i*m+j+1 C.i*m+j-1 D.i*m+j
纠错
得分: 0
知识点: 数组
收起解析
答案 D
解析 C语言程序设计/数组/二维数组的引用
.(4分)表达式a A.&,<,|| B.&,||,< C.<,||,& D.<,&,||
纠错
得分: 0
知识点: 位运算
收起解析
答案 D
解析 C语言程序设计/位运算/位运算符优先级
(4分)下面对typedef不正确的叙述是
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新的基本数据类型
C.用typedef只是将已存在的类型用一个新的标识符表示
D.使用typedef有利于程序的通用和移植
E.纠错
得分: 0
知识点: 结构体与共用体
收起解析
答案 B
解析 C语言程序设计/结构体与共用体
(4分)设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后的输出结果是() A.16,10,8 B.8 10 16 C.10,10,10 D.8,10,16
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/整型变量
2.(4分)关于fseek函数,以下有关操作的叙述不正确的是() A.可以改变文件的位置指针
B.可以实现文件的顺序读写
C.可以实现文件的随机读写
D.只可以顺序定位文件的位置指针
纠错
得分: 4 知识点: 文件
收起解析
答案 D
解析 C语言程序设计/文件/文件的定位
3.(4分)putchar函数可以向终端输出一个() A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/putchar函数
4.(4分)关于联合体,下面叙述不正确的是() A.联合体变量中成员项共用同一存储空间,因此,联合体变量的地址和每一个成员项的地址是同一地址
B.联合体变量中成员项所占存储空间量不同,因此,联合体中每一个成员项的地址不是同一地址
C.C语言规定不能对联合体变量赋值
D.也不能通过直接引用变量名来得到成员项,这与结构体是相同的
E.不允许将联合体变量作为函数参数,也不允许用联合体变量作为函数的返回值
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 B
解析 C语言程序设计/结构体与共同体/共用体变量定义
5.(4分)以下程序 的运行结果是()void sub(int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf('%4d,%4d,%4d',a,b,c);} A.5, 2, 3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7
纠错
得分: 0
知识点: 函数
收起解析
答案 A 解析 C语言程序设计/函数/函数的调用
6.(4分)判断char型变量c1是否小写字母的正确表达式为
A.'a'<=c1<='z'
B.(c1>='a')&&(c1<='z')C.(c1>=a)&&(c1<=z)D.('a'<=c1)||('z'>=c1)
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 B
解析 C语言程序设计/数据类型及运算
7.(4分)有以下程序:#includemain(){int x,y;printf('Enter an integer(x):');scanf('%d',&x);if(x++<0)y=-1;else if(x==0)y=0;else y=1;printf('%d',y);}现从键盘上输入-1,则程序的输出是() A.0 B.-1 C.1
D.不确定的值
纠错
得分: 0
知识点: 选择程序设计
收起解析
答案 B
解析 C语言程序设计/选择程序设计/if语句嵌套
8.(4分)在C语言中运算符的优先级从高到低的排列顺序是
A.关系运算符 算术运算符 赋值运算符
B.算术运算符 赋值运算符 关系运算符
C.赋值运算符 关系运算符 算术运算符
D.算术运算符 关系运算符 赋值运算符
纠错
得分: 4
知识点: 数据类型及运算
收起解析
答案 D
解析 C语言程序设计/数据类型及运算
9.(4分)函数rewind的作用是() A.使位置指针指向文件的末尾
B.将位置指针指向文件中所要求的特定位置
C.使位置指针重新返回文件的开头
D.使位置指针自动移到下一个字符位置
纠错
得分: 4
知识点: 文件
收起解析
答案 C
解析 C语言程序设计/文件/文件的定位
10.(4分)有以下程序#include main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf('%d,%d',*p,a[3]);},请问执行后的输出结果是() A.1,4 B.0,4 C.1,6 D.0,6
纠错
得分: 0
知识点: 指针
收起解析
答案 C
解析 C语言程序设计/指针/数组指针的引用
11.(4分)已知函数的调用形式:fread(buffer, size, count, fp);其中buffer代表
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针变量,指向要读的文件
C.一个储存区,存放要读的数据项
D.一个指针变量,它存放数据缓冲区的地址
纠错
得分: 4
知识点: 文件
收起解析
答案 D
解析 C语言程序设计/文件
12.(4分)字符串“China”在内存中占用几个字节
A.3 B.4 C.6 D.8
纠错 得分: 4
知识点: 数据类型及运算
收起解析
答案 C
解析 C语言程序设计/数据类型及运算
13.(4分)10+’a’+1.5-567.345/’b’的结果是()型数据
A.long B.double C.int
D.unsigned float
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/数据类型的混合运算
14.(4分)判断char型变量ch是否为大写字母的正确表达式为() A.A'<=ch<='Z'
B.(ch>='A')&(ch<='Z')C.(ch>='A')&&(ch<='Z')D.('A'<=ch)AND('Z'>=ch)
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 C
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
15.(4分)C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将();如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)
A.不予输出
B.输出空格
C.照样输出
D.输出不定值或0
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 A 解析 C语言程序设计/顺序程序设计/格式输出
16.(4分)下面的程序main(){int x=3;do{printf(“%d ”,x-=2);}while(!(--x));},描述正确的是() A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 B
解析 C语言程序设计/循环程序设计/do-while语句
17.(4分)根据下面的定义,能打印出字母“M”的语句是()struct person{char name[9];int age;};struct person class[10]={'John',17,'Paul',19,'Mary',18,'adam',16 }; A.printf('%cn',class[3].name)B.printf('%cn',class[3].name[l])C.printf('%cn',class[2].name[l])D.printf('%cn',class[2].name[0])
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 D
解析 C语言程序设计/结构体与共同体/结构体变量引用
18.(4分)设整型变量a和b的值分别为8和9。printf('%d,%d',(a++,++b),b--);的输出是() A.8,8 B.8,7 C.9,9 D.10,9
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 C
解析 C语言程序设计/顺序程序设计/格式输入输出综合19.(4分)a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf('%o,%o,%o,%o',c=~a,c=a&b,c=a|b,c=a∧b)的输出结果为() A.177666,101,133,32 B.0177666,0123,0333,032 C.0177666,0101,0133,032 D.177666,0123,0133,034
纠错
得分: 0
知识点: 位运算
收起解析
答案 A
解析 C语言程序设计/位运算/异或运算符
20.(4分)若有定义typedef char STRING[255];STRING s;则s是
A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 D
解析 C语言程序设计/结构体与共用体
21.(4分)下面哪个表达式的值为4: A.11/3 B.11.0/3 C.(float)11/3
D.(int)(11.0/3+0.5)
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 D
解析 C语言程序设计/数据类型及运算
二、判断
1.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
纠错
得分: 4
知识点: 循环程序设计 收起解析
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
2.(4分)在计算机内部,unsigned int 和 int类型的数据所占存储空间大小是一样的.
纠错
得分: 4
知识点: 数据类型及运算
收起解析
答案 正确
解析 C语言程序设计/数据类型及运算
3.(4分)对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)
纠错
得分: 4
知识点: 循环程序设计
收起解析
答案 正确
解析 C语言程序设计/循环程序设计/for语句
4.(4分)C语言中没有真正的多维数组
纠错
得分: 4
知识点: 数组
收起解析
答案 正确
解析 C语言程序设计/数组
(4分)以下程序main(){int x=10,y=10;printf('%d %d ',x--,--y);}的输出结果是() A.10 10 B.9 9 C.9 10 D.10 9
纠错 得分: 0
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
2.(4分)下列有关字符数组与字符串的说法中正确的是() A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/关字符数组与字符串
3.(4分)设E为表达式,以下与do…while(E);不等价的语句是
A.do…while(!E==0)B.do…while(E>0||E<0)C.do…while(E==0)D.do…while(E!=0)
纠错
得分: 0
知识点: 循环控制
收起解析
答案 C
解析 C语言程序设计/循环控制
4.(4分)C语言中,逻辑真表示为() A.TRUE B.'y'或'Y' C.1
D.非零值
纠错
得分: 0
知识点: 选择程序设计
收起解析
答案 C
解析 C语言程序设计/选择程序设计/逻辑运算符
5.(4分)以下描述中正确的是() A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作
D.do-while循环中,根据情况可以省略while。
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/do-while语句
6.(4分)以下程序的输出结果是? #include main(){ int x=020,y=0x20,z=20;printf('%d,%d,%d ',x,y,z);} A.20,20,20 B.32,16,20 C.16,32,20 D.20,32,20
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 C
解析 C语言程序设计/数据类型及运算
7.(4分)以下叙述中不正确的是() A.预处理命令都必须以#开始
B.在C程序中凡是以#开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.以下是正确的宏定义 #define IBM_PC
纠错
得分: 0
知识点: 编译预处理
收起解析
答案 C
解析 C语言程序设计/编译预处理/预处理命令
8.(4分)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码() A.大32 B.大64 C.小32 D.小64
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/字符常数比较
9.(4分)设有说明:char *str[10];则标识符str的意义是() A.str是一个指向有10个元素的数组的指针
B.str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型
C.str是一个指向char型函数的指针
D.str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
纠错
得分: 0
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/字符串指针
10.(4分)在C语言中,每个语句和数据定义是用()结束
A.句号
B.逗号
C.分号
D.括号
纠错
得分: 0
知识点: C语言概述
收起解析
答案 C
解析 C语言程序设计/C语言概述/C程序的组成11.(4分)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为() A.1 B.2 C.3 D.4
纠错
得分: 0
知识点: 选择结构程序设计
收起解析 答案 B
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
12.(4分)若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是() A.p+=4,*(p++)B.p+=4,*++p C.p+=5,*p++ D.p+=4,++*p
纠错
得分: 0
知识点: 指针
收起解析
答案 A
解析 C语言程序设计/指针/字符串指针的引用
13.(4分)在C语言中运算符的优先级从高到低的排列顺序是
A.关系运算符 算术运算符 赋值运算符
B.算术运算符 赋值运算符 关系运算符
C.赋值运算符 关系运算符 算术运算符
D.算术运算符 关系运算符 赋值运算符
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 D
解析 C语言程序设计/数据类型及运算
14.(4分)若x、i、j和k都是int型变量,则计算下面表达式后,x的值为()x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 C
解析 C语言程序设计/数据类型与运算/逗号表达式
15.(4分)对说明语句int a[10]={6,7,8,9,10};的正确理解是() A.将5个初值依次a[1]至a[5] B.将5个初值依次a[0]至a[4] C.将5个初值依次a[5]至a[9] D.将5个初值依次a[6]至a[10]
纠错
得分: 0
知识点: 数组
收起解析
答案 B
解析 C语言程序设计/数组/一维数组的引用
16.(4分)在C语言程序中,下面哪一个是正确的? A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义可以嵌套,函数的调用也可以嵌套
D.函数的定义和函数的调用都不可以嵌套
纠错
得分: 0
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数
17.(4分)执行下列程序段后, int x=10,y=9;int a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y;变量a,b,c的值分别是() A.a=9,b=9,c=9 B.a=8,b=8,c=10 C.a=9,b=10,c=9 D.a=8,b=8,c=9
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 B
解析 C语言程序设计/选择结构程序设计/条件与算术运算符
18.(4分)设以下变量均为int类型,则值不等于7的表达式是() A.x=y=6,x+y,x+1 B.x=y=6,x+y,y+1 C.x=6,x+1,y=6,x+y D.y=6,y+1,x=y,x+1
纠错
得分: 0 知识点: 数据类型与运算
收起解析
答案 C
解析 C语言程序设计/数据类型与运算/算术表达式
19.(4分)下面程序的运行结果是()#includemain(){int i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf('%d,%d',k,b);} A.3,-1 B.8,-1 C.3,0 D.8,-2
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 D
解析 C语言程序设计/循环程序设计/循环的嵌套
20.(4分)若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是() A.&p B.a++ C.&(p+1)D.&p[i]
纠错
得分: 0
知识点: 指针
收起解析
答案 D
解析 C语言程序设计/指针/数组指针的引用
21.(4分)写出下面程序的输出结果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 C 解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
二、判断
1.(4分)在C 语言中,共用体类型属于构造类型
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 正确
解析 C语言程序设计/数据类型与运算/构造数据类型
2.(4分)main(){short i;i=-4;printf(' i:dec=%d, oct=%o, hex=%x, unsigned=%u ',i,i,i,i);}以上程序的输出结果为i:dec=-4, oct=177774, hex=fffc, unsigned=65532
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 正确
解析 C语言程序设计/数据类型与运算/数据类型输出格式
3.(4分)C语言中没有真正的多维数组
纠错
得分: 0
知识点: 数组
收起解析
答案 正确
解析 C语言程序设计/数组
4.(4分)已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf('%o%x%e',&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格) 纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 正确
解析 C语言程序设计/顺序程序设计/格式输入
(4分)以下程序的运行结果是()typedef union {long a[2];int b[4];char c[8];}TY;TY our;main(){printf('%d ',sizeof(our));} A.32 B.16 C.8 D.24
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/共用体变量存储
2.(4分)下列选项中,不合法的C语言关键字是
A.auto B.default C.static D.var
纠错
得分: 0
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述
3.(4分)若有定义typedef char STRING[255];STRING s;则s是
A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 D 解析 C语言程序设计/结构体与共用体
4.(4分)以下不正确的定义语句是() A.double x[5]={2.0,4.0,6.0,8.0,10.0} B.int y[5]={0,1,3,5,7,9} C.char c1[]={'1','2','3','4','5'} D.char c2[]={'x10','xa','x8'}
纠错
得分: 4
知识点: 数组
收起解析
答案 B
解析 C语言程序设计/数组/一维数组的综合5.(4分)表达式-l?(10?10:1):(0?0:-1)的值为() A.10 B.1 C.0 D.-1
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/逗号表达式
6.(4分)设有程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是() A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
纠错
得分: 4
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/while语句
7.(4分)以下read函数的调用形式中,参数类型正确的是() A.read(int fd,char *buf,int count)B.read(int *buf,int fd,int count) C.read(int fd,int count,char *buf)D.read(int count,char *buf,int fd)
纠错
得分: 0
知识点: 文件
收起解析
答案 A
解析 C语言程序设计/文件/文件的读和写
8.(4分)对说明语句int a[10]={6,7,8,9,10};的正确理解是() A.将5个初值依次a[1]至a[5] B.将5个初值依次a[0]至a[4] C.将5个初值依次a[5]至a[9] D.将5个初值依次a[6]至a[10]
纠错
得分: 4
知识点: 数组
收起解析
答案 B
解析 C语言程序设计/数组/一维数组的引用
9.(4分)以下叙述正确的是() A.在C程序中,main函数必须位于程序的最前面
B.在C程序的每一行只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
纠错
得分: 0
知识点: C语言概述
收起解析
答案 C
解析 C语言程序设计/C语言概述/主函数
10.(4分)在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被包含文件的方式是() A.仅仅搜索当前目录
B.仅仅搜索源程序所在目录
C.直接按系统设定的标准方式搜索目录
D.先在源程序所在目录搜索,再按系统设定的标准方式搜索
纠错
得分: 4
知识点: 编译预处理 收起解析
答案 C
解析 C语言程序设计/编译预处理/文件包含处理
11.(4分)设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是() A.运行错误
B.100 C.i的地址
D.j的地址
纠错
得分: 4
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/引用与地址
12.(4分)关于fseek函数,以下有关操作的叙述不正确的是() A.可以改变文件的位置指针
B.可以实现文件的顺序读写
C.可以实现文件的随机读写
D.只可以顺序定位文件的位置指针
纠错
得分: 4
知识点: 文件
收起解析
答案 D
解析 C语言程序设计/文件/文件的定位
13.(4分)在位运算中,操作数每左移2位,相当于() A.操作数*2 B.操作数/2 C.操作数*4 D.操作数/4
纠错
得分: 4
知识点: 位运算
收起解析
答案 C
解析 C语言程序设计/位运算/左移运算符
14.(4分)有枚举类型的定义: enum color1 { yellow,green,blue=5,red,brown};则枚举常量yellow 和 red的值分别是
A.3,6 B.1,6 C.0,6 D.0,3
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 C
解析 C语言程序设计/结构体与共用体
15.(4分)有程序:main(){int a=5,b=1,c=0;if(a=b+c)printf('*** ');else printf('$$$ ');}该程序() A.有语法错误不能通过编译
B.可以通过编译,但不能通过连接
C.输出:*** D.输出:$$$
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 C
解析 C语言程序设计/选择结构程序设计/if-else语句
16.(4分)系统的标准输入文件是指() A.键盘
B.显示器
C.软盘
D.硬盘
纠错
得分: 4
知识点: 文件
收起解析
答案 A
解析 C语言程序设计/文件/文件的定义
17.(4分)设有程序段t=0;while(printf('*')){t++;if(t<3)break;}下面描述正确的是() A.其中循环控制表达式与0等价
B.其中循环控制表达式与'0'等价
C.其中循环控制表达式是不合法的 D.以上说法都不对
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 B
解析 C语言程序设计/循环程序设计/break语句
18.(4分)以下叙述中不正确的是() A.预处理命令都必须以#开始
B.在C程序中凡是以#开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.以下是正确的宏定义 #define IBM_PC
纠错
得分: 0
知识点: 编译预处理
收起解析
答案 C
解析 C语言程序设计/编译预处理/预处理命令
19.(4分)以下关于运算符优先顺序的描述中正确的是() A.关系运算符<算术运算符<赋值运算符<逻辑运算符
B.逻辑运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑运算符<关系运算符<算术运算符
D.算术运算符<关系运算符<赋值运算符<逻辑运算符
纠错
得分: 4
知识点: 选择结构程序设计
收起解析
答案 C
解析 C语言程序设计/选择结构程序设计/关系运算符与逻辑运算符
20.(4分)已知函数的调用形式:fread(buffer, size, count, fp);其中buffer代表
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针变量,指向要读的文件
C.一个储存区,存放要读的数据项
D.一个指针变量,它存放数据缓冲区的地址
纠错
得分: 0
知识点: 文件
收起解析 答案 D
解析 C语言程序设计/文件
21.(4分)若有以下定义:char s[10]='include',*p=s;则不能代表字符u的表达式是() A.s[4] B.s+4 C.*(p+4)D.p+=4,*p
纠错
得分: 0
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/字符串指针的引用
二、判断
1.(4分)在C 语言中,共用体类型属于构造类型
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 正确
解析 C语言程序设计/数据类型与运算/构造数据类型
2.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
3.(4分)main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf('%d,%d',x,x&&!y||z);}程序的运行结果是1,1 纠错
得分: 4
知识点: 选择结构程序设计
收起解析
答案 错误
解析 C语言程序设计/选择结构程序设计/逻辑表达式
4.(4分)C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中.
纠错
得分: 0
知识点: 结构体与共用体
收起解析
答案 错误
解析 C语言程序设计/结构体与共用体
(4分)已有以下数组定义和f函数调用语句,int a[3][4];f(a);则在f函数的说明中,对形参数组array的错误定义方式为() A.f(int array[][6])B.f(int array[3][])C.f(int array[][4])D.f(int array[2][5])
纠错
得分: 4
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数/数组作为函数参数
2.(4分)设有说明:char *str[10];则标识符str的意义是() A.str是一个指向有10个元素的数组的指针
B.str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型
C.str是一个指向char型函数的指针
D.str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
纠错
得分: 4
知识点: 指针
收起解析
答案 B
解析 C语言程序设计/指针/字符串指针 3.(4分)下面程序main(){int x=4,y=0,z;x*=3+2;printf(“%d”,x);x*=y= =(z=4);printf(“%d”,x);}的输出结果是() A.14 40 B.20 0 C.20 4 D.14 4
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/算术表达式
4.(4分)下列选项中,不合法的C语言关键字是
A.auto B.default C.static D.var
纠错
得分: 0
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述
5.(4分)定义一个联合体变量时,系统分配给它的内存是() A.联合体中第一个成员所需内存量
B.联合体中最后一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.各成员所需内存量的总和
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/共用体变量定义
6.(4分)以下有关宏替换的叙述不正确的是() A.宏替换不占用运行时间
B.宏名无类型 C.宏替换只是字符替换
D.宏名必须用大写字母表示
纠错
得分: 4
知识点: 编译预处理
收起解析
答案 D
解析 C语言程序设计/编译预处理/宏定义
7.(4分)写出下面程序的输出结果()main(){int i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);} A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14
纠错
得分: 0
知识点: 顺序程序设计
收起解析
答案 C
解析 C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符
8.(4分)若有以下定义,int a,b;float x;则正确的赋值语句是() A.a=1,b=2 B.b++ C.a=b=5 D.b=int(x)
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/变量赋初值
9.(4分)下面四个选项中,均是不合法的用户标识符的选项是() A.A,P_0,do B.float,la0,_A C.b-a,goto,int D._123,temp,INT
纠错
得分: 4
知识点: 数据类型与运算 收起解析
答案 C
解析 C语言程序设计/数据类型与运算/标识符
10.(4分)设有下面的程序段,char s[]='china';char *p;p=s;则下列正确的是() A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
纠错
得分: 4
知识点: 指针
收起解析
答案 D
解析 C语言程序设计/指针/数组与指针
11.(4分)设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后的输出结果是() A.16,10,8 B.8 10 16 C.10,10,10 D.8,10,16
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 A
解析 C语言程序设计/数据类型与运算/整型变量
12.(4分)下列有关字符数组与字符串的说法中正确的是() A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/关字符数组与字符串
13.(4分)在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是() A.extern B.register C.auto D.static
纠错
得分: 4
知识点: 函数
收起解析
答案 D
解析 C语言程序设计/函数/变量的存储类型
14.(4分)以下程序#include main(){printf('%d ',NULL);}的输出结果是() A.不确定的值(因变量无定义)B.0 C.-1 D.1
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 B
解析 C语言程序设计/顺序程序设计/NULL的输出
15.(4分)printf函数中用到格式符'%4s',其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为() A.从左起输出该字符串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字符,左补空格
D.输出错误信息
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 C
解析 C语言程序设计/顺序程序设计/字符串的输出格式
16.(4分)C语言允许函数值类型缺省定义,此时该函数值隐含的类型是() A.float型
B.int型 C.long型
D.double型
纠错
得分: 4
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数/函数返回值
17.(4分)下列字符串不属于标识符的是() A.total
B.lutos_1_2_3 C._night D.$ 123
纠错
得分: 4
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述/C程序标识符
18.(4分)若有以下定义, int k=7,x=12, 则能使值为3的表达式是() A.x%=k%=5 B.x%=k-k%5 C.x%=(k-k%5)D.(x%=k)-(k%=5)
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 D
解析 C语言程序设计/数据类型与运算/算术表达式
19.(4分)表达式-l?(10?10:1):(0?0:-1)的值为() A.10 B.1 C.0 D.-1
纠错
得分: 0
知识点: 数据类型与运算
展开解析 20.(4分)不属于面向机器语言的是() A.符号语言
B.二进制语言
C.汇编语言
D.C语言
纠错
得分: 4
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述/C程序特点
21.(4分)下列字符串是标识符的是() A._HJ
B.9_student C.long D.LINE 1
纠错
得分: 4
知识点: C语言概述
收起解析
答案 A
解析 C语言程序设计/C语言概述/C程序标识符
二、判断
1.(4分)C语言中形参到实参传递是双向的
纠错
得分: 4
知识点: 函数
收起解析
答案 错误
解析 C语言程序设计/函数
2.(4分)若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段
纠错
得分: 4
知识点: 指针
收起解析
答案 错误
解析 C语言程序设计/指针/指针变量的定义
3.(4分)在C 语言中,指针类型属于构造类型
纠错
得分: 4
知识点: 数据类型与运算
收起解析
答案 错误
解析 C语言程序设计/数据类型与运算/构造数据类型
4.(4分)C语言中的main函数必须位于程序的最前面
纠错
得分: 4
知识点: C语言概述
收起解析
答案 错误
解析 C语言程序设计/C语言概述
(4分)以下对二维数组a的正确说明是() A.int a[3][] B.float a(3,4)C.double a[1][4] D.float a(3)(4)
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/二维数组的定义
2.(4分)若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是() A.p+=4,*(p++)B.p+=4,*++p C.p+=5,*p++ D.p+=4,++*p
纠错
得分: 4
知识点: 指针
收起解析
答案 A
解析 C语言程序设计/指针/字符串指针的引用
3.(4分)putchar函数可以向终端输出一个() A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 D
解析 C语言程序设计/顺序程序设计/putchar函数
4.(4分)下列有关字符数组与字符串的说法中正确的是() A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串
纠错
得分: 4
知识点: 数组
收起解析
答案 C
解析 C语言程序设计/数组/关字符数组与字符串
5.(4分)若要求表示a不等于0的关系,错误的表达式是() A.a<>0 B.a!=0 C.a
D.a<0| |a>0
纠错
得分: 0 知识点: 选择程序设计
收起解析
答案 A
解析 C语言程序设计/选择程序设计/关系表达式
6.(4分)阅读以下程序,int w=1,x=2,y=3,z=4,m;m=w A.1 B.2 C.3 D.4
纠错
得分: 4
知识点: 选择结构程序设计
收起解析
答案 A
解析 C语言程序设计/选择结构程序设计/条件运算符嵌套
7.(4分)定义一个结构体变量时,系统分配给它的内存是() A.结构体中第一个成员所需内存量
B.结构体中最后一个成员所需内存量
C.成员中占内存量最大者所需内存量
D.各成员所需内存量的总和
纠错
得分: 4
知识点: 结构体与共同体
收起解析
答案 D
解析 C语言程序设计/结构体与共同体/结构体变量定义
8.(4分)若有定义typedef char STRING[255];STRING s;则s是
A.字符指针数组变量
B.字符指针变量
C.字符变量
D.字符数组变量
纠错
得分: 4
知识点: 结构体与共用体
收起解析
答案 D
解析 C语言程序设计/结构体与共用体
9.(4分)下面程序的运行结果是()#includemain(){int i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf('%d,%d',k,b);} A.3,-1 B.8,-1 C.3,0 D.8,-2
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 D
解析 C语言程序设计/循环程序设计/循环的嵌套
10.(4分)判断字符串a和b是否相等,应当使用() A.if(a==b)B.if(a=b)
C.if(strcmp(a,b))D.if(strcmp(a,b)==0)
纠错
得分: 0
知识点: 数组
收起解析
答案 D
解析 C语言程序设计/数组/字符串处理函数
11.(4分)设有程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是() A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
纠错
得分: 4
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/while语句
12.(4分)以下叙述中正确的是() A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占用编译时间
D.以下定义中C R是称为宏名的标识符#define C R 045 纠错
得分: 4
知识点: 编译预处理
收起解析
答案 C
解析 C语言程序设计/编译预处理/宏定义
13.(4分)设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是() A.z=exp(y)+fabs(x)B.y=log10(y)+pow(y)C.z=sqrt(y-z)
D.x=(int)(atan2((double)x,y)+exp(y-0.2))
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 D
解析 C语言程序设计/数据类型与运算/赋值表达式
14.(4分)若有int w=1,x=2,y=3,z=4;则表达式w A.4 B.3 C.2 D.1
纠错
得分: 0
知识点: 选择结构程序设计
收起解析
答案 D
解析 C语言程序设计/选择结构程序设计/条件运算符嵌套
15.(4分)设整型变量a和b的值分别为8和9。printf('%d,%d',(a++,++b),b--);的输出是() A.8,8 B.8,7 C.9,9 D.10,9
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 C 解析 C语言程序设计/顺序程序设计/格式输入输出综合16.(4分)在C语言程序中,下面哪一个是正确的? A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义可以嵌套,函数的调用也可以嵌套
D.函数的定义和函数的调用都不可以嵌套
纠错
得分: 0
知识点: 函数
收起解析
答案 B
解析 C语言程序设计/函数
17.(4分)以下描述中正确的是() A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作
D.do-while循环中,根据情况可以省略while。
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 C
解析 C语言程序设计/循环程序设计/do-while语句
18.(4分)定义一个联合体变量时,系统分配给它的内存是() A.联合体中第一个成员所需内存量
B.联合体中最后一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.各成员所需内存量的总和
纠错
得分: 0
知识点: 结构体与共同体
收起解析
答案 C
解析 C语言程序设计/结构体与共同体/共用体变量定义
19.(4分)C语言提供的合法关键字是() A.break B.print C.funtion D.end
纠错
得分: 4
知识点: C语言概述
收起解析
答案 A
解析 C语言程序设计/C语言概述/C程序关键字
20.(4分)设整型变量a值为9,则下列表达式中使b的值不为4的表达式() A.b=a/2 B.b=a%2 C.b=8-(3,a-5)D.b=a>5?4:2
纠错
得分: 0
知识点: 数据类型与运算
收起解析
答案 B
解析 C语言程序设计/数据类型与运算/整型算术表达式
21.(4分)不属于面向机器语言的是() A.符号语言
B.二进制语言
C.汇编语言
D.C语言
纠错
得分: 0
知识点: C语言概述
收起解析
答案 D
解析 C语言程序设计/C语言概述/C程序特点
二、判断
1.(4分)对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)
纠错
得分: 4
知识点: 循环程序设计 收起解析
答案 正确
解析 C语言程序设计/循环程序设计/for语句
2.(4分)若有说明int c;则while(c=getchar());是错误的C语句.
纠错
得分: 0
知识点: 数据类型及运算
收起解析
答案 错误
解析 C语言程序设计/数据类型及运算
3.(4分)已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf('%o%x%e',&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格)
纠错
得分: 4
知识点: 顺序程序设计
收起解析
答案 正确
解析 C语言程序设计/顺序程序设计/格式输入
4.(4分)int k=0;do{++k;}while(k>=0);是无限循环的语句
纠错
得分: 0
知识点: 循环程序设计
收起解析
答案 错误
解析 C语言程序设计/循环程序设计/do-while语句
下列有关字符数组与字符串的说法中正确的是()(4分)
A.字符数组中存放的一定是—个字符串
B.所有的字符数组都可以被当作字符串处理
C.对存放字符串的字符数组可以象一般数组一样对数组中的单个元素进行操作
D.一个字符数组可以认为就是一个字符串 正确C 3.putchar函数可以向终端输出一个()(4分)
A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
正确D 以下是对二维数组的正确说明的是()A.int[3][] B.float a(3,4)C.double a[1][4] D.float a(3)(4)正确 C 1.20701、以下正确的说法是。C A)用户若需要调用标准库函数,调用前必须重新定义 B)用户系统根本不允许用户重新定义标准库函数
C)用户可以重新定义标准库函数,若如此,该函数将失去原有意义 D)用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件。2.20702、按照C语言规定,以下不正确的说法是。B A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式
C)实参可以是任意类型 D)实参应与其对应的形参类型一致 3.20703、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。B A)地址传递 B)单向值传递
C)由实参传给形参,再由形参传回实参 D)调用时指定传递方式 4.20704、以下程序有语法性错误,有关错误原因的正确说法是 C。void main(){int G=5,k;void prt_char();......k=prt_char(G);......} A)语句void prt_char();有错,它是函数调用语句,不能用void说明 B)变量名不能使用大写字母
C)函数说明和函数调用语句之间有矛盾 D)函数名不能使用下划线 5.20705、C语言规定,函数返回值的类型是由所决定。D A)return语句中的表达式类型 B)调用该函数时的主调函数类型 C)调用该函数是系统临时指定 D)在定义该函数时所指定的函数类型 6.20706、若函数定义为: int data(){ float x=9.9;return(x);} 则函数返回的值是。B A)9.9 B)9 C)10 D)出现错误 7.20707、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。B A)float型 B)int型 C)long型 D)double型 8.20708、以下正确的描述是。B A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和函数的调用均不可嵌套 D)函数的定义和函数的调用均可以嵌套 9.20709、已有以下数组定义和f函数调用语句:B int a[3][4];f(a);则在f函数的说明中,对形参数组array的错误定义方式为。A)f(int array[][6])B)f(int array[3][])C)f(int array[][4])D)f(int array[2][5])10.20710、以下错误的描述是。D A)函数调用可以出现在执行语句中 B)函数调用可以出现在表达式中 C)函数调用可以作为函数的实参 D)函数调用可以作为函数的形参 11.20711、以下不正确的说法为。D A)在不同函数中可以使用相同名字的变量 B)形式参数是局部变量
C)在函数内定义的变量只在本函数范围内有效
D)在函数内的复合语句中定义的变量在本函数范围内有效 12.20712、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为。A A)auto B)static C)extern D)register 13.20713、以下程序的正确运行结果是。C #include
历次成绩 1.56.0 完成时间
2015-02-23 11:30:27
查看详情
C语言程序设计课程作业_C 0,0,0 1,2,3 1,2,1 2,2,2
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0 1,2,3 2,2,2 8.C语言规定:在一个源程序中,main函数的位置()可以任意 必须在最后 必须在最开始
必须在系统调用的库函数的后面
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 可以任意 可以任意
9.函数rewind的作用是()使位置指针指向文件的末尾
将位置指针指向文件中所要求的特定位置 使位置指针重新返回文件的开头 使位置指针自动移到下一个字符位置
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 使位置指针重新返回文件的开头 使位置指针重新返回文件的开头
10.设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后的输出结果是()16,10,8 8 10 16 10,10,10 8,10,16
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0 8 10 16 16,10,8
11.C语言源程序的最小单位是()程序行 语句 函数 字符
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0 函数 字符
12.以下函数的功能对应于 int fun(char *s,char *t){ while(*s)&&(*t)&&(*t==*s)} { t++;s++;} return(*s-*t);} strlen(s)+strlen(t)strcmp(s,t)strcpy(s,t)
strcat(s,t)
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 strcmp(s,t)strcmp(s,t)
13.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时,函数feof(fp)值 0 1-1
一个非0值的
本题分值: 用户得分: 用户解答: 标准答案:
4.0 0.0-1 一个非0值的
14.以下叙述中正确的是()在程序的一行上可以出现多个有效的预处理命令行 使用带参的宏时,参数的类型应与宏定义时的一致 宏替换不占用运行时间,只占用编译时间
以下定义中C R是称为宏名的标识符#define C R 045
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 宏替换不占用运行时间,只占用编译时间 宏替换不占用运行时间,只占用编译时间
15.根据下面程序及数据的输入和输出形式,main(){char ch1,ch2,ch3;输入语句printf('%c%c%c',ch1,ch2,ch3);}, 输入形式:AuBuC输出形式:AuB, 程序中输入语句的正确形式应该为()(u代表空格)scanf('%c%c%c',&ch1,&ch2,&ch3)scanf('%c,%c,%c',&ch1,&ch2,&ch3)scanf('%c %c %c',&ch1,&ch2,&ch3)scanf('%c%c',&ch1,&ch2,&ch3)
本题分值: 用户得分: 用户解答: 标准答案:
4.0 4.0 scanf('%c%c%c',&ch1,&ch2,&ch3)scanf('%c%c%c',&ch1,&ch2,&ch3)
16.若有以下定义,int a,b;float x;则正确的赋值语句是()a=1,b=2 b++ a=b=5 b=int(x)
本题分值:
4.0 用户得分:
0.0
第三篇:C语言程序设计课程教学设计
C语言程序设计课程教学设计
苏小红
一 课程内容体系 :
基本描述
课程名称: C 语言程序设计
英文译名 : C PROGRAMMING LANGUAGES 总 学 时: 50 ; 讲课学时: 30 ; 实验学时 : 0 ; 上机学时 : 30 授课对象 :非计算机专业 本科生 授课单位 :计算机科学与技术学院 主讲教师 :苏小红等
先修课程 :高等数学,计算方法 课程要求 :必修课 课程分类 :专业基础课 开课学期 : 2
教学定位 :
本课程为专业基础课,属我校所有理工科专业本科教学计划中的主要必修课程之一。在计算机教育方面,C 语言是为数不多的与国外保持内容同步的课程之一,可见,它在本科生教学中的地位之重要不言而喻。由于 C 语言是许多后续专业课程的基础,因此,在本科生教学体系中中,C 语言教学仅是起点,而非终点。本着面向未来的精神,本课程的教学宗旨是要努力把 C 语言从应试课程转变为一种实践工具,主要目的不再局限于使学生单纯地了解和掌握 C 语言的基本语法规范,而是要致力于培养学生运用 C 语言解决实际问题的编程能力,以 C 语言为工具,介绍程序设计的基本思想和方法,培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。
知识点与学时分配 :
第 1 章 程序设计 ABC(1 学时)
计算机与人之间的关系、计算机与程序设计语言之间的关系、程序设计语言的故事、程序设计语言的工作机理。
第 2 章 数据类型、运算符与表达式(3 学时)
为什么引入数据类型、C 语言基本数据类型、常量、变量、算术运算符、关系运算符、逻辑运算符、赋值运算符、增 1 减 1 运算符、强制类型转换运算符、位运算符、逗号运算符、运算符的优先级和结合性、各种运算表达式。
第 3 章 简单的 C 程序设计(2 学时)
C 语句分类、表达式语句、复合语句和空语句、字符输入输出函数、格式输入输出函数。第 4 章 程序的控制结构(5 学时)
算法的概念及其描述方法、条件语句、循环语句、流程转移控制语句(goto、continue 和 break)、自顶向下、逐步求精的结构化程序设计方法。第 5 章 函数(4 学时)
程序结构的艺术、函数定义、函数调用、函数返回值、函数原型、参数传递、变量的作用域和存储类,函数封装、模块分解原则、模块化程序设计方法。第 6 章 数组(4 学时)
一维数组、二维数组、向函数传递一维数组、向函数传递二维数组、字符数组、字符串处理函数。第 7 章 指针(4 学时)
指针的概念、为什么引入指针的概念、变量的指针作函数参数、字符指针做函数参数、指针和数组之间的关系、指针数组、代码风格、防御性程序设计。第 8 章 结构体和共用体(4 学时)
结构体类型、结构体变量、结构体数组、向函数传递结构体指针、共用体类型。第 10 章 文件操作(2 学时)
计算机中的流、文件、基本文件操作、高级文件操作。复习总结(1 学时)
第四篇:《C语言程序设计》课程教学设计
《C语言程序设计》课程教学设计
理学院电子科学系计算机基础教研室 赵永梅
《C语言程序设计》是大学计算机基础教学系列中的核心课程之一,是计算机及信息类专业本科生必修的一门专业基础课。它讲述了C语言的语法、数据类型、结构化程序设计方法等方面的内容,从而形成一个比较完整的、系统的计算机及信息类专业计算机程序设计基础教学内容,是学员从技术的角度学习计算机的主要基础课,具有不可替代的基础性、先导性和全局性作用。
一、课程教学对象分析
本课程的教学对象是培训部计算机类专业一、二年级本科层次学员。所有教学对象都应该已经学习过《大学计算机基础》,但由于学员的计算机基础的较大差异,针对教学对象的实际情况,应当根据教育部高等学校计算机科学与技术教学指导委员会《关于进一步加强高等学校计算机基础教学的意见》暨计算机基础课程教学基本要求,给以适当的分类、分层次教学,即一般要求和较高要求,使学员掌握C语言的简单程序设计的基本技术和方法。
二、课程基本理念
本课程以培养复合型的专业技术人才为目标,全面贯彻素质教育和创新教育思想,着力提高人才培养质量。通过本课程的学习应使学员掌握正确的程序设计方法与思想。具有初步的利用计算机分析问题、解决问题的意识与能力,为学员将来到社会从事专业应用软件的开发打下重要基础。
三、课程设计思路
以本课程的基本理念为指导,对课程目标分别从知识与技能、过程与方法、情感态度与价值观等方面进行了具体明确的阐述。课程内容与教学要求主要阐述学员学习本课程必须掌握的内容要点及达到的基本要求,并注明了重点和难点。在实施建议部分,分别对课程教学实施、课程考核评价、教材选编使用、课程资源开发与利用以及教学保障等提出了明确建议。本课程是一门实践性很强的课程,应改变传统的注重语法规则的应试型教学模式,合理安排教学实践环节,加强程序设计技能的教学,以培养学员的专业技能,突出学员学习的主体地位。可通过与实际应用结合紧密的例题,增设小型工程应用项目的研究或运用案例式教学,提高学员编程的技巧。
四、课程教学目标
以《计算机程序设计》的课程标准为参考,根据教育部新的精神和要求,通过课堂教学与实践教学,让学员了解《C语言程序设计》这门课程的性质、地位和在工程应用中的价值;熟练掌握C语言的语法,掌握程序设计的基本思想和方法,具备良好的程序设计风格和程序的调试技能。能够利用软件工程的思想,运用数据结构基本知识和算法,解决实际生活中或者专业课中涉及到的实际问题,从而培养学员分析问题、解决问题的能力。
五、课程教学内容
(一)教学内容
根据《C语言程序设计》课程标准,参照相关专业人才培养方案以及后续课程的开设情况,讲授8个教学单元的教学内容。
第一单元:C语言概述
教学内容:C语言的特点、C语言源程序简介、C语言源程序的基本结构、C程序的编辑、编译、链接和运行
学时分配:讲课2学时,实习2学时
目的和要求:了解C语言及其特点、掌握C语言源程序基本结构、掌握C语言源程序集成开发环境
重 点:C语言源程序的基本结构。难 点:C语言源程序集成开发环境。第二单元:基本数据类型及其运算 教学内容:C语言的基本数据类型及其分类、变量与常量、各种运算符及其表达式
学时分配:讲课4学时,实习2学时
目的和要求:了解C语言的数据类型、掌握常量与变量的概念和使用方法、掌握C语言中的整型数据、浮点型数据和字符型数据的表示方法、掌握各种运算符和表达式的使用方法、掌握各类数值型数据之间混合运算的方法
重 点:基本数据类型及其分类 难 点:各种运算符和表达式的使用 第三单元: 结构化程序设计
教学内容:算法的概念及特性、算法的描述、结构化程序设计方法、C的语句、赋值语句、数据的输入与输出、顺序结构程序设计、关系运算、逻辑运算和条件运算、if语句、switch语句、while、do„while、for、break、continue语句、循环结构程序设计
学时分配:讲课22学时,实习6学时
目的和要求:理解算法的概念和特性、掌握用N-S图描述算法、初步了解结构化程序设计的思想、掌握用N-S图描述三种基本结构、掌握C语句的种类和特点、掌握数据输入、输出的方法、掌握顺序结构程序设计方法、掌握关系运算、逻辑运算和条件运算、掌握if语句和switch语句的执行过程、掌握选择结构程序设计方法、掌握三种循环语句的执行过程和区别、掌握break和continue语句的用法、掌握循环结构程序设计方法。
重 点:算法的概念及特性、C的语句、逻辑运算,if语句和switch语句构成选择结构、三种循环语句
难 点:掌握用N-S图描述算法、数据的输入与输出、switch语句的执行过程、循环结构程序设计
第四单元:函 数
教学内容:函数的定义与声明、函数的调用与返回、数组作为函数的参数、变量的存储类别、内部函数和外部函数
学时分配:讲课4学时、实习2学时
目的和要求:理解函数的基本概念、掌握函数的定义、声明、调用和返回、掌握数组作为函数的参数的特性、掌握变量的作用域及存储方式、了解内部函数和外部函数的使用方法及区别
重 点: 函数的定义和调用,数组作函数的参数 难 点: 函数的递归调用和嵌套调用 第五单元:数 组
教学内容:数组的概念、一维数组的定义、引用和初始化、二维数组的定义、引用和初始化、字符数组的定义、引用和初始化、字符串处理函数
学时分配:讲课6学时、实习2学时
目的和要求:理解数组的基本概念、掌握数组的定义、初始化和数组元素的引用方法、掌握字符数组和字符串处理函数的使用、掌握与数组有关的常用算法(冒泡排序和选择排序)
重 点:数组的定义、初始化和数组元素的引用 难 点:二维数组和字符数组的应用 第六单元:结构体和共用体
教学内容:结构体类型及其使用方法、指向结构体类型数据的指针、用指针处理链表、共用体类型及其使用方法、枚举类型及其使用方法、用typedef定义新类型
学时分配:讲课4学时、实习2学时
目的和要求:理解结构体、共用体类型和枚举类型的概念、掌握结构体、共用体和枚举类型数据的使用、了解用指针处理链表的方法和意义、掌握typedef命令的使用方法
重 点:结构体、共用体类型和枚举类型数据的使用方法 难 点:指针处理链表的方法 第七单元:指 针 教学内容:指针的概念、指针与变量、指针与数组、指针与字符串、指针与函数
学时分配:讲课6学时、实习2学时
目的和要求:理解指针的概念、掌握指针变量的定义、引用方法及运算、掌握通过指针访问数组的方法、掌握通过指针处理字符串的方法、掌握使用指针作为函数的参数、掌握函数指针、掌握指针数组和指向指针的指针
重 点:指针的概念、指针作函数的参数、数组的指针和字符串的指针
难 点:函数的指针、指针数组和指针的指针 第八单元:文 件
教学内容:文件类型指针、文件的打开与关闭、文件的读写 学时分配:讲课2学时,实习2学时
目的和要求:掌握文件概念及文件的打开与关闭、掌握文件的顺序和随机读写、了解文件的出错检测
重 点:文件的打开、关闭和读写函数的使用 难 点:文件类型指针
(二)教学实践
本课程是一门实践性很强的课程,上机实习是教学过程中的一个重要环节,目的是使学员熟练掌握C程序编辑、编译、链接和运行的基本步骤,提高学员在TURBOC环境下,运用C语言对具体问题进行程序设计的能力。按照课程标准,本课程共安排20 学时的上机实习。
为了更好地开展教学实践,给每位学员统一发放了与主讲教材配套的上机指导书《C程序设计上机实践指导书》,以辅助理论教学,提高学员的程序设计的能力。
实践教学内容与课时分配如下: 实验1: TURBOC 2.0环境下的基本操作 课时分配:2学时 实验目的:
(1)掌握TURBOC 2.0的基本操作;
(2)掌握TURBOC 2.0环境下编辑、编译、链接和运行程序的基本方法;
(3)初步了解C语言源程序的基本结构。实验2 :基本数据类型及其运算 课时分配:2学时 实验目的:
(1)掌握C语言的基本数据类型,学会变量的定义和赋值;(2)熟练掌握C语言有关运算符、表达式的使用方法;
(3)进一步熟悉C语言程序的编辑、编译、链接和运行的基本步骤。实验3: 顺序结构程序设计 课时分配:2学时 实验目的:
(1)熟练掌握各种基本类型数据的输入、输出方法;(2)熟练掌握赋值语句的使用方法;
(3)熟练掌握格式输入、输出函数的使用方法。实验4 :选择结构程序设计 课时分配:2学时 实验目的:
(1)掌握关系表达式、条件表达式以及逻辑表达式;(2)熟练运用if语句的不同形式编写程序;(3)掌握switch语句的使用方法。实验5: 循环结构程序设计 课时分配:2学时 实验目的:
(1)熟练掌握while,do„while,for语句的使用;(2)掌握在程序设计中用循环方法实现的一些常用算法;(3)进一步熟悉调试程序的方法。实验6: 函数 课时分配:2学时 实验目的:
(1)掌握实参和形参在函数间进行“值传递”的对应关系和传递方法;
(2)掌握函数的嵌套调用和递归调用;(3)理解变量的存储类别和作用域。实验7: 数组 课时分配:2学时 实验目的:
(1)掌握数值型数组的初始化和输入、输出的方法;(2)掌握字符数组的初始化和字符串的输入、输出方法;(3)掌握数组下标的表示方法。实验8: 结构体与共用体 课时分配:2学时 实验目的:
(1)掌握结构体类型和结构体变量的定义和使用方法;(2)学会构造合理的数据结构解决实际问题的方法;(3)理解动态内存分配的概念;(4)掌握简单链表的定义和操作;(5)掌握共用体数据的定义和使用方法;(6)掌握枚举类型数据的定义和使用方法。实验9: 指针 课时分配:2学时 实验目的:
(1)理解指针和地址的概念;掌握指针变量的定义和使用方法;(2)掌握用指针处理数组的方法;(3)掌握字符串指针的使用方法;(4)掌握函数的指针的使用方法;(5)掌握指针数组和指针的指针的使用方法;(6)掌握指针变量的运算。实验10: 文件 课时分配:2学时 实验目的:
(1)掌握文件的打开和关闭方法以及文件的读写方法;(2)了解文件的定位以及出错的检测。
六、教学方法手段
(一)教学方法
通过对基础知识的讲解,突出基本概念、基本思想的讲授和基本技能的训练,结合案例精讲多练,注重讲解与实际应用结合紧密的例题,加强实践练习。在教学过程中,贯穿“讲授式”、“启发式”、“案例式”、和“研讨式” 等教学方法。
注意教学方法的灵活性,教学过程中,借助现有的多媒体设备,灵活运用教学方法,再现问题情景,增加互动氛围,培养学员分析问题、解决问题的能力和探究意识。
作业量每次3-5题,难度应当适中,教员应做到定时批阅,及时讲评。
注重实践环节。实习课(20学时),在教员指导下,单人单机自主进行。实习内容根据程序设计基本技能中的要求合理设计,依次实施。
适当增加一些小型项目或以大作业的形式,使学员进一步加强学习的自主性,培养解决综合问题的能力。
(二)备课与课堂设计 1.备课
按照人才培养方案、课程标准和教学基本要求,在开课前需要深刻理解本课程各单元的主要教学内容,以课程教学组为基本单位组织集体备课,统一教学要求、统一授课标准、统一课程进度。认真撰写教案、制作课件并对针对重点如何突出、难点如何突破进行讨论与试教练讲。
2.课堂设计
将课程的全部教学内容分解落实到有限的25次课堂面授(50学时)和10次自主上机实习(20机时)之中去。在开课之前适当时候组织学员进行摸底考试,并且在开课后的两周之内及时组织召开教学联系会,全面了解学员对C语言的掌握情况和掌握程序设计方法的情况,以便因材施教,有的放矢。
七、教学评价
本门课程采用笔试与上机考试(机试)成绩相结合的方式评价。笔试成绩占70%,上机考试成绩占30%。
第五篇:C语言程序设计教学探究论文
[摘要]文章主要针对高职高专院校中《C语言程序设计》教学中出现的听得懂、编不出的现象,分析问题存在的原因,从教学的课程目标定位、教学内容和方法改革方面进行了探讨,提出只有教师的教学内容和教学方法进行合理的组合,提高学生的学习兴趣才能达到良好的教学效果。
[关键词]教学方法 案例教学 教学效果
《C语言程序设计》作为计算机专业的基础课,已经成为一门必修的课程,在整个课程体系中占有重要地位。在C语言教学过程中,从客观上讲,教师的教法和学生的学法的差异,对教学效果都会产生直接的影响。针对学生学习语言类课程的一般思维规律和思维模式,笔者结合多年来的教学经验和教学体会,把一些经验和方法总结出来,希望能对C语言教学有所帮助。
一、教学中存在的问题
《C语言程序设计》是一个逻辑性很强的课程。学生在毕业设计时会面临具体的设计要求的问题,它与任何一本教材中的内容相距甚远,这使大多数同学感到无从下手。这其中的原因可以分成两类:一方面目前高校使用的教材中,绝大多数结构都基本相同。在每一章介绍完了概念之后,提供一些例题解释相关概念的使用方法,并在章节结束后针对本章中出现的内容提供一些练习题。考试普遍采用单选、判断及简答等方式测试学生对于教材内容的掌握程度。从实际效果分析,实际上是测试学生对各章节中的基本概念记忆程度而不是理解程度。另一方面是在考试压力下,特别是目前的应试考试方式中,学生更多注意的是教材中的典型例题与老师指定的重点内容,对于程序的系统概念没有真正理解,特别是没有整体设计的概念。通过对各类考试结果的分析,可以注意到一个现象,在考试中涉及的综合编程部分,学生的得分率很低。为了确保学生的课程通过率,在考试时尽可能将综合测试部分的比例压低或提供学生统一复习提纲,这样做的结果就是学生在学习时一切围绕任课老师讲课的内容,特别是老师讲授的例题。学生在学习的过程中,没有注意如何综合运用相关内容解决具体问题,导致学生在学完程序设计课程进入应用阶段时,面对具体的专业设计要求无从下手。
二、提高程序设计课程教学效果的途径
1.明确课程目标
通过学习,学生应能正确理解语言的基本概念、语法、语义并得到充分的程序设计训练。C语言课程一般是为应用性教学而设置的,因此,强调实践性是计算机语言课程教学中特别要注意的问题。对于计算机语言课程的教授不应仅仅是传授知识,应该以培训能力为主。过分强调该语言的系统性和完整性可能会转移学生对课程重点的注意力。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序,一些细节、具体规则和进一步的知识可以让学生在今后的应用中查阅有关书籍。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。
2.进行教学改革
(1)教学内容改革
程序设计课程具有很强的实践性,要以社会对编程能力的需求和技术发展为依据,调整教学大纲和教学内容,以适应技术岗位能力要求,设计模块化课程体系。在课程设置与建设中,要充分体现教学内容在训练和提高学生培养学生实践能力方面的要求。适当增加实训教学内容,以强化学生的实际开发和应用能力,实现“零距离就业”。
(2)改变教学思想
①由整体到具体,培养学生对C语言的兴趣及正确的思维模式。《C语言程序设计》注重由设计算法到书写程序并进行调试的整个过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。在教学过程中,应该先介绍一个较完整的程序例子,该例子包含了该语言中的主要语句,目的是使学生先对程序有个初步的印象,再简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解,避免学生对学习语言望而生畏。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。
②一题多解,注重算法是程序设计的灵魂,是教学重点,也是教学难点,而语言只是表示形式。没有正确的算法,计算机将解决不了任何问题。对于C语言所涉及到的算法,应进行部分精讲多练。
(3)教学方法改革
①案例分析教学。通过案例分析,重点讲解程序设计的思想和方法,辅以语言知识的介绍,将课程内容分为若干个主题,以程序设计做为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习/上机实践”和“疑难解答”三个阶段组成。
②基于问题的教学。提出问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。
③“项目驱动”教学。在理论教学中采用“项目驱动”教学法,整个课程教学围绕一个“工程项目”进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将C 的知识点都溶化到一个个实训项目的程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握C 语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目的编程实践,逐步组建“教师管理系统”,并且添加文本菜单,整合扩展记录添加、排序、查询、统计和记录浏览等内容形成课程设计。
(4)课程考核方式改革
①平时上机训练时给学生留一些编程习题,每次根据学生编写情况进行测评并占据期末总成绩30%。
②期末前,给学生留一个综合实训题考核学生综合解决问题的能力,要求同学们在一周内完成,占据期末总成绩30%。
③期末进行理论考试,占期末总成绩的40%。
3.展示学生作品,激发学生的学习欲望
计算机软件课程具有多样性、复杂性和求异性特点,我们要针对每个学生任务完成的情况,让同学们展示自己的劳动成果,及时肯定学生的成绩,这样会有利于激发学生们的学习热情,保持浓厚的学习兴趣,对学生的后续学习将产生强大的动力和自信心,也可以对每次任务的完成情况进行积分制度,算入期末成绩中,以激发学生们的兴趣。
4.自始至终培养学生的自学能力
学生学习软件的最终目的是编写满足需求的程序,所以我们在教学中教授的不仅仅是具体语言的语法知识,更重要的是通过这门语言学习,培养学生遇到实际问题自己分析问题、解决问题的能力。我们可以通过给学生布置作业的形式让同学们自学,初始阶段往往会遇到因为学生自学能力差而带来的困难,所以在学生完成任务时,老师既要要求学生独立思考、自主学习,又要鼓励学生间进行协作学习。教师可以分配一些比较复杂的问题,由几个学生组成一个小组合作解决,这样同学们可以互相探讨学习方法,协作解决一些遇到的问题,通过解决问题,锻炼学生综合应用知识的能力、培养其创造性和合作精神。
参考文献:
[1]郭芹.对高职高专计算机专业程序设计教学的思考.中国科技信息,2008(1).[2]于丽杰,王育平,董楠萍等.面向对像程序设计综合实践课程教学模式的探索[J].高教论坛,2007.01.