第一章C概述.ppt
C语言发展历史C语言特点C程序格式和结构特点C程序上机步骤第一章 C语言概述程序设计语言的发展CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU1.1 C语言发展历史52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN90产生背景产生背景产生过程产生过程时间时间:19721973地点地点:美国贝尔实验室美国贝尔实验室目的目的:UNIX操作系统操作系统设计人设计人:Ken.Thompson和和Dennis.M.RitchieC标准标准标准标准C:K&R合著合著The C Programming LanguageANSI C:1983年年87 ANSI C:1987年年1990年国际标准的年国际标准的ANSI CC语言发展过程语言简洁、紧凑、灵活语言简洁、紧凑、灵活运算符和数据类型丰富运算符和数据类型丰富程序设计结构化、模块化程序设计结构化、模块化生成目标代码质量高生成目标代码质量高可移植性好可移植性好中级语言1.2 C语言特点:(由系统定义,不能重作其它定义由系统定义,不能重作其它定义)auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while32个关键字if()elsefor()while()dowhile()continuebreakswitchgotoreturn9种控制语句算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=!=!=逻辑运算符:!逻辑运算符:!&|&|位运算符位运算符 :|&|&赋值运算符:赋值运算符:=及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:,指针运算符:指针运算符:*&求字节数求字节数 :sizeofsizeof强制类型转换:强制类型转换:(类型)类型)分量运算符:分量运算符:.-.-下标运算符:下标运算符:其它其它 :()-()-34种运算符:基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void定义类型定义类型typedef数值类型数值类型字符类型字符类型char枚举类型枚举类型enum整整 型型浮点型浮点型单精度型单精度型float双精度型双精度型double短整型短整型short长整型长整型long整型整型int数组数组结构体结构体struct共用体共用体union C C 数据类型:数据类型:例1.1 第一个程序 Hello,World!/*example1.1 The first C Program*/#include main()printf(“Hello,World!”);注释编译预处理函数语句输出:Hello,World!1.3 C程序格式和结构特点/*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函数语句预处理命令注释例1.2习惯用小写字母,大小写敏感习惯用小写字母,大小写敏感不使用行号,无程序行概念不使用行号,无程序行概念可使用空行和空格可使用空行和空格常用锯齿形书写格式常用锯齿形书写格式main().main()int i,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);优秀程序员的素质之一:使用TAB缩进对齐有足够的注释有合适的空行格式特点格式特点函数与主函数函数与主函数程序由一个或多个函数组成程序由一个或多个函数组成必须有且只能有一个主函数必须有且只能有一个主函数main()程序执行从程序执行从main开始,在开始,在main中结束,其它函数通过嵌中结束,其它函数通过嵌套调用得以执行。套调用得以执行。程序语句程序语句C程序由语句组成程序由语句组成用用“;”作为语句终止符作为语句终止符注释注释/*/为注释为注释,不能嵌套不能嵌套不产生编译代码不产生编译代码例:/*This is the main /*of example1.1*/*/非法v编译预处理命令结构特点结构特点编辑链接编译执行C程序开发步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe1.4 C程序的上机步骤