数据类型运算符与表达式

上传人:宝路 文档编号:52887706 上传时间:2018-08-26 格式:PPT 页数:49 大小:348.47KB
返回 下载 相关 举报
数据类型运算符与表达式_第1页
第1页 / 共49页
数据类型运算符与表达式_第2页
第2页 / 共49页
数据类型运算符与表达式_第3页
第3页 / 共49页
数据类型运算符与表达式_第4页
第4页 / 共49页
数据类型运算符与表达式_第5页
第5页 / 共49页
点击查看更多>>
资源描述

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

1、1,第3章 数据类型、运算符与表达式,漳州师范学院 赵红,C 语言程序设计,8/26/2018,2,教学要求,教学要求:了解C语言中数据类型的分类;掌握整型、实型、字符型、字符串常量的表示方法;掌握符号常量的定义和使用;掌握变量的定义、存放形式、初始化、使用方法;掌握基本算术、强制类型转换、自增、自减、赋值、逗号运算符和表达式;掌握各类数值型数据间的混合运算。 教学重点:整型、实型、字符型常量的表示方法和变量的定义、存放形式、初始化、使用方法;算术、赋值、逗号运算符和表达式。 教学难点:自增、自减运算符和表达式;混合表达式计算。,8/26/2018,3,为什么要指定数据类型?,8/26/201

2、8,4,第3章 C的数据类型,8/26/2018,5,为什么要指定数据类型?,1不同类型的数据在内存中占据不同长度的存储区。 2不同类型的数据取值范围不同。 3不同类型的数据有不同的操作。,C语言对程序中要用到的每一个变量 都要事先指定它的数据类型!,8/26/2018,6,常量的分类,常量的定义: 常量的分类:直接常量,符号常量 表达形式: (1)整型常量 6、432、76543、546783424 (2)实型常量 2.23、546.2487615247 、3.057439+5(3)字符常量 a 、 6 、 M (4)符号常量 WHI#define WHI “I am a student.

3、“ WHI是符号常量,8/26/2018,7,例3.1 符号常量的使用。#define PRICE 30main()int num,total;num=10;total=num * PRICE;printf( “total=%d“, total );,格式控制字符串中的普通字符,照原样输出,符号常量,运行结果:total=300,符号常量,符号常量必须先定义后才能用它表示一个数值。 符号常量的值在其作用域内不能改变,也不能再被赋值。 习惯:符号常量名用大写,变量用小写。 好处:含义清楚;“一改全改”,8/26/2018,8,预备知识:标识符P39,用于程序中的变量、符号常量、数组、函数、数据类

4、型等操作对象的名字 由字母、下划线和数字组成的字符序列,1系统定义标识符(关键字) 具有固定名字和特定含义的标识符 2用户定义标识符 用于对用户使用的变量、数组、函数等操作对象进行命名,8/26/2018,9,对标识符的规定,用户定义标识符 必须以字母或下划线“_”开头 不能含有除字母、数字和下划线“_”外的其他字符 标识符中大小写字母含义不同 关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名,8/26/2018,10,在程序运行过程中,其值可以被改变的量称为变量。变量的三个要素: (1)变量名。每个变量都必须有一个名字。(2)变量值。在程序运行过程中,变量值存储在内存中

5、。在程序中,通过变量名来引用变量的值。(3)变量的类型例如: int a=23;a (2个字节) 变量的类型 int 变量名字:a 变量的值:23 在内存中存储单元占16位,0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1,二进制数值,变量的概念,注意区别变量名和变量值,8/26/2018,11,main() int x, y;x=5; y=3;printf(“ %d- %dn”, x, y);x=1; y=2;printf(“ %d- %dn”, x, y); 运行结果: 5- 3 1- 2,x、y是整型变量 每个变量分配2个字节存储单元,将数值5、3分别存放到x、y变量的存储

6、单元,x、y变量的值重新赋值,例:输出变量的数值。,x,y,8/26/2018,12,(1)变量定义的一般格式: 存储类型 数据类型 变量名, 变量名2 ; 例如: int a1, a2, a3; (2)变量初始化: 存储类型 数据类型 变量名=初值, 变量名2=初值2 ; 例如: float a1=2.5, a2=5.23, a3=45.43;,变量 的定义与初始化,8/26/2018,13,整型数据在内存中的存放,数值是以补码表示的。一个正数的补码与原码相同;一个负数的补码求法:原码的二进制形式,取反求得反码,再加 1 ,得到负数的补码。例如:,- 8 的原码,1 0 00 00 00 0

7、0 00 10 00,求反码,1 1 11 11 11 11 11 01 11,补码,11 11 11 11 11 11 10 00,整型常量在内存中的存放,8/26/2018,14,3.3.3整型常量的类型p43,方括号表示可选项 int 分配2 Byte,long分配4 Byte,8/26/2018,15,1. 整型常量,整型常量的类型: 根据值大小默认类型。 整型常量后面加l或L,则认为是long int型例如:123L、0L、432l、0x100l,注意: 十六进制常量中可以使用大写字母AF,也可以使用小写字母af。 八进制常量中不能出现数字 8 或 9 例如:018、0921非法,8

8、/26/2018,16,#include main() printf(“0x80 -%d n“, 0x80);printf(“0200 -%d n“,0200);printf(“128 - %d n“,128);printf(“128 - %o n“,128); ,不输出前缀数字,例 输出不同进制整型常量,实战,运行结果: 0x80 -128 0200 -128 128 - 128128 - 200,8/26/2018,17,1. 整型变量分为类: (1)基本整型(int) (2)短整型(short int) (3)长整型(long int) 无符号整型。无符号型又分为(3种): unsign

9、ed int unsigned short unsigned long,3.3.2 整型变量(复习),8/26/2018,18,1.实型常量(实数,又称浮点数)表示形式: (1)十进制形式 例如: 3.14 、 9.8(2)指数形式 E(e)例如: 3.02+5 34.42367750+7 注意指数形式的写法:P45,3.4.1实型常量,8/26/2018,19,实型变量分类 (1)单精度型变量float型变量 占4 字节( 32位)提供 7 位有效数字值域: (3.4e-383.4e+38) (2)双精度型变量double型变量 占 8 个字节( 64位) 提供 1516位有效数字值域: (

10、 1.7e-3081.7e+308),3.4.2 实型变量,8/26/2018,20,3.4.2 实型变量,类型 说明符 位数 数值范围 单精度 float 32 10-371038 双精度 double 64 10-30710308 长双精度 long double 128 10-4931104932,8/26/2018,21,数值的有效 数字 7 位 尾数7031不是有效数值,3.4.2 实型数据的舍入误差,8/26/2018,22,1.字符常量的定义 用一对单引号括起来的单个字符称为字符常量。 例如: A、7、 等。 2.转义字符 语言还允许使用一种特殊形式的字符常量,就是以反斜杠“ ”

11、开头的转义字符。n b r t 0 ” ddd xhh 注意:如果反斜杠本身作为字符常量,必须使用转义字符: 、”,3.5 字符数据P48,8/26/2018,23,3.以“ ”开头的字符在printf 函数中控制输出格式: n 换行 t 横向跳格(下一个输出区) b 退格 r 回车 反斜杠字符 “ 双引号 ddd 1到3位8进制数所代表的字符。如:101=A xhh 1到2位16进制数所代表的字符。,3.5.1 字符常量P48,8/26/2018,24,main() printf(“ABC tabc txyz n”); printf(“abcbxyz n”); 程序运行结果如下:,例用转义字

12、符输出字符和不可打印字符,8/26/2018,25,字符变量( 关键字为 char ) 字符变量类型,占用1字节内存单元。 (1) 变量值的存储 将一个字符常量存储到一个字符变量中,实际上是将该字符的 ASCII 码值(无符号整数)存储到内存单元中。 (2) 变量值的特性 字符数据在内存中存储的是字符的 ASCII 码(一个无符号整数),其形式与整数的存储形式一样。,3.5.2 字符变量,8/26/2018,26,char ch1, ch2; /*定义变量:ch1,ch2*/ ch1= a ; /*给字符变量赋值*/ ch2= b ; 字符数据 a 、b 的 ASCII 码值97、98 (一个

13、无符号整数)分别存放在变量ch1, ch2所占用内存存储单元中,其形式与整数的存储形式一样。ch1 ch2,97,98,3.5.3 字符变量的存储形式,8/26/2018,27,(3)一个字符型数据,既可以字符形式输出,也可 以整数形式输出。 例:字符变量的字符形式输出和整数形式输出。 main() char ch1, ch2; ch1=a; ch2=b; printf(“ch1=%c,ch2=%cn”,ch1,ch2); printf(“ch1=%d,ch2=%dn”,ch1,ch2); ,3.5.3 字符变量的使用方法,程序运行结果: ch1=a, ch2=b ch1=97, ch2=98

14、,8/26/2018,28,(4)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算。 例3.11 字符数据的算术运算。 main() char ch1, ch2; ch1=a; ch2=B; /*等价于 ch1=97;ch2=66;*/ printf(“ch1=%d”,ch1-32); /*字母的大小写转换*/printf(“ch2=%d n”,ch2+32); printf(“ch1=%c,ch2=%cn”,ch1-32, ch2+32); ,3.5.3 字符变量的使用方法,运行结果: ch1=65,ch2=98 ch1=A,ch2=b,8/26/2018,29,(1)字符串常量的概念和字符串长度 字符串常量:是用一对双引号括起来的若干字符序列。 字符串长度:字符串中字符的个数称为。 空串: 长度为0的字符串(即一个字符都没有的字符串),表示为“” (一对紧连的双引号)。 例如字符串常量: “How do you do.” 长度为14(空格也是一个字符) “Good morning.” 长度为13 如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。例 C:msdosv6.22 “C: msdos v6.22“ I say:“Goodbye!“ “I say:“Goodbye!“ “,

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

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

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