【程序设计基础】数据类型运算符与表达式

上传人:宝路 文档编号:49752182 上传时间:2018-08-02 格式:PPT 页数:37 大小:319.44KB
返回 下载 相关 举报
【程序设计基础】数据类型运算符与表达式_第1页
第1页 / 共37页
【程序设计基础】数据类型运算符与表达式_第2页
第2页 / 共37页
【程序设计基础】数据类型运算符与表达式_第3页
第3页 / 共37页
【程序设计基础】数据类型运算符与表达式_第4页
第4页 / 共37页
【程序设计基础】数据类型运算符与表达式_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《【程序设计基础】数据类型运算符与表达式》由会员分享,可在线阅读,更多相关《【程序设计基础】数据类型运算符与表达式(37页珍藏版)》请在金锄头文库上搜索。

1、第三章l 本章要点n n数据的描述规则数据的描述规则n n数据的操作规则数据的操作规则l 主要内容3.1 C的数据类型3.2 常量与变量3.3 数据类型的转换3.4 运算符和表达式3.1 C的数据类型 C语言提供了以下一些数据类型: 数据类型数据类型构造类型构造类型指针类型指针类型 空类型(空类型(无值类型)无值类型) voidvoid枚举类型枚举类型 enumenum数组类型数组类型结构类型结构类型 structstruct联合类型联合类型 unionunion基本类型基本类型整型整型 intint字符型字符型 charchar实型(浮点型)实型(浮点型)单精度实型单精度实型floatflo

2、at双精度实型双精度实型doubledouble3.2 常量与变量命名的规定:有效的名字称为标识符,标识符在C语言中可作为变量 名、常量名、函数名、参数名、类型名、枚举名和标号等语言规定标识符只能由字母、数字和下划线三种字 符组成,且第一个字符必须为字母或下划线。例:sum,_total, month, Student_name,lotus_1_2_,BASIC, li_ling M.D.John, ¥123,3D64,ab 3.2 常量与变量3.2.1 常量n在程序运行过程中,其值不能被改变的量称为常量n常量区分为不同的类型: 整型 100,125,-100,0 实型 3.14 , 0.12

3、5,-3.789 字符型 a, b,2 字符串 “a”, “ab”, “1232”符号常量:用一个标识符代表一个常量,习惯上用大写字 母表示例1 符号常量的使用 #define PRICE 30 #include void main () int num, total; num=10; total=num * PRICE; printf(“total=%dn“,total); 不能给符号常量赋值字符常量 (1)用单引号包含的一个字符是字符型常量 (2)只能包含一个字符a,A, 1 abc、“a”有些以“”开头的特殊字符称为转义字符n 换行 t 横向跳格 r 回车 反斜杠 单引号字符 ” 双引号

4、字符 ddd ddd表示1到3位八进制数字 xhh hh表示1到2位十六进制数字转义字符例2 转义字符的使用#include void () printf( ab ct derftgn);printf(htibbj kn); n打印机上的显示结果:fab c gdeh jikn显示屏上的运行结果:f gde j k3.2 常量与变量3.2.2 变量n变量:内存中具有特定属性的一个存储单元,用来存放数 据这就是变量的值,在程序运行期间,这些值是可以改变的 。 注:注:n编译系统将大写字母和小写字母认为 是两个不同的字符 int sum,Sum; n建议变量名的长度最好不要超过8个 字符。n变量起

5、名尽量有含义n变量要“先定义,后使用” 。类型类型 类型说明符类型说明符 长度长度 数的范围数的范围基本型基本型 intint 2 2字节字节 -32768-327683276732767短整型短整型 short 2short 2字节字节 -2-215152 21515-1 -1 长整型长整型 long long 4 4字节字节 -2-231312 23131-1-1无符号整型无符号整型 unsigned unsigned intint 2 2字节字节 0 06553565535无符号短整型无符号短整型 unsigned short unsigned short 2 2字节字节 0 06553

6、565535无符号长整型无符号长整型 unsigned long unsigned long 4 4字节字节 0 0(2 23232-1-1)4 44 4整型变量:例3 整型数据的溢出 #include void main() int a,b; a=0x7fffffff; b=a+1; printf(“%d,%dn“,a,b); 说明:说明:运行结果与int型数据所占的内存空间大 小有关,如果a为能表示的最大值,则b溢出类型类型 位数位数 数的范围数的范围 有效数字有效数字float float 32 32 10 10-37 -37 101038 38 6 6 7 7 位位DoubleDoub

7、le 6464 10 10-307-307 1010308308 1515 1616位位long double 128 10long double 128 10-4931-4931 10104932 4932 1818 1919位位n浮点型变量的分类浮点型变量分为单精度(float型)、双精 度(double型)和长双精度型(long double)三 类形式。n字符变量 字符变量的定义形式如下:char c1,c2;可以用下面语句对c1,c2赋值:c1a;c2 b ; 一个字符变量在内存中占一个字节。存储的是该字符的相应的ASCII代码。使字符型数据 和整型数据之间可以通用注意: 一个字符

8、数据既可以 以字符形式 输出,也可 以以整数形 式输出。例4 向字符变量赋以整数。 #include void main()char c1,c2;c1=65;c2=66;printf(“%c %cn”,c1,c2);printf(“%d %dn”,c1,c2); n n说明:说明:在第和第4行中,将整数65和66分别赋给c1和c2,它的作用相当 于以下两个赋值语句:c1A;c2B;因为A和B的ASCII码为65和66n运行结果:A B65 663.2.3字符串常量n字符串常量是一对双撇号括起来的字符序列.n合法的字符串常量:“How do you do.”, “CHINA”, “a” , “$

9、123.45”n可以输出一个字符串,如printf(“How do you do.”);n规定:在每一个字符串常量的结尾加一个 “字符串结 束标志”,以便系统据此判断字符串是否结束。作为字符串结束标志。CHINA0注意:不能把一个字符串常量赋给一个字符变量。char c c=a; c”a”;c”CHINA”;3.2.4 变量赋初值 (1) 定义变量的同时使变量初始化int a=3; / 指定为整型变量,初值为 float f=3.56; / 指定为浮点型变量,初值为 .56 char c= a; / 指定为字符变量,初值为 a (2)可以使被定义的变量的一部分赋初值。int a,b,c=5;

10、/指定、为整型变量,但 只对初始化,c的初值为(3) 对几个变量赋以同一个初值int a=3,b=3,c=3; int a=b=c=3;3.3 数据类型的转换 不同数据类型的数据(包括常量和变量)之间进行各种运算时,C语 言编译系统自动进行数据类型的转换。转换原则: (1) 参加运算的两个数据中,数据长 度较短的数据转换为它们之中数 据较长的数据类型,然后进行运 算,结果为数据较长的数据类型(2) 赋值运算中,C系统自动把等号右 边的数据转换成左边的类型,然 后送给左边变量。3.3.1自动转换关于自动转换的说明n字符型与整型可以用字符的地方就可以用整数 整数转换成字符时,超出8位就将高位丢掉n

11、实型与整型 实型转换为整型舍弃小数部分整型转换为实型数值不变,但以浮点数形 式存储n无符号整型与一般整型 无符号整型转换为一般整型原样送值一般整型转换为无符号整型原样送值#include void main() int a, b, sum; float ave; a=5; b=6; sum=a+b; ave=sum/2; printf(“%d, %fn“ , sum, ave); 3.3.2强制转换(数据类型)变量名或(表达式)(double) 将转换成double类型 (int)(x+y) 将x+y的值转换成整型 (float)(5%3) 将5%3的值转换成float型说明:无论是自动转换还

12、是强制转换,仅仅是为了本次 运算或赋值的需要,对变量的数据进行临时转换,并不 改变定义该变量时规定的数据类型。例5 强制类型转换。 #include void() ; ;();printf(“x=%f, i=%dn“,x,i); n运行结果:x3.600000, i=33.4 运算符和表达式(1)算术运算符 (+ - * / %) (2)关系运算符 ( = |) (5)赋值运算符 (及其扩展赋值运算 符) (6)条件运算符 (?:) (7)逗号运算符 (,) (8)指针运算符 (*和) (9)求字节数运算符() (10)强制类型转换运算符( (类型) ) (11)分量运算符(-) (12)下标

13、运算符( ) (13)其他 (如函数调用运算符()3.4.1 运算符基本操作均可作 为运算符3.4 运算符和表达式n 表达式(expression)由变量、常量和各种运算符构成的式子 如,算术表达式,赋值表达式,逗号表达式等n 语句(statement)C语言中一个表达式后跟一个分号可构成一条语句; 在C语言中,分号是语句的结束符一行可有多个语句3.4.2 表达式和语句3.4.3 赋值运算符和表达式n 普通赋值运算符 = 将一个数据或表达式的值赋给一个变量 a = 0; b = c+d;可以连用,如a=b=c=5 如果赋值运算符两侧的类型不一致,需要进行类型转 换3.4.3 赋值运算符和表达式

14、n 复合赋值运算符 在赋值符“”之前加上其他运算符,可以构成复合的 运算符。 (x运算符=y) (x = x 运算符 y) a += b (其中a为变量,b为表达式) a += b(将有下划线的“a+”移到“=”右侧)|_ a = a + b (在“=”左侧补上变量名a)凡是二元(二目 )运算符,都可 以与赋值符一起 组合成复合赋值 符。 语言规定可以使用种复合赋值运算符: ,*, | 例如: * 等价于 等价于 *() 等价于 3.4.3 赋值运算符和赋值表达式 n赋值表达式由赋值运算符将一个变量和一个表达式连接起来的 式子称为“赋值表达式”。“=3*5”是一个赋值表达式 对赋值表达式求解的过程是:求赋值运算符右侧的“表达

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

当前位置:首页 > 中学教育 > 教学课件

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