第3章 变量类型算术运算

上传人:豆浆 文档编号:47565447 上传时间:2018-07-03 格式:PPT 页数:24 大小:227.50KB
返回 下载 相关 举报
第3章 变量类型算术运算_第1页
第1页 / 共24页
第3章 变量类型算术运算_第2页
第2页 / 共24页
第3章 变量类型算术运算_第3页
第3页 / 共24页
第3章 变量类型算术运算_第4页
第4页 / 共24页
第3章 变量类型算术运算_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《第3章 变量类型算术运算》由会员分享,可在线阅读,更多相关《第3章 变量类型算术运算(24页珍藏版)》请在金锄头文库上搜索。

1、温故而知新:1、合法的整型常量有哪三种形式,各自举 例说明。 2、用指数形式描述尾数为0.1的实型常量 0.0001 3、以下哪些字符常量是不合法的? n、 “n”、 n、 n、 、 63、 68、63、0xa 4、以下标识符,哪些是不合法的? int_1, int, Int, 1int, 1_var, var1, var-1, 变量11温故而知新:改错:l#includel#define PI 3.14 ; /字符常量lvoid main() l l int x; float f1,f2; char c; /定义变量l x=08; /x赋值为8l f1=2*PI*x; /求f1l f2=1.

2、23e.1; /f2赋值为0.123l c=a; /c1赋值为字符al 改:改:x=8;x=8;改:改:f2=1.23e-1;f2=1.23e-1;或或f2=0.123;f2=0.123;改:改:c1=a;c1=a;改:改:#define PI 3.14#define PI 3.142P42 标识符 l用于为程序中的变量、符号常量、数组 、函数、数据类型等操作对象命名l用户自定义标识符由字母、下划线和数字组成的字 符序列为一个标识符第一个字符必须是字母或下划线 “_”不能与关键字同名l所有的标识符都是区分大小写的。33.2.1 变量 1. 变量的有关概念l如例题3.1中的数据f和c,在程序运行

3、过程 中,其值可以改变,称为变量。l变量必须“先定义后使用”l系统为变量分配存储单元,存储变量的值 。 l编写程序时通过变量名来存、取变量值。f f? ?变量值变量值为变量分配的为变量分配的 存储单元存储单元变量名变量名 例如:例如: float f;float f; f f=64.0;=64.0;64.064.042. 变量定义变量定义的一般格式:数据类型说明符 变量1,变量2,.;例如:int age; double score;float x1,x2;char ch_1,ch_2,ch_3; 必须使用合法的标识符作变量名必须使用合法的标识符作变量名 变量变量必须在定义时必须在定义时显式指

4、定类型!显式指定类型!53.2.2 C语言的数据类型 本章讨论本章讨论 基本类型数据基本类型数据62.1 整型变量的类型及存储 整型变量的定义: int x1,x2; short int x3; long int x4; x1=10; x3=10; x4=-10; x2=021; 1整型数据的基本类型基本整型数据 int ,分配 2或4 Byte短整型数据 short int,分配 2 Byte长整型数据 long int,分配 4 Byte 整型数据均以二进制补码形式存 储7有符号和无符号整型数据有符号的整型数据 signed int无符号的整型数据 unsigned int区别是将最高位看

5、作符号位还是数据位例如:例如: 1 1111 1111 1010 1000 作为有符号数有符号数使用时,最高为符号位 为负数,值是:- 88- 88(再求一次补) 作为无符号数无符号数使用时,最高为数据位 为无符号的数,值是:65448654488整型数据的类型及规定l方括号表示可选项l在vc+6.0(32位编译器)中,short分配2 Byte, int分配4 Byte, long 分配4 Bytel注意整型数据计算过程中的溢出问题类型名称类型符Byte取值范围整型 短整型signed int signed short int 2或4 2-215215-1 (-3276832767 )无符号

6、整型 无符号短整型unsigned int unsigned short int 2或4 20 216-1 (065535 )长整型signed long int4-231231- 1无符号长整型 unsigned long int40 232-192.2 实型变量的类型及存储实型变量的定义: float f, c; double area; f=12.3; c=1.23e1; area=12.3; 1实型数据的类型 单精度实型数据 float,分配4 Byte双精度实型数据double,分配 8 Byte10实型数据的类型及规定 类型类型符Byte绝对值的范围有效数字单精度型float410

7、-37 103878 位双精度型double810-307 103081516位长双精度long double1610-4932 1049321819位l浮点数在内存的存储是不精确的! 例如,float varf;varf=5.2*5.2;printf(“%f”,varf); /得到27.039998/而不是27.04l注意有效数字的位数。112.3 字符型变量的类型及存储 字符型变量的定义: char ch1,ch2,ch3; unsigned char ch; ch1=a; ch2=1; ch=$; ch=n;l字符型数据char,分配 1 Byte l字符型数据是指字母、数字、各种符号等

8、用 ASCII值存储的字符l例如 a 是一个char类型数据,变量ch1中存储 : 0 1 1 0 0 0 0 10 1 1 0 0 0 0 1122.3 字符型数据与整型数据可以通用具体表现为:1、可以将整型量赋值给字符变量,也可以将字符量赋值 给整型变量。例如:int x; char ch; x=a; ch=97; 2、可以对字符数据进行算术运算,相当于对它们的 ASCII码进行算术运算。例如:x=1*2; /则x值为983、一个字符数据既可以以字符形式输出(ASCII码对应 的字符),也可以以整数形式输出(直接输出ASCII码)。例如:char x=a; printf(“%d,%c”,

9、x ,x); /输出:97,a 课后练习133.6 变量的初始化:允许在说明变量的时候对变量赋初值 。 例如:float f=3.56;/相当于 float f; f=3.56;int a=5,b=10+2; /相当于 int a,b; a=5; b=10+2;double x=23.568,y ; char ch1=a,ch2=66,ch3=142; 表示定义变量并对变量存储单元赋值。14+ - * / % + - + - = += -= *= /= %=a=a+1表达式的值为5,且 a=6, b=5 20说明:l+ 和 - 的运算对象只能是变量(或运算结果 是变量的表达式), 不能是常量(

10、或运算结果 是数值的表达式)。 例如: 5+、(a+2)+ 不合法。 l具有右结合性,结合方向为从右到左。 例如: a+ 等价于 -(a+) l如果有多个运算符连续出现时,C系统尽可能 多的从左到右将字符组合成一个运算符 例如: i + j 等价于 ( i+)+j-i+-j 等价于 -(i+)+(-j) 21混合 运算中数据类型的转换1. 数据类型的自动转换l转换原则: 自动将精度低、表示范围小的自动将精度低、表示范围小的 运算对象类型向精度高、表示范围大的运算运算对象类型向精度高、表示范围大的运算 对象类型转换对象类型转换 char, shortchar, shortdoubledouble

11、longlongfloatfloatunsignedunsignedintint高精度高精度低精度低精度例如有定义: int a=100;char ch=1;表达式: a-ch*2+35La-ch*2+ 35.37 long37.0 double223. 数据类型的强制转换 l强制转换的一般形式(类型名) 表达式例如: (int)x 1/(float)a+6l lP56P56l l注意:注意:( (float)float) 2222/5 /5 与与 (float)(float) ( (22/522/5) ) 不同不同l l错误的类型转换:错误的类型转换: b= b= intint (3*a) (3*a) 23作业 1、求表达式的值和类型(写出求解过程) 1)double x=2.5,y=4.7;int a=7; 计算:x+a%3*(int)(x+y)%2/4 2)double x=3.5,y=2.5;int a=2,b=3; 计算:(float)(a+b)/2+(int)x%(int)y 2、写出下面程序的运行结果: #include void main() int i,j,m,n; i=8; j=10; m=+i; n=j+; printf(“%d,%d,%d,%dn”,i,j,m,n); 24

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号