c语言第2章数据类型、运算符和表达式.ppt

上传人:牧羊曲112 文档编号:6504231 上传时间:2023-11-07 格式:PPT 页数:50 大小:343KB
返回 下载 相关 举报
c语言第2章数据类型、运算符和表达式.ppt_第1页
第1页 / 共50页
c语言第2章数据类型、运算符和表达式.ppt_第2页
第2页 / 共50页
c语言第2章数据类型、运算符和表达式.ppt_第3页
第3页 / 共50页
c语言第2章数据类型、运算符和表达式.ppt_第4页
第4页 / 共50页
c语言第2章数据类型、运算符和表达式.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《c语言第2章数据类型、运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《c语言第2章数据类型、运算符和表达式.ppt(50页珍藏版)》请在三一办公上搜索。

1、1,第2章 数据类型、运算符和表达式,2,教学目标,掌握C语言标识符的组成理解C语言的基本数据类型掌握变量定义的方法掌握常用的运算符的使用掌握混合运算的数据转换方法,3,2.1 C语言的数据类型,基本类型整 型:短整型(short)、整型(int)、长整型long浮点型:单精度型(float)、双精度型(double)字符类型(char)构造类型:数组、结构体、共用体、枚举指针类型,4,2.2 常量与变量,2.2.1标识符命名2.2.2常量2.2.3变量,5,2.2.1标识符命名,标识符:字符序列的总称。在C语言里用标示符来表示常量、变量、函数和数据类型的名字 字母、数字和下划线组成;第一个字

2、符不能是数字字符;不能是标准字符(关键字);,6,举例,sum Sum dadate3days student_name#33 lotus_1_2_3 char ab _above$123,X X X X X X,7,2.2.2常量,常量:在程序运行过程中其值不发生改变的量直接常量符号常量:用一个标识符来表示常量,#define 符号常量 常量值,#define PRICE 30#include int main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);return 0;,运行结果:total=300,8,使用符

3、号常量的优点 可以使程序更清晰易读 程序修改更加容易 通常用大写字母表示符号常量,小写字母表示变量,以便区别,9,2.2.3变量,变量:在程序运行过程中其值可以发生改变的量变量名变量类型变量的值定义形式类型名 变量名1,变量名2,变量名n;,int a,b,c;char ch;double d,f;,10,2.3整型数据,整型常量:整数(十进制常量、八进制常量和十六进制常量),(1)常量前面的“+”和“-”表示数的正、负。(2)常量也有类型,正型常量默认是int型(即有符号整数)(3)在数的后面加上字母u或U表示无符号整数,加上字母l或L表示长整型数,11,2.3.2整型变量,整型数据在内存中

4、的存储形式:整型数据在内存中是以二进制补码的形式存放,对于4个字节的整数-12,12,整型变量的分类,注:判断某一数据类型占内存的字节数可用sizeof(数据类型说明)来计算,13,整型变量的定义方法 符号说明 变量名表;,unsigned short a,b;signed short a,b;unsigned int a,b;int a,b;unsigned long a,b;,14,2.4浮点型数据,浮点型常量:实型常量或实数,它只有十进制形式,全部都是有符号数小数形式:09,小数点和正负号表示指数形式:09、小数点、+-号和字母e/E,说明:(1)浮点型常量的默认类型是double(2)

5、在常量后面加f或F指定为float型(3)指数必须为整数(4)e/E之前必须有数字,15,2.4.2浮点型变量,存储形式,16,浮点型变量的分类单精度(float)双精度(double)长双精度(long double)浮点型变量定义方法 类型说明符 变量名列表;,float a,b,c;double a,b,c;long double a,b,c;,1)浮点型数据的有效数字位有限制2)有效位以外的数字将被舍去,17,2.5字符型数据,字符常量:用单引号括起来的单个普通字符或转义字符单引号中的字符不能是单引号()和反斜杠()字符是按其所对应的ASCII码值来存储的,一个字符占一个字节(即8位)

6、,18,字符串常量:一对双引号(“”)括起来的一串字符 字符串常量在内存中存储:保存每个字符的ASCII值系统自动在字符串的末尾加一个串结束标志,字符串:China,“A”和A的区别?,19,转义字符:用反斜杠后面跟一个字符或一个八进制或十六进制数表示,20,例 转义字符举例#includeint main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo C);return 0;,运行结果:A B CI say:”How are you?”C ProgramTurbo C,例 int

7、 main()printf(“Yb=n”);return 0;,运行结果:屏幕显示:=打印机输出:,21,字符变量字符变量用来存放字符,它只能存放一个字符,不能存放字符串 字符变量的定义形式 char 变量名表;,char c1,c2;,char c1,c2;,#includeint main()char c1=a,c2=b;c1=c1-(a-A);c2=c2-(a-A);printf(%c%cn,c1,c2);return 0;,程序运行结果:A B,22,2.6运算符和表达式,2.6.1算术运算符2.6.2自增和自减运算符2.6.3关系和逻辑运算符2.6.4位运算符2.6.5 条件运算符2

8、.6.6 逗号运算符2.6.8 复合赋值运算符,23,2.6.1算术运算符,算术运算符:+、-、*、/、%说明:两个整数相除,所得商仍然为整数,舍去小数部分,即3/2结果是1,而不是1.5取余运算要求运算符两端都必须为整型数据,浮点数据不能进行取余运算除数或被除数中有一个是负数,取余运算的结果可根据公式m=pq+r 得到余数优先级:*、/、%的优先级高于+和-结合性:从左向右,24,5+39-25*43/44%3-5%2,872001-1,25,2.6.2自增和自减运算符,+:变量自加1-:变量自减1前置运算:+在变量的前面:变量先进行加1运算,然后再参与其它运算-在变量的前面:变量先进行减1

9、运算,然后再参与其它运算,int x=5,y=6;+x-y,+x为6,x值为6-y 为5,y值为5,26,后置运算:+在变量的后面,则先参与其它运算,然后变量再进行加1运算-在变量的后面:则先参与其它运算,然后变量再进行减1,int x=5,y=6;+x-y,x+为6,x值为6 y-为6,y值为5,27,说明+,-运算只能用于变量,不能用于常量和表达式+,-运算的优先级为2级,高于*、/、%运算+,-运算的结合性是从右向左 前置运算和后置运算可能带来副作用 x+y 在函数中作为参数:printf(“%d,%dn”,i,i+)(+i)+(+i)+(+i):在TC2.0和VC+6.0的结果是不一样

10、,28,例2.6:前置和后置运算#includeint main()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%dn,i,j,m,n);return 0;,程序运行结果:9,11,9,10,29,2.6.3关系和逻辑运算符,30,逻辑运算真值表,(1)关系和逻辑运算符的关键是True(真)和False(假)(2)C语言中,非0为真,0为假,31,2.6.4位运算符,按位运算时,必须将运算对象转化为二进制位运算必须是整型和字符型数据,32,2.6.5 条件运算符,格式:运算对象1?运算对象2:运算对象3 功能:先判断运算对象1的值是否为非0,如

11、果是非0,其值为运算对象2的值,否则为运算对象3的值,ab?a:b,33,说明:运算对象1、运算对象2、运算对象3可以是任意类型,一般运算对象1为关系或逻辑运算对象的式子,其类型可以相同,也可以不相同。条件运算符的优先级为13级条件运算符的结合性是从右向左结合的,34,2.6.6 逗号运算符,定义:用逗号把几个运算对象连接起来 格式:运算对象1,运算对象2,运算对象n功能:先计算运算对象1的值,再计算运算对象2的值,直到最后计算运算对象n的值,x=5*6,x+10,a=3,b=4,a+,b+,a+b,40,9,说明:(1)逗号运算符的优先级是15。(2)逗号运算符的结合性是从左向右,35,2.

12、6.7 赋值运算符,赋值运算符:=格式:变量=运算对象功能:把右边运算对象的值赋给左边变量,赋值运算符“=”和判断相等(=)的区别 赋值运算符的优先级为14级 赋值运算符的结合性是从右向左 赋值中的类型转换以左边变量的类型为主,36,2.6.8 复合赋值运算符,定义:复合赋值运算符是在赋值的同时,进行了运算 格式:变量 OP=运算对象 相当于:变量=变量OP(运算对象)优先级:14结合性:从右向左,37,38,2.7 表达式求值,2.7.1 算术表达式2.7.2 赋值表达式2.7.3 关系表达式和逻辑表达式,39,2.7.1 算术表达式,定义:用算术运算符号将运算对象(常量、变量、函数等)、圆

13、括号连接起来的式子,25X,40,表达式的求值,a=10b=3,41,数学公式 的C语言表示,42,表达式值的类型同一表达式中的不同类型常量及变量,均应转换为同一类型的量 C语言的编译程序将所有操作数转换为与最高类型操作数同类型,自动类型转换,43,强制类型转换(类型名)(表达式)原来变量的数据类型不发生变化,(int)(x+y)(int)x+y(double)(3/2)(int)3.6,44,例2.8:已知int a=7;float x=2.5,y=4.7;计算表达式的值,45,2.7.2 赋值表达式,定义:赋值运算符将一个变量和表达式连接起来构成的式子 一般形式:=,将表达式的值求出来,赋

14、给左边的变量,使变量的值为表达式的值,a=3;d=func();c=d+2;x=20/4;,46,表达式的值的类型以变量的类型为主,int x;x=10+30/7+1.5,double y;y=10+30/7+100,赋值表达式的值又可以作为另外一个赋值表达式,赋值表达式也可以包含复合赋值运算符,47,2.7.3 关系表达式和逻辑表达式,关系表达式:用关系运算符将两个运算对象(算术表达式、赋值表达式、关系表达式和逻辑表达式等)连接起来构成的式子,a+3b+4(ab)(c=2)(ch!=getchar(),注:关系表达式的值是一个逻辑值,即“真”或“假”,例2.9:求下面关系表达式的值int a

15、=0;double b=0.5,x=0.3;求a278int i=1,j=7,a;a=i+(j%4!=0);求a,0,0,2,48,逻辑表达式:用逻辑运算符将运算对象连接起来的式子 逻辑表达式的值只能是“真”或“假”表示逻辑运算结果:以数值1代表“真”,以数值0代表“假”判断是否为“真”:以非0表示“真”,以0表示“假”,!5的值是0a=2&b=4 的值是1a=0|b=2 的值是1,49,!a a&b a|b!a|b 4&0|2 53&2|89-!0 c&d,例2.10:已知a=4,b=5,求下面逻辑表达式的值,50,短路表达式:在逻辑表达式中不是所有的逻辑运算符都要被执行,只有在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符,例 a(m=ab)&(n=cd)/m=0,n=1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号