第1、2章C语言概论_第1页
第1、2章C语言概论_第2页
第1、2章C语言概论_第3页
第1、2章C语言概论_第4页
第1、2章C语言概论_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、第第 3 3 版版n C C语言(一种程序设计语言)语言(一种程序设计语言)n用途用途n适用范围适用范围n语法规定语法规定n 程序设计(一种能力和思维方式)程序设计(一种能力和思维方式)n基本设计方法基本设计方法n算法概念算法概念n程序调试程序调试n 正确看待正确看待C,C+,Java等语言:等语言: 近年来,有一些面向对象的计算机语言陆续问世,受到欢迎。有些人认为面向过程的C语言已经过时了,不必学了。这是一种误解。n 这门课的两个目标:这门课的两个目标: C的语法,程序设计方法,程序调试。的语法,程序设计方法,程序调试。 在学校中,学习程序设计课程的目的是掌握设计程序的思路,学会用计算机语言

2、编写程序,以实现所需处理的任务。n 算法是灵魂:(文以载道)算法是灵魂:(文以载道) 不能设想今后一辈子只使用在学校里学过的某一种语言。但是,无论用哪一种语言进行程序设计,其基本规律是一样的。n 程序是调试出来的:程序是调试出来的: 程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行,希望读者一定要重视实践环节,包括编程和上机。n 熟悉不同的熟悉不同的IDE(集成开发环境):(集成开发环境): 使用哪一种编译系统并不是原则问题,重要的是编程能力的培养。程序编好以后,用哪一种编译系统进行编译都可以。n怎样进行程序设计的最基本概念和方法怎样进行程序设计的最基本概念和方法n

3、不仅仅适用于不仅仅适用于c c语言语言n第二章只是一个开始,后面将贯穿整个课程。第二章只是一个开始,后面将贯穿整个课程。n程序程序n为了达到某一目标而进行的具体步骤。n程序的两个基本特点:由多个步骤构成,步骤之间有顺序机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象引入变量t:部分积i:每次要乘的数main()

4、int i,t; t=1; i=2; while(i=5) t=t*i; i=i+1; printf(“%d”,t); t1i2当i5t=t*ii=i+1输出t开始t=1;i=2titi+1ii5输出t结束Y YN Nn将控制和数对应起来(建模)?L1L210090(X,Y)1.1 C语言发展历史1.2 C语言特点1.3 C程序格式和结构特点1.4 C程序上机步骤*产生背景产生背景*应用需求应用需求:界于汇编和高级语言之间的中级语言界于汇编和高级语言之间的中级语言*产生过程产生过程*时间时间:19721973地点地点:美国贝尔实验室美国贝尔实验室目的目的:UNIX操作系统操作系统设计人设计人:

5、 Ken.Thompson和和Dennis.M.Ritchie*C标准标准*标准标准C: K&R合著合著The C Programming Language(Brian W. Kernighan和和Dennis M. Rithchie) 1978年年ANSI C: 1983年年87 ANSI C: 1987年年1990年国际标准的年国际标准的ANSI C1960:ALGOL 语言离开硬件远,不适合编写系统软件1963:CPL 语言(剑桥大学)接近硬件1967:BCPL 语言(剑桥大学)简化1970:B语言(Bell实验室)1973:C语言(Bell实验室)改进进一步简化1978:传统C

6、语言1990:ANSI C语言规模庞大K&R著作ISO修订n语言简洁、紧凑、灵活语言简洁、紧凑、灵活n运算符和数据类型丰富运算符和数据类型丰富n程序设计结构化、模块化程序设计结构化、模块化n生成目标代码质量高生成目标代码质量高n可移植性好(较之汇编语言)可移植性好(较之汇编语言)n可以直接操纵硬件可以直接操纵硬件例1.1 第一个程序 Hello,World!main() printf(“Hello,World!”);Hello,World!n32个关键字个关键字n34种运算符种运算符n5种数据类型种数据类型n9 9种控制语句种控制语句nC程序结构特点程序结构特点nC程序格式特点程序格式

7、特点n类型说明符auto char constdouble enum extern float int long register short signed sizeof static struct unsigned union void volatilen2 语句、定义符break case continue default do else for goto if return switch while typedefn3 预处理命令字 (*) define include 算术运算符:算术运算符:+ - + - * * / % + - / % + -关系运算符:关系运算符: = != =

8、!=逻辑运算符:!逻辑运算符:! & |& |位运算符位运算符 : | & | &赋值运算符:赋值运算符:= = 及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:, ,指针运算符:指针运算符:* * & &求字节数求字节数 :sizeofsizeof强制类型转换:强制类型转换:( (类型)类型)分量运算符:分量运算符:. -. -下标运算符:下标运算符:其它其它 :( ) - ( ) - (负号负号) )数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整 型浮点型

9、单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union5种数据类型种数据类型nif( )elsenfor( )nwhile( )ndowhile( )ncontinuenbreaknswitchngotonreturn例1.1 第一个程序 Hello,World!/* example1.1 The first C Program*/#include main() printf(“Hello,World!”);注释编译预处理函数语句输出:Hello,World!n程序语句(程序语句(statement )和声明)和声明(declara

10、tion)n C程序由语句组成,用程序由语句组成,用“;”作为语作为语句终止符句终止符n 声明:对变量等的定义或说明声明:对变量等的定义或说明n函数(函数(function)n 函数是语言的基本单位函数是语言的基本单位n 能完成一定的功能能完成一定的功能n 由一组语句和声明构成由一组语句和声明构成nc程序由函数构成程序由函数构成n 程序由一个或多个函数组成程序由一个或多个函数组成n 必须有且只能有一个主函数必须有且只能有一个主函数main()n 程序执行从程序执行从main开始,在开始,在main中结束,其它函数通过嵌套调用得中结束,其它函数通过嵌套调用得以执行。(习惯上把以执行。(习惯上把m

11、ain()函数函数放在最前面)放在最前面)n注释注释n /* */为注释为注释,不能嵌套不能嵌套n 不产生编译代码不产生编译代码C程序结构特点/* calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; retur

12、n(z);/* example1.1 calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);运行结果:sum=34函数语句预处理命令注释n习惯用小写字母,大小写敏感习惯用小写字母,大小写敏感n

13、不使用行号,无程序行概念不使用行号,无程序行概念n可使用空行和空格可使用空行和空格n常用锯齿形书写格式常用锯齿形书写格式main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);优秀程序员的素质之一:n使用TAB缩进n对齐n有足够的注释n有合适的空行C程序格式特点函数头函数体函数名(参数列表) 说明部分 语句部分int add(int x,int y) int z; z=x+y; return(z);print5stars(

14、) printf(“*”);/* example1.1 calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);main() int x,y; x=3; y=6; int max; max=xy

15、?x:y; printf(“max=%dn”,max); 帕斯卡和加法器帕斯卡和加法器霍列瑞斯和第一台制表机霍列瑞斯和第一台制表机阿德勒曼博士和阿德勒曼博士和DNADNA计算机计算机大型化小型化文件和文件系统文件和文件系统文件和文件系统文件和文件系统文件和文件系统文件和文件系统一级一级二级二级三级三级图图.目录的树状结构目录的树状结构文件文件3子目录子目录5文件文件6子目录子目录7文件文件2子目录子目录4根目录根目录子目录子目录1文件文件1子目录子目录2子目录子目录3文件文件4文件文件5子目录子目录6文件文件7文件文件8文件和文件系统文件和文件系统n每个目录结构下只有一个根目录每个目录结构下只有一个根目录, ,根目录处于最根目录处于最顶层顶层, ,表示为表示为: .: .n树状结构的每一级树状结构的每一级( (根目录除外根目录除外) )上既可以有子目上既可以有子目录录, ,也可以有文件存在也可以有文件存在. .n同一目录下同一目录下, ,不允许有相同的子目录名或文件名不允许有相同的子目录名或文件名. .目录的字符表示,用来标志文件或文件目录的字符表示,用来标志文件或文件夹夹( (目录目录) )所在的位置所在的位置. .路径路径: :文件和文件系统文件和文件系统文件和文件系统文件和文件系统例1.1 第一个程序 Hello,World!main() printf(“Hello,Wo

温馨提示

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

评论

0/150

提交评论