第2章 C语言程序设计初步.ppt
《第2章 C语言程序设计初步.ppt》由会员分享,可在线阅读,更多相关《第2章 C语言程序设计初步.ppt(48页珍藏版)》请在三一文库上搜索。
1、第2章 C语言程序设计初步,2.1 数据和数据类型 数据是程序加工、处理的对象,也是加工的结果。 数据类型是程序语言中具有同样的性质的数据集合.,整型 int (integer的缩写) 字符型 char (character的缩写) 单精度型 float 基本类型 实型(浮点型) 双精度型 double 数组类 数据类型 构造类 结构体 struct 共用体 union 枚举类 enum 指针类 空类型 void,2.2.1 常量与变量 1常量在程序运行中其值不能被改变的量,常量区分为不同类型。如 123,456: 整型常量 a,A,b,1,0: 字符常量 123.0, 3.5 : 实型常量
2、“123”,“A”:字符串常量,例3_1 已知圆半径r,求圆面积和周长的值。 #define 3.14159 main( ) int area,perimeter; int r; r=3; area=*r*r; perimeter=2*r; printf(“area=%dn”,area); printf(“perimeter =%dn”, perimeter); ,符号PI代替常量3.14159 , 称为符号常量 符号常量的定义是在编译预处理语句里进行的,称为宏定义 符号常量一般用大写 符号常量在其作用域内值不能改变(不能被赋值) PI =35; 符号常量在编译时被常量替换,2.符号常量用一个
3、标识符代表一个常量,提高程序 的可修改性和灵活性。,定义格式: #define 标识符 常量,3. 变量,(1) 变量:其值可以改变的量。 在内存中占据存储单元,在该单元中存放变量的值,必须先定义,后使用。,程序里的一个变量可以看成是个存储数据的容器,它的功能 就是可以存储数据。,变量的定义格式: 类型说明符 变量名表; 定义的变量名称最好和存放数据的意义对应。,例: int a,b,c; /*说明a,b,c为整型变量*/ char cc; /*说明cc为字符变量*/ double x,y; /*说明x,y为双精度实型变量*/,#define PRICE 30 main( ) int num,
4、total; num=3; total=num*PRICE; printf(“total=%dn”,total); num=4; total=num*PRICE; printf(“total=%dn”,total); ,90,num,total,对变量的基本操作有两个: 1.“赋值”:向变量中存人数据值。 2.“取值”:取得变量当前值、以便在程序运行过程中使用。,3,4,120,*同一个变量一旦重新赋值,原来的值就不再存在。,2.2.2 整型数据及其表示,1. 整型类型,取值范围:,2. 整型常量,十进制:123,-456,0 八进制:以0开头(零),01, 012 0123=(123)8=(
5、83)10 十六进制:以0x开头,0x123=(123)16=(291)10 0xF=( f )16 = (15)10 长整型常量:123L,-456l,二进制位(bit):计算机中最小的存储信息单位 字节(Byte):八个二进制位组成的存储单元,是 计算机中最小存取信息单位 机器字(word):计算机中存取信息的基本单位,不 同的计算机系统它的长度是不同的,补充:数的存放形式补码,1. 正数不变 2. 负数各位取反后+1,符号位置1 (34)10 = (0 0100010)2 (- 34)10 = ( 1011101)2 + 1 (1 1011110) 2, 4 bytes 数据 x补码 4
6、294967295x+1 (- 34)10补码: (4294967295341)10 (4294967262)10 =(ffffffdf)16 =(1111 1111 1111 1111 1111 1111 1101 1110)2, 2 bytes 数据 x补码65535x+1 (- 34)10补码: (65535341)10=(65502)10=(ffdf)16 =(1111 1111 1101 1110)2,变量的定义格式: 类型说明符 变量名表;,3. 整型变量,问题1:c没有定义便使用;,int c;,问题2:c应为 32770,但实际 为 32766,发生溢出;,问题3:c应为lon
7、g int 类型;,long int c;,2.2.3 实型数据及其表示,1. 实型类型,实型数据是以浮点数形式存储的,在计算机中按指数 形式。如图例:0.12345610-2,(float),(double),(long double),2. 实型常量 十进制形式:由数字和小数点组成; 如: 0.123,0.0,-54.0 指数形式:由十进制小数形式指数; 如:123e3,123E-2 注:e或E的前后面须有数字 不合法的指数形式:e3,2.1e3.5,.e3,e 在实数常量尾部用后缀符 f(F)代表单精度实数(7位有效位), l(L)代表双精度实数(1819位有效位); 例:2.3f,-0
8、.123f,2e-3f,-1.5e4f 为单精度实常量 1256.34L,-0.123l,2e3L 为双精度实常量,3. 实型变量,4. 实型数据应用中的误差问题,由于机器存储限制,会使实数产生误差,理想输出:a=12345.6789,b=0.1234567891234567899e15,实际输出:a=12345.678711,b=123456789123456.797000,2.2.4 字符型数据及其表示,1.字符型数据 字符型数据在计算机中存储的是ASCII码,占用1 byte。,字符“A”的存储形式实际上就是一个整型数65; 它可以直接与整型数据进行算术运算、混合运算,与整型变量相互赋值
9、, 字符型数据以字符或整数两种形式输出。 以字符形式:先将ASCII码值转换为相应的字符,再输出; 以整数形式:直接将ASCII的值作为整数输出。,n 换行(LF) t 横向跳格 (HT) b 退格 (BS) v 竖向跳格 f 走纸换页(FF) r 回车(CR) 单引号() 反斜杠字符() ” 双引号(“) 0,空(不是0) 101 字符A(八进制) x41 字符A(十六进制),2.字符型常量:用单引号括起来的一个字符: 普通字符:a,A ,1等 ( 大小写不同 ) 转义序列:将反斜杠()后面的字符转变为另外的含义。是一种特殊的字符常量。,3. 字符型变量:类型名称char:,*错误的字符常量
10、表示:,015,n,”A”, ab,“How do you do.” “CHINA” “$123.45” “a”,4. 字符串常量:一对双引号括起来的字符序列,注意: C规定:每个字符串结尾加一“字符串结束”(0) 系统自动加上的; “CHINA” :,字符串如果需要存放在变量中,需用字符数组来存放(第7章),a与“a”不同,5. 字符数据的应用举例,main() int i; char c; i=a; c=97; printf( “%c,%dn”, c, c) ; printf( “%c,%dn”, i, i) ; ,输出结果: a , 97 a , 97,注意:在一定范围内通用(0-127
11、),2.2.5 变量的初始化 通常一个变量是先说明,然后再赋值给它。 例:int x,y; x=10;b=20; C规定:可以在定义变量的同时使变量初始化,例: float x123.45; /*说明x为实型量且赋初值为123.45 */ int a,c=10; /*说明整型变量a,c,并仅给c赋初值10*/ int a1=10,b1=6;/*说明整型变量a1,b1;分别赋不同初值*/ double Pai=3.14;/*说明Pai为双精度实型变量为赋初值为3.14*/ char cha; /*说明字符变量ch,并赋初值为a*/ 注意:对几个变量赋同一个值,必须分别赋值 例:int a=b=c
12、=3 ; error int a=3; b=3; c=3; ok 说明:变量初始化不是在编译阶段完成的而是在程序执行阶段执行 本函数时赋以初值的 例:int a=3 ; int a ;a=3 ; 例:int a,b,c=5 ; int a,b,c ; c=5 ;,变量初始化的应用举例,main() int a; int b; b=a+2; printf( “%d,%dn”, a,b) ; ,注意:定义的变量在没有初始化之前有一个不确 定值。,a=3;,2.3 算术运算与赋值语句,2.3.1 c语言中的运算规则 1、运算符 分类(按操作数个数分): 单目运算:一个运算符连接一个运算对象; (a
13、; !a ; +a) 双目运算:一个运算符连接两个运算对象; (2312) 三目运算:一个运算符连接三个运算对象; ab?a=1:a=-1,分类 (作用):,算术运算符 + - * / % 自增自减运算符 + - 赋值与赋值组合运算符 = += -= *= /= %= = |= &= = 关系运算符 = 条件运算符 ? : 逗号运算符 , 指针运算符 * & 求字节数运算符 size of 强制类型转换运算符 (类型) 分量运算符 . - 下标运算符 其它 ( ),2、 表达式,算术表达式 a+b -c 自增自减表达式 i+ -i 关系表达式 a !=b (a+b)(a-b) 逻辑表达式 a
14、& (b=c) ! a 字位表达式 a 2 a&b 赋值表达式 a=3 a *= 2 a=b=6 逗号表达式 (a+b , a-b),3、优先级和结合性 (附录A) 优先级: 同一表达式中不同运算符进行计算时的先后次序 结合性: 针对同一优先级的多个运算符而言,指同一表达式 中相同优先级的多个运算应遵循的运算次序。,表达式运算时的关键问题:,(1) 算符优先极问题(不同级别算符的计算次序) (2) 算符结合次序(优先级平级时的计算次序) (3) 算符操作数个数(一目或二目算符) (4) 算符对应操作数类型,2.3.2 算术运算符和算术表达式 1、算术运算符,说明: “+”,“-”运算符单目运算
15、:取正、负值运算;优先级高 双目运算:加、减运算;优先级低 除法运算“/” 整数(字符)相除结果是整型(商),小数部分全部舍去 实数相除,所得的商也为实数。 例如:1/3=0 只取结果的整数部分0 ,舍去0.333333 15/43 只取结果的整数部分3,舍去0.75 1.0/30.333333 13/4.03.250000 整数相除时,若不能整除将造成误差,要避免整数直接相除。 模运算“%“也称为求余运算。要求两个运算对象都为整型,其结果是整数除法的余数。例如: 5%10=5 10%3=1 -10%3-1,算术运算符的优先级及结合性如下:,例如表达式 x/(67-(12+y)*a) 的运算顺
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 C语言程序设计初步 语言程序设计 初步
链接地址:https://www.31doc.com/p-3423236.html