第2章-C语言简介_第1页
第2章-C语言简介_第2页
第2章-C语言简介_第3页
第2章-C语言简介_第4页
第2章-C语言简介_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章-C语言简介语言简介11.6 C语言简介语言简介l一个简单的一个简单的Cl数据类型数据类型l算数和逻辑运算算数和逻辑运算l流程结构流程结构l指针、数组的定义和访问指针、数组的定义和访问l函数的定义、声明、调用函数的定义、声明、调用l结构体与共用体结构体与共用体第第2章章-C语言简介语言简介21.6 C语言简介:一个简单的语言简介:一个简单的C语言程序语言程序main()printf(“Hello wold.n”);l 每个每个C程序都有一个主函数程序都有一个主函数main;l C程序是由函数构成的;程序是由函数构成的;l “和和”内的部分是函数体;内的部分是函数体;l 每个语句以分号

2、每个语句以分号“;”结束;结束;l printf是是C的库函数一个函数。的库函数一个函数。第第2章章-C语言简介语言简介31.6 C语言简介:数据类型与变量定义语言简介:数据类型与变量定义l 常量常量直接常量直接常量 circle_a=3.1416*r*r;符号常量符号常量 #define PI 3.1416 /*定义符号常数定义符号常数*/ circle_a=PI*r*rl 基本变量类型基本变量类型int i1,i2; /*定义定义i1,i2为整型变量为整型变量*/short s1,s2; /*定义定义s1,s2为短整型变量为短整型变量*/long l1,l2/*定义定义l1,l2为长整型变

3、量为长整型变量*/unsigned 放在放在int, short, long之前说明为无符号类型之前说明为无符号类型第第2章章-C语言简介语言简介41.6 C语言简介:数据类型与变量定义语言简介:数据类型与变量定义 char 字符型字符型 floatdouble 单精度实型单精度实型双精度实型(浮点型)双精度实型(浮点型) enum 枚举类型枚举类型(在构造类型里介绍)(在构造类型里介绍)l 构造类型构造类型 结构体结构体 共用体共用体l 指针指针l 空类型空类型在在C语言中,使用一个变量之前必须先定义变量的类型,语言中,使用一个变量之前必须先定义变量的类型,编译时会根据指定类型分配存储空间,

4、并决定数据的存储编译时会根据指定类型分配存储空间,并决定数据的存储方式和允许操作的方式。方式和允许操作的方式。第第2章章-C语言简介语言简介51.6 C语言简介:变量的赋值语言简介:变量的赋值变量变量 = 表达式表达式说明:说明:l “=”是赋值符号;是赋值符号;l 赋值运算的方向由右向左。先计算表达式的值再赋值运算的方向由右向左。先计算表达式的值再给变量赋值;给变量赋值;l “变量变量 = 表达式表达式”在在C语言中称为赋值表达式,语言中称为赋值表达式,它等于被赋值变量的值它等于被赋值变量的值b=a=3+5; /*赋值后赋值后a,b都是都是8*/课外学习:如果赋值符号课外学习:如果赋值符号“

5、=”两边的类型不一致会两边的类型不一致会是什么结果?是什么结果?第第2章章-C语言简介语言简介61.6 C语言简介:标识符命名语言简介:标识符命名l标识符是给程序中的实体标识符是给程序中的实体变量、常量、变量、常量、函数、数组、结构体以及文件起名字。函数、数组、结构体以及文件起名字。l命名原则命名原则以字母或下划线开头,由字母、数字或下划线组以字母或下划线开头,由字母、数字或下划线组成的字符序列。成的字符序列。lNumber-of-move, piece flag, 5_7_9 都是不合法的都是不合法的C语言定义的关键字有专门含义,不能在用来命语言定义的关键字有专门含义,不能在用来命名实体名实

6、体长度因系统而异长度因系统而异第第2章章-C语言简介语言简介71.6 C语言简介:算术运算语言简介:算术运算l 5个双元运算个双元运算+, -, *, /, %l 自反算术运算自反算术运算a = a+b; 可以简写成可以简写成 a += b;另外还有另外还有 a -= b; a *= b; a/=b; a %= b;l 自加和自减运算自加和自减运算i = i+1;可以用;可以用 i += 1; 用用i+表示表示i = i-1; 可以用可以用 i -= 1; 用用i- -表示表示课后阅读:课后阅读:+i,和,和- -i和上面有什么区别和上面有什么区别一元运算、优先级问题一元运算、优先级问题第第2

7、章章-C语言简介语言简介81.6 C语言简介:关系运算和逻辑运算语言简介:关系运算和逻辑运算l 关系运算是指对两个运算量之间的大小比较关系运算是指对两个运算量之间的大小比较 (大于),(大于), = (大于等于),(大于等于), (小于),(小于), = (小(小于等于),于等于),!= (不等于)(不等于)l 关系运算的返回值只有两个:关系运算的返回值只有两个:“真真”或或“假假”l 3种逻辑运算种逻辑运算&(逻辑与)(逻辑与)| (逻辑或)(逻辑或)!(逻辑非)!(逻辑非)第第2章章-C语言简介语言简介91.6 C语言简介:语言简介:C语言的语句语言的语句l 表达式语句表达式语句赋值语句;

8、赋值语句; 如:如:i=1;i=a+b;x=sin(y)函数调用语句函数调用语句Printf(“hello worldn”);空语句空语句l 流程控制语句流程控制语句ifelse语句语句switch语句语句for语句语句while语句语句dowhile语句语句Continue,break语句语句第第2章章-C语言简介语言简介101.6 C语言简介:语言简介:C语言的语句语言的语句l选择结构选择结构(1)if(条件表达式)(条件表达式) 语句块语句块 /*如果只有一个语句如果只有一个语句 花括号可以去掉;花括号可以去掉;*/ 第第2章章-C语言简介语言简介111.6 C语言简介:语言简介:C语言

9、的语句语言的语句l 选择结构选择结构(2)if(条件表达式)(条件表达式) 语句块语句块 /*如果只有一个语句花括号可如果只有一个语句花括号可以去掉;以去掉;*/ else 语句块语句块 /*如果只有一个语句花括号可如果只有一个语句花括号可以去掉;以去掉;*/ 第第2章章-C语言简介语言简介121.6 C语言简介:语言简介:C语言的语句语言的语句l 选择结构选择结构(3)if(条件表达式)(条件表达式) 语句块语句块 /*如果只有一个语句花括号可如果只有一个语句花括号可以去掉;以去掉;*/ else if(条件表达式)(条件表达式) 语句块语句块 /*如果只有一个语句花括号可如果只有一个语句花

10、括号可以去掉;以去掉;*/ else 语句块语句块 /*如果只有一个语句花括号可如果只有一个语句花括号可以去掉;以去掉;*/ 第第2章章-C语言简介语言简介131.6 C语言简介:语言简介:C语言的语句语言的语句l 选择结构选择结构(4)swith (表达式表达式) case 常值表达式常值表达式1:语句块:语句块1case常值表达式常值表达式 2:语句块:语句块2 . . defaut :语句块语句块n 注意:每个语句块的最后一条语句通常是注意:每个语句块的最后一条语句通常是break语句(跳到语句(跳到多路选择或循环结构之后)多路选择或循环结构之后)第第2章章-C语言简介语言简介141.6

11、 C语言简介:语言简介:C语言的语句语言的语句l循环结构循环结构(1)while(条件表达式)(条件表达式) 循环体循环体 /*如果只有一个语句如果只有一个语句 花括号可以去掉;花括号可以去掉;*/ 第第2章章-C语言简介语言简介151.6 C语言简介:语言简介:C语言的语句语言的语句l循环结构循环结构(2) do 循环体循环体 /*如果只有一个语句如果只有一个语句 花括号可以去掉;花括号可以去掉;*/ while(条件表达式)(条件表达式)至少要执行一次循环体,与至少要执行一次循环体,与fortran语言的语言的do while语句不一样语句不一样第第2章章-C语言简介语言简介161.6 C

12、语言简介:语言简介:C语言的语句语言的语句l 循环结构循环结构(3)for(初始化表达式;条件表达式;修正表达式)(初始化表达式;条件表达式;修正表达式) 循环体循环体 /*如果只有一个语句如果只有一个语句 花括号可以去掉;花括号可以去掉;*/ 相当于:相当于: 初始化表达式;初始化表达式;while(条件表达式)(条件表达式) 循环体循环体 修正表达式;修正表达式;/for 中每个分句多个表达式是否可以?中每个分句多个表达式是否可以?第第2章章-C语言简介语言简介171.6 C语言简介:指针(语言简介:指针(1)l凡是在程序中定义的变量,在编译时都分凡是在程序中定义的变量,在编译时都分配相应

13、的存储单元。配相应的存储单元。例如,一般微机的例如,一般微机的C系统给整型变量分配系统给整型变量分配2个字个字节,实型分配节,实型分配4个字节。每个变量所占的存储单个字节。每个变量所占的存储单元都有确定的地址。例如元都有确定的地址。例如int a=3,b=4;float c=4.5,b=8.6;char e=x, f=y;其在内存情况如下图所示其在内存情况如下图所示第第2章章-C语言简介语言简介181.6 C语言简介:指针(语言简介:指针(2)l 编译时每个变量编译时每个变量名对应一个地址,名对应一个地址,在内存中不再出在内存中不再出现变量名而只有现变量名而只有地址。地址。l 通过变量名或地通

14、过变量名或地址访问一个变量址访问一个变量的方式称为的方式称为“直直接接”访问访问第第2章章-C语言简介语言简介191.6 C语言简介:指针(语言简介:指针(2)l 变量的变量的“间接访间接访问问”方式,就是方式,就是把一个变量的地把一个变量的地址放在另一个变址放在另一个变量中。量中。l 所谓指针就是地所谓指针就是地址址第第2章章-C语言简介语言简介201.6 C语言简介:指针变量的定义与访问语言简介:指针变量的定义与访问类型说明符类型说明符 *变量名;变量名;l 例如例如int *p; l p是一个指针变量,它指是一个指针变量,它指向一个整型变量。换句话向一个整型变量。换句话说说p中存放一个整

15、型变量中存放一个整型变量的地址。的地址。float *p1; double *p2;char *p3;l 指针也可以指向自定义的指针也可以指向自定义的数据类型数据类型int i, *i_pointer i_pointer = &i;i=3;*i_pointer=3;l 第第4个语句的含义是将个语句的含义是将3赋赋给指针变量给指针变量i_pointer所指所指向的变量。向的变量。l 所以第所以第3句和第句和第4句的作用句的作用一样一样 第第2章章-C语言简介语言简介211.6 C语言简介:数组语言简介:数组l 一维数组一维数组定义定义类型标识类型标识 数组名数组名常量表达式常量表达式;例如:例如

16、:int a5; /*定义一个数组定义一个数组a,它包含,它包含5个元素,每个元个元素,每个元素都是整型的素都是整型的*/数组元素的访问数组元素的访问数组名数组名下标下标;数组元素的下标是从数组元素的下标是从0开始的开始的对数组对数组a,其包含的,其包含的5个元素是个元素是a0,a1,a2,a3,a4第第2章章-C语言简介语言简介221.6 C语言简介:数组语言简介:数组l二维及多维数组二维及多维数组定义定义类型标识类型标识 数组名数组名常量表达式常量表达式常量表达式常量表达式;例如:例如:int a22; /*定义一个数组定义一个数组a,它是一个两行两,它是一个两行两列的数组,每个元素都是整

17、型的列的数组,每个元素都是整型的*/二维及多维数组的定义二维及多维数组的定义数组名数组名下标下标下标下标;同样,每一维也是从同样,每一维也是从0开始开始第第2章章-C语言简介语言简介231.6 C语言简介:数组计算机内存储示例第第2章章-C语言简介语言简介241.6 C语言简介:指针与数组语言简介:指针与数组l一个数组的名是代表它的起始地址一个数组的名是代表它的起始地址l如果指针变量如果指针变量p已指向数组中的一个元已指向数组中的一个元素,素,则则p+1指向同一数组中的下一个指向同一数组中的下一个元素元素。l引入指针变量后,就可以用两种方法引入指针变量后,就可以用两种方法来访问数组元素了。来访

18、问数组元素了。l如果如果p的初值为的初值为&a0,则:则:p+i和和a+i就就是是ai的地址,或者说它们指向的地址,或者说它们指向a数组数组的第的第i个元素。个元素。l*(p+i)或或*(a+i)就是就是p+i或或a+i所指向的所指向的数组元素,即数组元素,即ai。例如,。例如,*(p+5)或或*(a+5)就是就是a5。1.指向数组的指针变量也可以带下标,指向数组的指针变量也可以带下标,如如pi与与*(p+i)等价。等价。 因此可以动态申请数组因此可以动态申请数组例如例如 int *a; a = (int *)malloc(sizeof(int)*n); n是数组长度,可以在程序运行时确定是数

19、组长度,可以在程序运行时确定n的值,而不像数组定义那样需要的值,而不像数组定义那样需要常值表达式。常值表达式。第第2章章-C语言简介语言简介251.6 C语言简介:指针与数组语言简介:指针与数组l 用指针动态建立二维数组用指针动态建立二维数组l 例如,例如,m x n的矩阵的矩阵 int m, n, *a, i, j;a = (int*)malloc(sizeof(int*)*m);for(j=0; j name;s2-age;l 共用体的概念(自学)共用体的概念(自学)第第2章章-C语言简介语言简介271.6 C语言简介:函数语言简介:函数l 函数式的程序结构。程序整体由一个或多个函数组成。

20、每函数式的程序结构。程序整体由一个或多个函数组成。每个函数都具有各自独立的功能和明显的界面。个函数都具有各自独立的功能和明显的界面。第第2章章-C语言简介语言简介281.6 C语言简介:函数语言简介:函数l函数的定义包括函数的定义包括 函数类型(即函数值类型)函数类型(即函数值类型) 函数名函数名 形式参数的数目、类型形式参数的数目、类型 函数体内容函数体内容l函数定义形式如下函数定义形式如下 类型标识符类型标识符 函数名函数名(形式参数表列形式参数表列) 声明部分声明部分 语句语句 l例如例如double add(double a, double b)return (a+b); 第第2章章-C语言简介语言简介291.6 C语言简介:函数语言简介:函数l在函数调用之前往往进行声明在函数调用之前往往进行声明例如例如int

温馨提示

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

评论

0/150

提交评论