`
dai137hh
  • 浏览: 33290 次
社区版块
存档分类
最新评论

C语言

 
阅读更多

C语言
2011年10月02日
  结构 1.一个C语言可以由一个或多个源文件组成。   2.每个源文件可由一个或多个组成。   3.一个源程序不论由多少个文件组成,都有一个且只能有一个,即主函数。   4.源程序中可以有(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。   5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,和花括号“}”之后不能加分号。   6.,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。   1. C是中级语言。它把的基本结构和语句与低级语言的实用性结合起来。C 语言可以像一样对位、字节和地址进行操作,而这三者是最基本的工作单元。   2.C是结构式语言。结构式语言的显著特点是及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。   3.C语言功能齐全。具有各种各样的,并引入了概念,可使程序效率更高。而且计算功能、功能也比较强大,可以实现决策目的的游戏。   4. C语言适用范围大。适合于多种,如Windows、DOS、UNIX等等;也适用于多种机型。   C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型也是用C语言编写的。   指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。   对于一个初学者,是一个比较好的。界面友好,功能强大,调试也很方便。这是微软出的一个C语言集成开发环境(IDE),主要有:VC++6.0、VS2005.VS2008.VS2010等,分为企业版和学生版等。对于初学者VC++6.0是比较容易上手的,但其对标准支持的不好可能使人养成不良的编程习惯。   在unix/linux操作系统上,学习c语言一般使用vim/emacs来编辑源文件,使用gcc来编译源文件,使用make程序来管理编译过程。   C语言的祖先是BCPL语言。   1967年,的Martin Richards 对CPL语言进行了简化,于是产生了BCPL(Basic Combined Pogramming Language)语言。   1970年,美国的Ken Thompson。以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个操作系统。   在1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。   为了使UNIX操作系统推广,1977年 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。   1978年由(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchie合著了著名的《The C Programming Language》一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准化协会(American National Standards Institute)在此基础上制定了一个C语言标准,于一九八三年发表。通常称之为ANSI C。   K&R第一版在很多语言细节上也不够精确,对于pcc这个“参照编译器”来说,它日益显得不切实际;K&R甚至没有很好表达它所要描述的语言,把后续扩展扔到了一边。最后,C在早期项目中的使用受商业和政府合同支配,它意味着一个认可的正式标准是重要的。因此(在M. D. McIlroy的催促下),ANSI于1983年夏天,在CBEMA的领导下建立了X3J11委员会,目的是产生一个C标准。X3J11在1989年末提出了一个他们的报告[ANSI 89],后来这个标准被ISO接受为ISO/IEC 9899-1990。   1990年,ISO(International Organization for Standards)接受了89 ANSI C 为I SO C 的标准(ISO9899-1990)。1994年,ISO修订了C语言的标准。   1995年,ISO对C90做了一些修订,即“1995基准增补1(ISO/IEC/9899/AMD1:1995)”。1999年,ISO有对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,尤其是对C++中的一些功能,命名为ISO/IEC9899:1999。   2001年和2004年先后进行了两次技术修正。   目前流行的C语言大多是以ANSI C为基础进行开发的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。   简洁紧凑、灵活方便 C语言一共只有32个,9种,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对、和进行操作,而这三者是计算机最基本的工作单元。   运算符丰富 C语言的包含的范围很广泛,共有34种运算符。C语言把、、等都作为运算符处理。从而使C语言的运算类型极其丰富,类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。   数据类型丰富 C语言的数据类型有:、实型、字符型、数组类型、指针类型、、共用体类型等。能用来实现各种复杂的的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种和驱动器。且计算功能、逻辑判断功能强大。   同时对于不同的编译器也有各种   C是结构式语言 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。   语法限制不太严格,程序设计自由度大 虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。   允许直接访问物理地址,对硬件进行操作 由于C语言允许直接访问,可以直接对进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写。   生成目标代码质量高,程序执行效率高 一般只比汇编程序生成的效率低10へ20%。   适用范围大,可移植性好 C语言有一个突出的优点就是适合于多种操作系统,如、UNIX、windows 98.windows NT;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。   1. C语言的缺点主要表现在数据的性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大。   2. C语言的语法限制不太严格,对的类型约束不严格,影响程序的安全性,对不作检查等。从应用的角度,C语言比其他高级语言较难掌握。   C语言的运算非常灵活,功能十分丰富,运算种类远多于其它。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。   先要明确运算符按不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级为1 ~ 15,除第2.13级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序.   顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。   例如:a = 3,b = 5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c = a; a = b; b = c;执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b =c;则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。   顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有关系比较等条件判断的计算,设计这类程序时往往都要先绘制其,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。程序流程图是根据解题分析所绘制的程序执行流程图。   学习选择结构不要被选择嵌套所迷惑,只要正确绘制出流程图,弄清各选择语函数所要执行的功能,嵌套结构也就不难了。嵌套只不过是选择中又包括选择语句而已,不是新知识,只要对双分支的理解清楚,选择嵌套是不难的。下面我介绍几种基本的选择结构。   ①if(条件)   {选择体}   这种选择结构中的选择体可以是一条语句,此时“{}”可以省略,也可以是多条语句即复合语句。它有两条分支路径可选,一是当条件为真,执行分支体,否则跳过选择体,这时选择体就不会执行。如:要计算x的,根据绝对值定义,我们知道,当x>=0时,其绝对值不变,而x=0时,方程有两个实根,否则(b^2-4acc,d,x,y;   printf("Please put the number of a,b&c from the quadratic equation of one variable one by one\n");   scanf("%d%d%d",&a,&b,&c);   d=b*b-4*a*c;   if(dc;   for(a=1;ac=b*a;   printf("%dx%d=%d ",b,a,c);   }   printf("\n");   }   }   嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后,语句结构变得非常复杂,对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句。   ④switch开关语句:该语句也是多选择语句,到底执行哪一块,取决于开关设置,也就是表达式的值与表达式相匹配的那一路,它不同if…else语句,它的所有路径都是并列的,程序执行时,由第一分支开始查找,如果相匹配,执行其后的块,接着执行第2路径,第3路径……的块,直到遇到;如果不匹配,查找下一个分支是否匹配。这个语句在应用时要特别注意开关条件的合理设置以及break语句的合理应用。   “?”语句问号语句也是分支的一种,格式类似(aC语言中提供四种循环,即goto循环、while循环、do while循环和。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误,在学习中我们主要学习while、do…while、for三种循环。常用的三种循环结构学习的重点在于弄清它们相同与不同之处,以便在不同场合下使用,这就要清楚三种循环的格式和执行顺序,将每种循环的流程图理解透彻后就会明白如何替换使用,如把while循环的例题,用for语句重新编写一个程序,这样能更好地理解它们的作用。特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个,这是初学者的一个常见错误。   在学完这三个循环后,应明确它们的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而与构成的循环,是不能用和 continue语句进行控制的。   顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,我们均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成结构。   (4)模块化程序结构   C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。  总结
  判断语句(选择结构) 循环语句(循环结构) 跳转语句(循环结构:是否循环) 
  if 语句:“如果”语句 while 语句:“当…”语句 goto 语句:“转舵”语句 
  if―else 语句:“若…(则)…否则…”语句 do―while 语句:“做…当…(时候)”语句 break 语句:“中断”(循环)语句 
  switch 语句:“切换”语句 for 语句:条件语句(即“(做)…为了…”语句) continue 语句:“继续”语句(结束本次循环,继续下一次循环) 
  switch―case:“切换―情况”语句 
  return 语句:“返回馈”语句 
分享到:
评论

相关推荐

    C语言库函数速查手册 C语言库函数速查手册

    C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言库函数速查手册C语言...

    c语言小游戏c语言项目源码大全合集(60例).zip

    c语言小游戏c语言项目源码大全合集(60例): c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言UDP传输系统源码 c语言万年历源码 c语言五子棋源码 c语言俄罗斯方块 c语言做的一个任务管理器 c语言做的播放器...

    C语言期末大作业-C语言小游戏28个

    28个C语言小游戏(免积分下载)主要游戏名如下所示: c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言五子棋源码 (一个人用不了那么多可以几个人入手哦!) c语言别踩白块儿(双人)源码 c语言吃逗游戏源码 ...

    C语言期末大作业33个C语言系统,游戏,炫酷特效页面

    期末大作业-33个C语言程序(免积分下载),程序内容如下所示: c语言火车票订票管理源码 c语言电子时钟程序 C语言超市管理系统 c语言通讯录管理系统源码 c语言商品销售系统源码(用不了那么多可以和别人一起入手) ...

    C语言期中考试试题及答案-1.pdf

    C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试试题及答案C语言期中考试...

    C语言烟花代码C语言烟花代码

    C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言烟花代码C语言...

    C语言游戏源码 超级玛丽游戏源码

    C语言游戏源码 超级玛丽游戏源码C语言游戏源码 超级玛丽游戏源码C语言游戏源码 超级玛丽游戏源码C语言游戏源码 超级玛丽游戏源码C语言游戏源码 超级玛丽游戏源码C语言游戏源码 超级玛丽游戏源码C语言游戏源码 超级...

    C语言项目——火车订票系统.zip

    C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车订票系统.zip C语言项目——火车...

    C语言项目——MP3音乐播放器.zip

    C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——...

    DMA传输的C语言实现

    DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现DMA传输的C语言实现...

    C语言项目——企业员工管理系统.zip

    C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统.zip C语言项目——企业员工管理系统....

    C语言项目——图书管理系统.zip

    C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书管理系统.zip C语言项目——图书...

    C语言课程设计大作业 - 马里奥游戏源码.zip

    C语言课程设计大作业 - 马里奥游戏源码C语言课程设计大作业 - 马里奥游戏源码C语言课程设计大作业 - 马里奥游戏源码C语言课程设计大作业 - 马里奥游戏源码C语言课程设计大作业 - 马里奥游戏源码C语言课程设计大作业 ...

    (中文版)C语言编程:一本全面的C语言入门教程 (第3版)

    通过一系列实际情形的需求,引入关于程序设计的基本知识,加上由浅入深地比较了C语言不同语法以及各种语句的区别,能够全面掌握C语言的语法特点。除此之外,本书并不仅仅着眼于入门知识讲解,对C语言在大型应用程序...

    比特c语言课件C语言初阶

    比特c语言课件C语言初阶

    嵌入式c语言编程嵌入式c语言编程

    嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程嵌入式c语言编程...

    C语言超级玛丽游戏 C语言超级玛丽游戏

    C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽游戏C语言超级玛丽...

    c语言项目源码大全(60套可运行).zip

    c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言UDP传输系统源码 c语言奔跑的火柴人游戏源码 c语言别踩白块儿(双人版)源码 C语言超市管理系统 c语言吃逗游戏源码 c语言打字母游戏源码 c语言打字游戏代码 ...

    收集整理的简单易懂的60套C语言小游戏源代码(可运行,供学习设计参考).zip

    收集整理的简单易懂的60套C语言小游戏源代码(可运行,供学习设计参考): c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言UDP传输系统源码 c语言万年历源码 c语言五子棋源码 c语言俄罗斯方块 c语言做的一个...

    明解C语言_清晰版

    《明解c语言》是日本的c语言经典教材,自出版以来不断重印、修订,被誉为“c语言圣经”。作者在日本it界家喻户晓,出版过一系列极富影响力的计算机教材和参考书。其简洁、通俗的文风深受读者的喜爱。  《明解c语言...

Global site tag (gtag.js) - Google Analytics