Presentation is loading. Please wait.

Presentation is loading. Please wait.

第三章 C 数据及其表达式 2 回顾  程序是为执行一项任务而编写的有序指令集  算法是解决问题的具体方法和步骤  流程图是算法的图形化表现形式  C 程序的编译和运行过程  编译器将源程序转换成机器能理解的程序  连接器用于连接相关的目标文件以生成可执行程序  进制间的转换  补码.

Similar presentations


Presentation on theme: "第三章 C 数据及其表达式 2 回顾  程序是为执行一项任务而编写的有序指令集  算法是解决问题的具体方法和步骤  流程图是算法的图形化表现形式  C 程序的编译和运行过程  编译器将源程序转换成机器能理解的程序  连接器用于连接相关的目标文件以生成可执行程序  进制间的转换  补码."— Presentation transcript:

1

2 第三章 C 数据及其表达式

3 2 回顾  程序是为执行一项任务而编写的有序指令集  算法是解决问题的具体方法和步骤  流程图是算法的图形化表现形式  C 程序的编译和运行过程  编译器将源程序转换成机器能理解的程序  连接器用于连接相关的目标文件以生成可执行程序  进制间的转换  补码

4 3 目标  理解变量和常量的含义  熟悉基本数据类型 - int 、 char 、 float 和 double  使用算术运算符  理解赋值运算符、逗号运算符  理解类型转换

5 4 程序 指令 C 语言中的基本元素 标识符 关键字 常量 运算符 分隔符 等 常量是在程序中保持不变的量 常量用于定义具有如下特点的 数据:  在程序中保持不变  在程序内部频繁使用  需要用比较简单的方式替代 某些值

6 5 变量 程序 内存 编写程序时,常常需要将数据存储在内存 中,方便后面使用这个数据或者修改这个 数据的值。 通常使用变量来存储数据。使用变量可以 引用存储在内存中的数据,并随时根据需 要显示数据或执行数据操纵。 存储 Rate Rate * 5% 将值存储为 DiscAmt Rate-DiscAmt 10 0.5 将值存储为 Result 9.5

7 6 声明和使用变量 声声明变量: Datatype variablename; 定定义时初始化变量: Datatype variablename = value; 定定义后初始化变量: variablename = value; 给变量赋值,除了给一个直接的值以外,还可以通过计算获得。

8 7 变量命名 在 C 语言中,变量命名需要遵循一定的规则 有效名称 principal cost_price marks_3 lastname city 无效名称 123rate currency$ discount% zip code  变量的命名规则:  变量名可以由字母、数字和 _ (下划线)组合而成  变量名不能包含除 _ 以外的任何特殊字符,如: % 、 # 、 逗号、空格等  变量名必须以字母或 _ (下划线)开头  变量名不能包含空白字符(换行符、空格和制表符称为 空白字符)  C 语言中的某些词(例如 int 和 float 等)称为保留字, 具有特殊意义,不能用作变量名  C 语言区分大小写,因此变量 price 与变量 PRICE 是两 个不同的变量

9 8 基本数据类型 数据属于不同类别 Africa The quick brown fox TRUE 数据 非数值 数值 整型 非整型 9002.12 999 9/12/2003 2.175 123 Jackie Chan char 数据类型 非数值数值 整型 int short int long int double float 非整型

10 9 整型 名称全称类型说明符缩写类型说明符位数范围 整型 int 16 -32768 至 +32767 无符号整型 unsigned intunsigned16 0 至 65,535 短整型 short intshort16 -32768 至 +32767 无符号短整型 unsigned short intunsigned short16 0 至 65,535 长整型 long intlong32 -2,147,483,648 至 2,147,483,647 无符号长整型 unsigned long intunsigned long32 0 至 4,294,967,295

11 10 使用整型变量 声声明: int page_number; long int population; unsigned int age; 可可按如下方式初始化: page_number = 0; int max_marks = 100; 在同一语句中可以声明多个类型相同的变量: int page_number, copies, paper_width; 三种整型常量 ( 整常熟 ) 表示法: 十进制 : 16 八进制 : 016 十六进制 : 0x16

12 11 单精度浮点型 float 在 C 语言中用于存储单精度浮点数 float 32 位 10 -38 至 10 +38 , 7 位有效数字  声明: float selling_price;  初始化: float selling_price = 11.3; selling_price = 65.90; 两种浮点型(实数)常量表示法: 十进制形式 : 41.235, -12.0,.5 指数形式 : 2e4, 1.8e-3, -123e-6, 3.5e+4

13 12 双精度浮点型 内存 float double 213.5671435568967 64 位 取值范围: 10 -308 至 10 308 16 位 有效数字  声明:  double pressure_level;  初始化:  pressure_level = 213.5671435568967;  double dvalue = 35.4;

14 13 在线保险单 年龄: _____ 保险总额: _____ 性别: _____ 字符型 23 98340 ' M ' int/float char

15 14 ' '5' 'p' '$' ' ' '5' 'p' '$' "2" '2' 正确 '2' + '2' = 4

16 15 声声明: char sex; 初初始化: sex=‘m’; char sex=‘m’; 字符在内存中按照 ASCII 码存放的 ;

17 16 ASCII 码表 值符号值 值 0 空字符 44,91[ 32 空格 45-92\ 33!46.93] 34"47/94^ 35#48 ~ 570 ~ 9 95- 36$58:96` 37%59;97 ~ 122a ~ z 38&60<123{ 39'61=124| 40(62>125} 41)63?126~ 42*64@127 DEL (Delete 键 ) 43+65 ~ 90A ~ Z

18 17  在 0~255 范围内,字符型数据和整型数据是通用的。字 符型数据可以以字符形式输出,也可以以整数形式输出 main() { char c1,c2 = ‘B’; int a1; c1=97; a1=‘b’-32; printf("%c,%d\n",c1,c1); printf("%c,%d\n",a1,a1); } 运行结果: a , 97 B , 66 字符型数据和整型数据通用

19 18 转义字符名称描述 \a 警告产生一则警告。 \b 退格将光标回退一格。 \n 换行将光标移到下一行的第一格。 \r 回车将光标移到当前行的第一格。 \t 水平制表将光标移到下一个水平制表位置。 \' 单引号产生一个单引号。 \" 双引号产生一个双引号。 \? 问号产生一个问号。 \\ 反斜线产生一条反斜线。 \0 空产生一个空字符。 \ddd 用 8 进制表示字符 c= ’ \101 ’ ; \xhh 用 16 进制表示字符 c= ’ \x41 ’ ; 转义字符

20 19 算术运算符 算术 一元 二元 二元 操作数 运算符 5/3=? 5%3=?

21 20 算术运算符 算术 一元 -- ++ num++ num=num+1 num-- num=num-1 ++num --num num++ num-- 前缀后缀 二元

22 21 算术运算符 表达式如何计算结果 (num1=5) num2 = ++num1; num2 = num1++; num2 = --num1; num2 = num1--; num1 = num1 + 1; num2 = num1; num1 = num1 - 1; num2 = num1; num1 = num1 + 1; num2 = 6; num1 = 6; num2 = 5; num1 = 6; num2 = 4; num1 = 4; num2 = 5; num1 = 4;

23 22  优先级 1. C 语言规定了各种运算的优先级。 2. 优先级的规定符合思维习惯。 例如在算术运算中,先 * / 后 + - 。 3. 利用()提高程序的可读性。  结合性 运算符号和运算对象的结合方向。 例如算术运算符的结合性是从左向右,所以 7-5 是 用 7 减去 5 得 2 ,而不是 5 减去 7 得 -2 。 运算符的优先级和结合性

24 23 赋值运算符: = 复合赋值运算符: += <<= -= >>= *= &= /= ∧ = %= |= (结合性 ← ) 变量 = 表达式 已知: int a=12; a += a -= a * a; (1) a = a - a * a = -132 (2) a = a + ( -132 ) a += b a = a + b 赋值表达式: 将表达式的值存入变量所表示 的内存单元中。 赋值运算

25 24 说明 : ▲ 结合方向:自右向左 ▲ 优先级 : 14 ▲ 左侧必须是变量,不能是常量或表达式 赋值表达式的值与变量值相等, 且可嵌套 赋值转换规则 : 使赋值号右边表达式值自动转换成其 左边变量的类型 例 3=x-2*y; a+b=3; 例 float f; int i; i=10; f=i; 则 f=10.0 例 int i; i=2.56; // 结果 i=2; 例 : a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) <> // 表达式值为 5 , a,b,c 值为 5 // b=5;a=5 // 表达式值 11 , c=6,a=11 // 表达式值 10 , a=10,b=4,c=6 // 表达式值 5 , a=5,b=10,c=2 例 : a=12; a+=a-=a*a 例 : int a=2; a%=4-1; a+=a*=a-=a*=3;

26 25  逗号表达式的一般形式 表达式 1 ,表达式 2 , …… ,表达式 n 表达式 1 ,表达式 2 , …… ,表达式 n 将两个以上的表达式连接成逗号表达式。 将两个以上的表达式连接成逗号表达式。  逗号表达式的运算过程 是从左向右,依次对表达式求值。 是从左向右,依次对表达式求值。  逗号表达式的值 逗号表达式的值是表达式 n 的值。 逗号表达式的值是表达式 n 的值。 例: x = a = 3 * 5, a * 4 ; 则: x = 15 , a = 15 。 x = ( a = 3 * 5, a * 4 ); 则: x = 60, a = 15 。 x = ( a = 3 * 5, a * 4 ); 则: x = 60, a = 15 。 逗号运算

27 26 ◆ 说明: 结合性 : 从左向右 优先级 : 15 逗号表达式的值:等于表达式 n 的值 用途:常用于循环 for 语句中 例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); //a=15, 表达式值 60 //a=15, 表达式值 20 // 赋值表达式,表达式值 18 , x=18 // 逗号表达式, 表达式值 18,x=3 //1,2,3 //3,2,3

28 27 类型转换  自动类型转换  原则:把表示范围小的类型的值转换到表示范围大的 类型的值  short  int  long  float  double  强制类型转换  语法: ( 类型名 ) 变量或数值  例如: int a = 5, b = 3; float qu = (float)a / b; qu=a/b;

29 28 已知: int i=3; long e=4; float f=1.5; douible d=2.0; f = 10 + ‘ a ’ + i * f - d / e f = 107 + 4.5 - 0.5 f = 111.5 - 0.5 f = 111.0

30 29 总结 1  常量是在程序中不能被更改的值;而变量在程序 中可以被更改的,通过变量可以引用存储在内存 中的数据  C 语言中的基本数据类型包括整型、单精度浮点 型、双精度浮点型和字符型  整型分为短整型、整型、长整型,每种整型又可 分为有符号型和无符号型

31 30 总结 2  单精度浮点型和双精度浮点型变量可以存储实数, 但双精度型取值范围要比单精度型大的多  字符型变量可以存储单个字符,其值是该字符的 ASCII 码  算术运算符提供运算功能,包括 + 、 - 、 * 、 / 、 % 、 ++ 和 —  逗号运算符于赋值运算符的优先级与结合性


Download ppt "第三章 C 数据及其表达式 2 回顾  程序是为执行一项任务而编写的有序指令集  算法是解决问题的具体方法和步骤  流程图是算法的图形化表现形式  C 程序的编译和运行过程  编译器将源程序转换成机器能理解的程序  连接器用于连接相关的目标文件以生成可执行程序  进制间的转换  补码."

Similar presentations


Ads by Google