C语言程序设计第四版PPT谭浩强.ppt_第1页
C语言程序设计第四版PPT谭浩强.ppt_第2页
C语言程序设计第四版PPT谭浩强.ppt_第3页
C语言程序设计第四版PPT谭浩强.ppt_第4页
C语言程序设计第四版PPT谭浩强.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、上周实验题讲解,P.6例1.1 P15习题5 教材例1.3 增加输入提示,便于用户操作 也可以不用函数 多次运行,测试各种顺序的组合 P15习题6 三个数比较:用max函数比较两次,第3章 顺序程序设计,3.1 最简单的程序结构顺序结构,数据输入,运算处理,结果输出,顺序结构流程,步骤1,步骤2,步骤3,阅读顺序结构实例,P.37-38例3.1 为什么要写 5.0/9 而不是 5/9? f 的值可否由用户输入? 本章要点: 数据的类型及运算 输入与输出,3.2 C语言的数据及运算,数据有类型(type),有具体的值(value)。 不同类型的数据存储格式不同,能够进行的运算也不同。 数据的形式

2、有常量,变量,表达式。,常量(Constant),运行过程中值不改变的量(类型也不变),直接常量 整型常量:1246 实型常量:45.96 -2.78e8 字符常量:A n(转义字符) 字符串常量 Hello World,常量(Constant),符号常量 #define PI 3.14159 不占内存单元 不可赋值 不指定类型 名称通常大写 使用符号常量的好处 P.41,运行过程中值不改变的量(类型也不变),变量(Variable),用于存放数据的一个存储单元 存放的数据即变量值 变量名是存储单元地址的一个名称 先定义,后使用 int a,b; 定义时指定变量类型编译时分配存储空间 命名规则

3、标识符的命名规则,标识符(identifier),标识一个对象(变量、符号常量、函数、数组、类型等)的名称 关键字不可作为标识符(附录C) 系统预定义的标识符如库函数名(附录F) 建议不要再定义,以免混淆,标识符命名规则,只包括字母、数字、下划线,以字母或下划线开头 区分大小写习惯上变量名小写,常量名大写 长度规定各编译系统不同 命名的良好习惯“见名知义”,常变量,C99新增 存储方式和用法都是变量,但只能在定义时赋值一次,C语言的数据类型,1.基本类型 整型、浮点型、字符型 2.派生类型 数组,结构体,共用体 3.指针类型 4.空类型 5.枚举型,整型数据(Integer) 整型常量,三种数

4、制的表示形式 十进制(Decimal):例如 61 八进制(Octal):例如 075 十六进制(Hexadecimal):例如 0 x3D,整型数据(Integer) 整型常量的类型确定,根据其值的范围自动确定类型(P51) 可赋值给能够容纳其值的各种整型变量 整常量后加l或L视为long int VC+中int就是long int 整常量后加u或U视为unsigned int,整型数据(Integer) 整型变量,根据占用内存字节数分类(P.45表3.2) 基本整型 int(长整型或短整型) 短整型 short int 长整型 long int 无符号整型 unsigned int在不同编

5、译系统中分配存储字节数各不相同,可用sizeof函数测试 例: printf(%d,sizeof(int);,浮点型数据(Floating point,即实型)浮点型常量,两种表示形式 十进制小数:例如 3.14159 指数形式:例如 1.72e3,main( ) float x; x=23456.789; printf(x=%e,x); ,2.345679e+004,对照一下%f的格式,浮点型数据浮点型变量,单精度 float 双精度 double 长双精度 long double 同一类型在不同的编译系统中分配存储字节数各不相同,可用sizeof函数测试,浮点型常量的类型确定,浮点型常量默

6、认为double类型 浮点型常量后加f或F视为float 浮点型数据的有效范围(P.50-51),练习:判断下面程序的运行结果,int main() float a; a=12; printf(%d,a); ,格式符与数据类型不相符,字符型数据(character)字符常量,一对单引号(即撇号 )括起的一个字符 用八进制或十六进制数(ASCII码)表示的字符,如101和x41 (P.40) 以 开头的控制字符(P.40表3.1),字符型数据(character)字符变量,使用char定义 保存一个字符 占用1个字节的内存空间,字符数据的存储与使用,在存储单元中保存字符的ASCII码 因此字符数

7、据可以参加算术运算 例如,字符数据的存储与使用,int main( ) char x, z; int y; x=65; printf(x=%cn,x+32); y=D; printf(y=%cn,y); printf(y=%dn,y); z=a-32; printf(z=%cn,z); ,字符串(string)概念,一对双引号()括起的字符序列 字符串长度:字符串中字符的个数 空串:长度为0的字符串(即一个字符都没有的字符串)表示为 ,字符串(string)存储方式,由5个字符组成的字符串在内存中占用6个字节存储空间,字符串结束符,占一个字节,由系统自动加上,源代码中不写,CHINA,字符常量

8、与字符串常量的区别,注意:,C语言只有字符变量,没有字符串变量 使用字符数组保存字符串,数值型数据的混合运算,整型(int, short, long)、浮点型(float, double, long double)、字符型(char)数据可混合运算 运算前先自动转换成同一类型 必定转换 floatdouble,charint 运算对象类型不同时由较低精度向较高精度转换成相同类型 精度:int unsighed long double,数值型数据的混合运算,练习:判断下面表达式的值 10 + a 10.1 * b,运算符和表达式,C语言的运算符(P.56, Operator),算术运算符 P.5

9、2 关系运算符 P.91 逻辑运算符 P.93 位运算符 待补充 赋值运算符 P.60 条件运算符 P.97 逗号运算符 P.123,指针运算符 Ch8.指针 求字节数运算符 强制类型转换运算符P.56 成员运算符 Ch9.结构体 下标运算符 Ch6.数组 其他 详见附录D,算术运算符和算术表达式,基本算术运算符,+ - * / % (求余),练习,判断算术表达式的值 5 / 3 5%3 5.1 / 3 5.1 % 3,算术运算符和算术表达式,自增、自减运算符,使变量值加1或减1 i+, i- 先使用i值再使i值加1(或减1) +i, -i 先使i值加1(或减1)再使用i值 可组成复杂的形式,

10、但建议不要滥用,算术运算符和算术表达式,自增、自减运算符,例1,main() int i, j; i=3; j=i+; printf(i=%d,j=%dn,i,j); ,i=4,j=3,算术运算符和算术表达式,自增、自减运算符,例2,main() int i,j; i=3; j=+i; printf(i=%d,j=%dn,i,j); ,i=4,j=4,算术运算符和算术表达式,运算符的优先级和结合性,附录D 由优先级别决定运算顺序 不同的运算符有不同的结合性,多为从左向右(左结合性),少数为从右向左(右结合性),算术运算符和算术表达式,强制类型转换运算符,系统不能进行自动类型转换时可使用强制转换

11、 (类型符)变量 (类型符)(表达式) 例 (int)(12.1/2.5) (int)12.1/2.5,3.3 C语句,C程序的构成,3.3 C语句(statement),C语句的分类 P.57-59,控制语句 函数调用语句 表达式语句 空语句 复合语句,赋值(Assignment)语句,赋值运算符 a=3+2 复合赋值运算符 a+=3 a=a+3 自右向左结合 P.61 实例尽量读懂,但建议不要采用太复杂的写法,赋值运算符和赋值表达式,赋值语句,赋值中的类型转换 赋值表达式,赋值语句 定义变量时赋初值初始化(initialize),数据输入输出的概念,输入(input):输入设备主机 输出(output):主机输出设备 C语言的输入输出由函数(function)实现 stdio.h 头文件包含标准输入输出库函数,printf(格式控制,输出表列),例:printf(a=%d, b=%f n , a , b/2),常量、变量、表达式,格式输出函数printf,printf 函数的基本格式符,%d 或 %i 十进制整数 %c 字符(一个字符) %s 字符串 %f 实数(小数形式) %e 实数(指数形式) 更多的格式符见P.74,输入函数scanf,scanf(格式控制,地址表列),例1:sca

温馨提示

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

评论

0/150

提交评论