第2章C语言数据类型与基本操作.ppt
《第2章C语言数据类型与基本操作.ppt》由会员分享,可在线阅读,更多相关《第2章C语言数据类型与基本操作.ppt(45页珍藏版)》请在三一办公上搜索。
1、1,常量和变量标识符与关键字整型数在计算机中的存储方式有符号的数据类型和无符号的数据类型运算符及表达式不同类型数据间的转换,第二章 C语言数据类型与基本操作,2,数据类型,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,3,基本类型,类型,关键字,取值范围,位数,说明:数据类型所占位数随机器硬件不同而不同,上表以微机为例:,long double 80 1e-49311e4932,字符型,浮点型,整 型,4,整型常量 十进制:例 15,19,123,-345,0 八进制:以 0(零)开头的整数,例 0123,011 十六进制:以 0 x 或 0X 开头的整数,例 0 x
2、123,0Xff,注:用 l或 L表示一个数是长整型,例 123L;无符号数用 u 或 U表示,无符号长整型用 ul 或 UL 表示,例:123u,0 xful,问题:0123=()100 x123=()100Xff=()10,例 12 与 12L,例 30000 为int型 65536 为long int 型,2.1 常量与变量,5,实型常量 格式:(必须有小数点)例 0.123,.123,123.0,0.0,123.指数格式:(必须有 数字 在 e 或 E的前面;指数 必须是 整型)例:12.3e3,123E2,1.23e4,e-5,1.2E-3.5,注:用 f 或 F 注明是单精度,用l
3、 或 L 注明是长双精度,没有注明则是 双精度.,6,字符常量和转义字符用单撇号括起来的一个字符;,一个字符的值可用ASC数值表示;,如 101-A 012-n 376-x61-a 60-0 483-(),例:A-101-x41-65,如 A65,a97,048,n10,如 a A?n 101,特殊形式的字符常量就是以一个“”开头的字符序列,称为转转义字符。例:n(换行);,例 转义字符举例(ch2_001.c,ch2_004.c)main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Tur
4、bo C);,运行结果:(屏幕显示)A B CI say:”How are you?”C ProgramTurbo C,例 main()printf(Yb=n);,运行结果:屏幕显示:¥,7,注:字符与字符串的区别.,字符串常量用 双撇号 括起来的0个或多个字符序列;在内存中用0 作结束标记,它是一个空操作.,8,常用大写字母,与变量名区分开来。不是一个变量,是一个常量。符号常量可以是:整型常量 实型常量 字符常量 字符串常量,如#define PRICE 30,符号常量 定义:用一个标识符代表一个常量#define 标识符 代表的常量,例 符号常量举例(ch2_1.c)#define PRI
5、CE 30main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);,运行结果:total=300,9,变量 变量 及 赋值 定义变量:数据类型 var1,var2,var n;,一个变量可以边定义边赋值;,例:int a,b,c;float data;,变量类型决定变量所占存储空间大小,变量名,例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;,所有变量必须先定义后使用。.,例1 int student;stadent=19;/U
6、ndefined symbol statent in function main,例2 float a,b,c;c=a%b;/illegal use of floating point in function main,一般在函数开始部分定义.,10,整型变量占 2 字节bytes;shortintlongsizeof(type)求字节数,实型变量单精度:占 4 bytes,7 位有效数值双精度:占 8 bytes,1516位有效数值,字符变量 以 ASC 字符集中的数值保存在内存中;字符可以当作一般整型数来处理.,例 float a;a=111111.111;/*a=111111.1*/do
7、uble b;b=111111.111;/*b=111111.111*/,例 a=D;/*a=68;*/x=A+5;/*x=65+5;*/s=!+G/*s=33+71;*/,C程序 中没有 字符串变量,11,例#define PRICE 12.5 main()int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(total=%f,ch1=%cn,total,ch1);,运行结果:total=37.500000,ch1=d,12,2.2 标识符和关键字,-标识符一个标识符可由字母、数字和下划线组成;必须用字
8、母或下划线开头;大小写要区分;不能用保留关键字作变量名;避免混淆的字母;例如:l 与 I,o 与 0.,例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name#33 lotus_1_2_3 char ab _above$123,13,32 个关键字:(由系统定义,不能重作其它定义)auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof
9、 static structswitch typedef unsigned union voidvolatile while,-关键字,14,2.3 整型数在计算机中的存储方式,1.二进制位与字节 计算机系统的内存储器,是由许多称为字节的单元组成的,1个字节由8个二进制位(bit)构成,每位的取值为0/1。最右端的那1位称为“最低位”,编号为0;最左端的那1位称为“最高位”,而且从最低位到最高位顺序,依次编号。图11-1是1个字节各二进制位的编号。图11-1 1个字节各二进制位的编号2.数值的原码表示数值的原码表示是指,将最高位用作符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值
10、(以二进制形式表示)的表示形式。为简化描述起见,本节约定用1个字节表示1个整数。,15,2.3 整型数在计算机中的存储方式,例如,+9的原码是00001001 符号位上的0表示正数-9的原码是10001001。符号位上的1表示负数 3.数值的反码表示数值的反码表示分两种情况:(1)正数的反码:与原码相同。例如,+9的反码是00001001。(2)负数的反码:符号位为1,其余各位为该数绝对值的原码按位取反(1变0、0变1)。例如,-9的反码:因为是负数,则符号位为“1”;其余7位为-9的绝对值+9的原码0001001按位取反为1110110,所以-9的反码是11110110。,16,2.3 整型
11、数在计算机中的存储方式,4.数值的补码表示数值的补码表示也分两种情况:(1)正数的补码:与原码相同。例如,+9的补码是00001001。(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。例如,-9的补码:因为是负数,则符号位为“1”;其余7位为-9的绝对值+9的原码0001001按位取反为1110110;再加1,所以-9的补码是11110111。已知一个数的补码,求原码的操作分两种情况:(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位不变,其余各位取反,然后再整个数加
12、1。,17,2.3 整型数在计算机中的存储方式,例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111。5.数值在计算机中的表示补码在计算机系统中,数值一律用补码表示(存储),原因在于:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。,18,2.4 有符号的数据类型和无符号的数据类型,表2.3基本数据归纳,19,2.5 运算符及表达式,算术运算符:
13、+-*/%+-关系运算符:=!=逻辑运算符:!&|位运算符:|&赋值运算符:=+=-=条件运算符:?:逗号运算符:,地址运算符:*&求字节数运算符:sizeof强制类型转换:(type-name)分量运算符:.-下标运算符:其他:()-,20,赋值运算符和复合赋值运算符及表达式简单的赋值运算=变量=表达式,复合的赋值运算符+=-=*=/=%=&=|=变量1 操作符=表达式2 变量1=变量1 操作符 表达式2,例 a=3;d=func();c=d+2;,21,算术运算符及表达式运算符:+-*/%(取余)+(自增)-(自减)运算规律:从左至右优先级:%-*/-+-(1)(2)(3)注:两个整数/是
14、 整型;两个整数%是 整型.,例 5/2=-5/2=,例 5%2=-5%2=1%10=5%1=5.5%2,例 5/2=2-5/2=-2(向零取整),例 5%2=1-5%2=-1 1%10=1 5%1=0 5.5%2(),22,自增、自减运算符+-自增、自减在变量前面:+i,-i(在表达式中,先自加(自减)后用其值)在变量后面:i+,i-(在表达式中,先用其值再自加(自减)),例 j=3;k=+j;j=3;k=j+;j=3;printf(%d,+j);j=3;printf(%d,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4
15、,/3,/c=20,a=4,/c=15,a=4,23,注意:只针对变量,而不针对常量和表达式;不要产生二义性;运算规律是自右至左。如 8+(x*y)+,j=-(+k);k=4 j=-4,j=-(k+);k=4 j=-3,例 k=3;j=-+k;j=-k+;,解决办法避免在同一表达式中的同一变量的自加自减.,例:i=3;y=(i+)+(i+),y=6 i=5 y=3+3;i+;i+;y=7 i=5 y=3+4;i+;,24,2.不使用连续运算符,用括弧分隔。,例1:i=3;j=1;x=i+j;,例3:i=3;printf(%d,%d,i,i+);,x=i+(+j);x=5 i=3 j=2 x=(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型 基本 操作
链接地址:https://www.31ppt.com/p-5635511.html