C语言是一种什么语言?
B、高级语言。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
C语言:通用程序设计语言
目前最著名、最有影响、应用最广泛的windows、linux和UNIX三个操作系统都是用C语言编写的。0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件中最庞大最复杂的系统软件。既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?由此可以肯定的说,c语言是一门十分优秀而又重要的语言。
c语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。
从市面上有关c语言的书籍和高等院校采用的教材来看,它们有一个共性,那就是:脱离了实际应用(全是小打小闹的小例子),纯粹的过程性程序设计,没有软件工程思想的体现,没有一定程序设计风格,仅仅是为了让大家明白什么是c语言而已。
高等院校开设c语言程序设计的目的是让学生对程序设计有个入门,有个直观的理解,同时为其他后续课程作铺垫。但是如果教学仅仅以此为目的,那么教学本身就效果而言是个大大的失败。
大家知道,在商业上讲究唯利是图,“利”是商业追求的目标,离开了“利”经商,则商无动力,其结果是必败无疑。在c语言程序设计教学当中,教师应该把“唯用是图”作为教学的首要目标。如果抛开了实际应用进行程序设计教学,就是纸上谈兵,就是“说明书”式的教学。印度的程序设计课程采用“事件驱动式”教学,我认为在中国的c语言程序设计教学中应该采用“项目驱动式”教学。“项目驱动式”教学就是以项目为目的,以c语言理论教学为过程,最终能用c语言设计项目,实现项目的要求。“项目驱动式”教学的关键在于培养学生“如何做什么”和“可以干什么”。一个项目就是一个工程,在“项目驱动式”教学中,首先应该让学生简单了解什么是软件工程思想,其次在c语言理论教学过程中,让学生懂得面向对象的程序设计的风格,最后引导他们来设计项目。
(二)“项目驱动”式教学应注意的问题
1.c语言程序设计教学要帮助学生树立面向工程的观点
在计算机行业中,软件是通过人们的智力活动、把知识与技术转化成信息的一种产品。软件的设计已经用工程的观念来进行管理。软件设计工作被当作一项系统工程来对待。软件的的生存周期一般可分为以下阶段:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。我们不难看出软件工程的复杂程度是很大的。理工科高等院校把c语言作为一门基础课程,也是为了给社会培养信息技术人才。众所周知,养成一个好的习惯是非常重要的,所以c语言程序设计作为大多数工科院校学生接触的第一门程序设计语言(有的院校讲pascal),就应该让学生树立正确的观点。那么当前的程序设计教学也必须以切合将来软件工程开发的实际需要为第一目标,使学生在学习程序设计的初级阶段就树立正确的软件工程观点。这样做不仅可以为学生将来从事计算机应用设计打下良好的基础,而且有利于培养学生分析问题的完备性,以及统筹全局,协调关系的基本素质。
2.理论教学应从单一的“结构化程序设计”向“结构化与面向对象并举”转变
“结构化程序设计”方法是程序设计的基础,必须让学生掌握得坚实可靠。结构化程序设计的过程是培养学生思维能力的过程,在教学中经常发现有些学生的思维混乱。这些都是缺乏思维训练的结果。结构化程序设计的训练不仅可以让学生养成良好的程序设计习惯,而且可以有效地培养学生思维的条理性和逻辑性。所以在授课过程中要注意讲解结构化程序设计的思想时应突出两点:(1)程序的质量首先取决于它的结构。(2)程序设计的基本方法是自顶向下地逐步求精和模块化。
在c程序教学过程中,越到后面的章节,学生越会产生设计程序逐渐变难的感觉,这是不符合逻辑的一种怪现象。按照常理,C语言学的越多,说明你的程序设计知识越多,设计起程序来应该更加得心应手,那么出现这种现象的原因何在呢?当然该问题的出现的原因是多方面的,但是其中最重要的一点就是长期以来程序设计的观念不是以如何处理好对象为出发点,而是以如何使用好语言为基本点。受这种思想的影响,我们的程序设计教学大多数不是以如何解决好问题为重点,而是以讲解语法规则和语句格式为重点,是“说明书”式的教学。这样做造成的结果就是见到一个程序后学生首先想到是该用哪条语句,而不是思考怎样合理的解析。要切实解决这个问题,首先应该改变程序设计的观念。“面向对象程序设计”思想是目前最为流行、极为实用的一种程序设计方法,但是让学生直接接触“面向对象程序设计”,肯定不能对程序设计打下牢固的基础。“结构化与面向对象并举”是现代计算机程序设计的发展趋势,应该认真探索研究,让学生有一个较为轻松的学习过程。程序设计的实质就是编写处理对象的过程,所以将c与c++有机的融为一体的教材应该是首选教材,在教学过程中,我们应该从社会发展的角度进行探索研究,将目前最为流行又极为实用“面向对象程序设计”思想融合到c语言教学中。
3.c语言教学应培养学生良好的程序设计风格
具有良好的设计风格应该是程序员所具备的基本素质,在实际的项目中程序员往往都有自己的一些编程风格。目前95%以上的程序设计书籍不注重程序设计风格问题,这导致了很多学生没有良好的程序设计风格,在他们刚刚毕业踏入社会时,如果周围的同事没有良好的编程风格,那么很难通过环境来使自己提高这方面的素质,即使有提高也不容易比较全面的提高。因此在学生接触的第一门程序设计语言教学中,就应该培养学生良好的程序设计风格,使他们一进工作环境就具备这个素质。
Pascal设计者N.Writh教授十分重视程序设计风格的养成,他坚信“教给学生们以表达他们思维的语言会深深地影响他们思维和创造发明的习惯,而正是这些语言本身的混乱直接影响着学生们的程序设计的风格”,他这里所指的“这些运用”是当时那些主要用于程序设计教学的计算机语言。对学生来讲,一开始就强调程序设计风格很有必要,良好的程序设计风格不仅有助于提高程序的可靠性、可理解性、可测试性、可维护性和可重用性,而且也能够促进技术的交流,改善软件的质量。所以培养良好的程序设计风格对于初学者来说非常重要。
程序设计风格,实际上是指的是编码风格。在教学过程中应从源程序文档化,数据说明的原则,输入/输出方法这三个方面培养学生的编码风格,进而从编码原则探讨提高程序的可读性、改善程序质量的方法。
(1)源程序文档化。编码的目的是产生程序,但是为了提高程序的可维护性。源代码是需要实现文档化的。源程序文档化包括选择标识符(变量和标号)的名字、安排注释以及标准的书写格式等。
①选择标识符的命名规则。标识符包括模块名、变量名、常量名、标号名、子程序名等。这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能顾名思义。另外在模块名、变量名、常量名、标号名、子程序名中使用下划线是一种风格。使用这一技术的一种广为人知的命名规则就是匈牙利命名法(变量类型由一个或两个字符表示,并且这些字符将作为变量名的前缀)。当然使用匈牙利命名法与否都没有错误,重要的是要保持一致性——在整个程序中使用相同的命名规则。这就是说,如果你在一个小组环境中编程,你和其他小组成员应该制定一种命名规则。并自始至终使用这种规则。如果有人使用了别的命名规则,那么集成的程序读起来将是很费劲的。此外,你还要与程序中用到的第三方库(如果有的话)所使用的风格保持一致。如果可能的话,你应该尽量使用与第三方库相同的命名规则,这将加强你的程序的可读性和一致性。
②注释。程序中的注释是程序设计者与程序阅读者之间通信的重要手段。注释能够帮助读者理解程序,并为后续测试维护提供明确的指导信息。因此,注释是十分重要的,大多数程序设计语言提供了使用自然语言来写注释的环境,为程序阅读者带来很大的方便。注释分为功能性注释和序言性注释。
a.功能性注释。功能性注释在源程序中,用以描述其后的语句或程序段是在做什么工作,也就是解释下面要“做什么”,而不是解释下面怎么做。对于书写功能性注释,要注意以下几点:第一描述一段程序,而不是每一个语句。第二利用缩进和空行,使程序与注释容易区别。第三注释要准确无误。
b.序言性注释。序言性注释通常位于每个程序模块的开头部分,它给出程序的整体说明,对于理解程序具有引导作用。有些软件开发部门对序言性注释做了明确而严格的规定,要求程序编制者逐项列出。有关内容包括:程序标题;有关该模块功能和目的的说明;主要算法;接口说明:包括调用形式,参数描述,子程序清单;有关数据描述;模块位置(在哪一个源文件中,或隶属于哪一个软件包);开发简历:模块设计者、复审考、复审日期。
③用标准的书写格式。源程序清单的书写建议采用以下几点:
a.每行只写一条语句;
b.用分层缩进的写法显示嵌套结构层次,这样可使程序的逻辑结构更加清晰,层次更加分明。
c.书写表达式时适当使用空格或圆括号作隔离符。
d.在注释段周围加上边框;
e.注释段与程序段、以及不同的程序段之间插入字行;
(2)数据说明采用的原则。在编写程序时,要注意数据说明的风格。
数据说明的次序如果规范,将有利于测试,排错和维护。首先说明的先后次序要固定,例如,按常量说明、简单变量类型说明、数组说明用数据块说明、所有的文件说明的顺序说明。当然在类型说明中还可进一步要求,例如按如下顺序排列:整型量说明、实型量说明、字符量说明、逻辑说明。
其次当用一个语句说明多个变量名时,应当对这些变量按字母的顺序排列。
最后对于复杂数据结构,应利用注释说明实现这个数据结构的特点。
(3)输入/输出方法。输入/输出的方式和格式应当尽量避免因设计不当给用户带来的麻烦。这就要求,源程序的输入/输出风格必须满足能否为用户接受这一原则。所以在设计程序时,应考虑以下原则:输入数据时,要使输入的步骤和操作尽可能简单,应允许使用自由格式输入;应允许缺省值;对输入的数据要进行检验,以保证每个数据的有效性。
(三)结束语
在教学过程中,我们让学生设计一个程序模拟体育彩票的销售与对奖的过程,取得了良好的效果。他不仅启发和诱导了学生独立思考、积极思维的主动性,而且充分调动了学生学习的自觉性和积极性,使学生融会贯通地掌握了所学知识,提高了分析问题和解决实际问题的能力。
搞好c程序设计的教学工作涉及的因素很多,如果以项目来驱动教学,首先让学生树立面向工程的思想,其次把教学从单一的“结构化程序设计”向“结构化与面向对象并举”转变,最后特别要培养学生养成良好的编码风格,从而使他们学会能够“干什么”,那么我们认为教学目的就达到了。
.C语言是一种( D )。A.机器语言 B.汇编语言 C.中级语言 D.高级语言2.C语言中大多数语句结尾必须要用( B )作为终止符,否则不认为该语句结束。A. 逗号, B. 分号; C. 句号。 D. 冒号:3.C语言中运算对象必须是整型的运算符是(D )。A.+ B./ C.* D. %4.定义一个变量使之保存值的范围是0-255,应该选择( C )类型。A.unsigned int B.int C.unsigned char D.char5.如果定义char i = -3;,则i在存储单元中的二进制值是( C )。A. -0000 0010 B. 1000 0010 C. 1111 1110 D. -1111 11106.如果定义int j = 9/2;,则j =( B )。A. 1 B. 4 C. -2 D.4.59.设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句( B )。if (x=y) printf(" x is equal to y."); A. 语法错 B. 不能判断x和y是否相等C. 编译出错 D. 能判断x和y是否相等10.设有数组定义:char array[ ]="China";则数组array所占的空间为( B )。A.7字节 B.6字节 C.5字节 D.4字节11.为表示关系x>y>z,应使用的C语言表达式是( D )。A.(x>y)&(y>z) B.(x>y)AND(y>z)C.(x>=y>=z) D.(x>y)&&(y>z)12.下列函数定义中正确的是( D )。A. int square(double x) B. double square(double x){return x*x;} {return x2;}C. void square(double x) D. double square(double x){return x*x;} {return x*x;}13.下列属于正确的C语言赋值语句的是( C )。(变量已经正确地定义)A.i++,j++, B.i+==1;j++;C.i=1;j=j+1; D.i=i+1.14.下面正确的标识符是(D )。A. 5smart B. double C. bomb? D. _decision15.一个C程序的执行是从(C )。A.本程序中的main函数开始,到main函数的结束。B.本程序中的第一个函数开始,到本程序的最后一个函数的结束。C.本程序中的main开始,到本程序的最后一个函数的结束。D.本程序中的第一个函数开始,到本程序文件的main函数的结束。16.以下数组定义正确的是( A )。A.int a [0x10]; B.char 8th[10]; C.char ch [-10]; D.float f (10);17.有定义int x;,则结束while(x)循环的条件是( B )。A.当x的值为非1时 B.当x的值为1时C.当x的值为非0时 D.当x的值为0时18.语句while(!C);中的表达式!C等价于( A )。A. C==0 B.C!=0 C.C!=1 D.C==119.在Turbo 2.0中,若定义 int i;则变量i在内存中分配的字节数是( C )。A.4个 B.3个 C.2个 D.1个
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。
C语言是一种用于编写各类软件程序的高级编程语言。它也是一种图灵完备型的编程语言。
c语言,是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
语言是一种特殊的社会现象
称语言是一种特殊的社会现象,是说语言的社会特征有别于其他社会现象.特殊之处有三:1、语言,是人们交流思想、表达感情、传播信息的工具,是人类最重要的交际工具.包括口头语言、书面语言和内心语言,其基本单位是词和句.语言是以语音为物质外壳、以词汇为建筑材料、以语法为结构规律而构成的体系.这个特征...
语言和言语不同,语言是一种( )
社会现象。常见的社会现象有哪些:1、不愿为朋友的成功鼓掌,却愿为陌生的悲惨捐助人们往往不愿为朋友的成功鼓掌,喜欢带点妒忌,带点酸,带点仰望,高处不胜寒的境遇,在当今成了特有的对成功者的描述。然而我们却肯为陌生的悲惨捐助,伸出援手,一好一坏,我们往往更愿意同情糟糕的,却让祝福好的...
语言是一种什么工具?
(一)语言是工具具有全民性,没有阶级性 (二)语言是交际工具信息论观点:人们的交际是信息的交流 信息A→编码→输出→传递→输入→解码→信息B 正常的交际应该是“信息A=信息B”;但有时不相等,例如说者有心,听者无意;说者无意,听者有心;话中有话,话外有音等。(三)语言是最重要的交际工具...
世界上的8大语言是什么?
据联合国世界主要语种、分布与应用力调查资料报道,新的世界十大语言依次是:1、英语 2、汉语 3、德语 4、法语 5、俄语 6、西班牙语 7、日语 8、阿拉伯语 9、韩语(朝鲜语)10、葡萄牙语
什么是语言?
语言的第四个功能是它还有一种发展、构建、延伸、自我审视、自我检验和调整的功能。我杜撰了一个词,叫做“种树定律”。什么意思呢?语言是人造出来的,就好比人种了一棵大树,这棵树种下去,它自己会生长,会往大了长,它会遮蔽这个人,也会帮助这个人,它也会自我检验,也会有所调整。语言出现以后...
语言是什么?
其次,语言系统中各种因素的相互影响是语言发展的内部原因,决定着语言发展的特殊方向。语言是符号系统,它内部的各种因素处于对立统一的关系之中,相互间呈现一种平衡的状态。如果其中某一种因素发生变化,破坏了原有的平衡,那么系统内的有关部分就会重新调整相互间的关系,达到新的平衡。语言中语音、词义...
语言是一种特殊的文化现象及其特殊性就在于语言具有什么功能和什么功能...
一般地说,语言有三种基本功能:(1)从人与文化的关系看,语言是文化信息的载体,是人类保存、传递、领会人类社会历史经验和科学、文化、艺术成就的手段;(2)从人与世界的关系看,语言是人认识世界的工具,人们既用语言进行思维,又用语言调节行为;(3)从人与人的关系看,语言是交际方式和交流思想...
语言的定义是什么?
语言是大脑的反映。(乔姆斯基)语言是人类最重要的交际工具。(列宁)语言既是交际的工具,又是社会斗争和发展的工具。(斯大林)语言是思维、认知、交际的工具。(我们现在通常这样说)语言是思想(包括观念和感情)交际的一种手段或工具。(皮耳斯贝里一米德尔)语言的本质是交际。(舒查德特)语言是...
语言学概论怎样理解语言是一种社会现象
语言学概论:怎样理解语言是一种社会现象?答:语言是一种特殊的社会现象,是人类最重要的交际工具。这首先,可以从语音与语义的结合关系以及世界语言的多样性来加以说明。 语言都是由语音和语义结合而成的,但相同的意义,在不同的语言中就能用不同的声音来表达;在同一语言中也有用相同的声音来表达...
语言是一种符号系统,当用作文化交流的时候,它就是文化信息的容器和载...
许国璋——《许国璋论语言》书中指出:语言是一个符号系统,当作用于文化的时候,它是文化信息的容器和载体,学习一门语言就相当于学习一种文化。许国璋 职业:教师 生卒:1915年11月25日-1994年9月11日 代表作品:著有《许国璋语文论集》、《欧洲文化史导论》...简介:而另外一本汇聚许国璋...
石鲍邦欣: B、高级语言. C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发.C语言能以简易的方式编译、处理低级存储器.C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言. 尽管C...
恭城瑶族自治县13257346741: C语言属于哪一类语言? - ?
石鲍邦欣: c语言是计算机的高级语言.高级语言主要是相对于汇编语言而言的,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序.C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言,能以简易的方...
恭城瑶族自治县13257346741: c语言是什么??
石鲍邦欣: C语言是一种计算机程序设计语言.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围广泛. C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的. C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画.它是数值计算的高级语言.
恭城瑶族自治县13257346741: c语言是什么 - ?
石鲍邦欣: 1. C是中级语言.它把高级语言的基本结构和语句与低级语言的实用性结合起来.C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元. 2.C是结构式语言.结构式语言的显著特点是代码及数据的分隔化...
恭城瑶族自治县13257346741: c语言是什么??
石鲍邦欣: C语言是Combined Language(组合语言)的中英混合简称.是一种计算机程序设计语言.它既具有高级语言的特点,又具有汇编语言的特点.它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发.
恭城瑶族自治县13257346741: C语言是什么?
石鲍邦欣: C语言是一种面向过程的计算机程序设计语言.最初为unix而生.它既有高级语言的特点,又具有汇编语言的特点.它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.因此,...
恭城瑶族自治县13257346741: c语言是什么? - ?
石鲍邦欣:是一种计算机程序设计语言.它既具有高级语言的特点,又具有汇编语言的特点.它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言.
恭城瑶族自治县13257346741: 什么叫C语言?
石鲍邦欣: 编程语言的一种,有独立的语法结构体系.
恭城瑶族自治县13257346741: C语言是什么??
石鲍邦欣: 这是一种最基础的高级编程语言!