C语言教程第3章 数据类型、运算符与表达式

上传人:油条 文档编号:26853727 上传时间:2018-01-02 格式:PPT 页数:81 大小:605KB
返回 下载 相关 举报
C语言教程第3章  数据类型、运算符与表达式_第1页
第1页 / 共81页
C语言教程第3章  数据类型、运算符与表达式_第2页
第2页 / 共81页
C语言教程第3章  数据类型、运算符与表达式_第3页
第3页 / 共81页
C语言教程第3章  数据类型、运算符与表达式_第4页
第4页 / 共81页
C语言教程第3章  数据类型、运算符与表达式_第5页
第5页 / 共81页
点击查看更多>>
资源描述

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

1、3.1 C语言的数据类型3.2 常量与变量3.3 整型数据3.4 浮点型数据3.5 字符型数据3.6 变量赋初值,第3章 数据类型、运算符与表达式,3.7 各类数值型数据间的混合运算3.8 算术运算符和算术表达式3.9 赋值运算符和赋值表达式3.10 逗号运算符和逗号表达式习题,3.1 C语言的数据类型,单精度型 float (占4字节),双精度型 double (占8字节),3.2 常量与变量,3.2.1 常量和符号常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2.常量的分类 (1)整型常量 如:12,-90 (2)实型常量 如:1.72,-9.73, 3.65e-6

2、 (3)字符常量 如:a, +, n, 0 (4)字符串常量 如:“max”, “good”, “123” (5)符号常量 习惯上其常用大写字母。 常量的类型,可通过书写形式来判别。,例3.1 (TL3-1.C) #include #define PRICE 30 void main( ) int num, total; num=10; total =num * PRICE; printf(“total = %dn”, total); ,程序演示,3.2.2 变量 1.变量的概念 在程序运行过程中,其值可以被改变的量称为变量。 2.变量的两个要素(1)变量名。每个变量都必须有一个名字变量名,变

3、量命名遵循标识符命名规则。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。,用户标识符可以作为:,1. 变量名2. 符号常量3. 数组名4. 自定义的函数名5. 指针变量名6. 结构体类型名7. 共用体类型名8. 枚举类型名9. 文件指针变量名等,.标识符命名规则(1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)有效长度:随系统而异,但至少前个字符有效。如果超长,则超长部分被舍弃。 例如,由于student_name和student_number的前个字符相同,有的系统认为这两个变量,是一回事而不加区别。 在Turbo C 中,变

4、量名(标识符)的有效长度为32个字符,缺省值为32。,(3)C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符 (即C语言区分大小写字母) 。 习惯上,变量名和函数名中的英文字母用小写,以增加可读性。 关键字必须用小写。,思考题: 在C语言中,变量名total与变量名TOTAL、ToTaL、tOtAl等是同一个变量吗?,标识符命名的良好习惯见名知意: 所谓“见名知意”是指,通过变量名就知道变量值的含义。通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。 例如,name/xm(姓名)、 sex/xb(性别)、a

5、ge/nl(年龄)、salary/gz(工资)。,在C语言程序中,所用的变量必须先定义、后使用。 (P16.C)变量的分类: (1)整型变量(可用来存放整型常量) (2)实型变量(可用来存放实型常量) (3)字符型变量(可用来存放字符型常量)注意:C语言中没有字符串变量,程序演示,4.变量的定义与初始化 (1)变量定义的一般格式 存储类型 数据类型 变量名1, 变量名2;例如: float max, min,length, area; int sum,num1,num2; char c1,c2; double x,y,z;,3.3 整型数据,3.3.1 整型常量的表示方法 .三种表示形式 整型

6、常量即整常数,在语言中可用三种形式表示: 十进制整数 例如10、36。 八进制(以数字开头)。 例如012。 十六进制(以数字+小写字母x开头)。例如0x36。,3.3.2 整型变量,1. 整型数据在内存中的存放形式数据在内存中是以二进制补码形式存放的。 如果定义了一个整型变量i: int i; /* 定义为整型变量 */ i=10; /* 给 i 赋以整数10 */,负数的补码,2. 整型变量的分类,三种整型变量:(1) 基本整型,以 int 表示。(2) 短整型, 以short int表示,或以 short 表示。(3) 长整型, 以 long int 表示,或以 long 表示。,归纳起

7、来,可以用以下6种整型变量,即:有符号基本整型 signed int 无符号基本整型 unsigned int有符号短整型 signed short int无符号短整型 unsigned short int有符号长整型 signed long int无符号长整型 unsigned long int,整型变量的分类,int a; unsigned int b;,一个整数(以13为例)在存储单元中的存储情况,3. 整型变量的定义,int a,b; (指定变量a、b为整型)unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型),例3.

8、2整型变量的定义与使用。,#include void main( ) int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf(a+u=%d,b+u=%dn,c,d); 运行结果为a+u=22,b+u=-14,4. 整型数据的溢出,例3.3 整型数据的溢出。 main( ) int a,b; a=32767; b=a+1; printf(%d,%d,a,b); ,运行结果为32767,-32768,3.3.3 整型常量的类型,注意以下几点:(1) 一个整数,如

9、果其值在-32768+32767范围内,认为它是int型,它可以赋值给 int型 和 long int 型变量。,注意以下几点:,(2) 一个整数,如果其值超过了上述范围,而在-2147483648+2147483647范围内,则认为它是长整型,可以将它赋值给一个long int型变量。,注意以下几点:,(3) 如果某一计算机系统的c版本(例如turbo c)确定short int与int型数据在内存中占据的长度相同,则它的表数范围与int型相同。因此,一个int型的常量也同时是一个short int型常量,可以赋给int型或short int型变量。,注意以下几点:,(4) 一个整常量后面加

10、一个字母u,认为是unsigned int型,如12345u,在内存中按unsigned int规定的方式存放(存储单元中最高位不作为符号位,而用来存储数据,见图2.4(b)。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数存储。,注意以下几点:,(5) 在一个整常量后面加一个字母 l或 L,则认为是 long int 型常量。,3.4 浮点型数据,3.4.1 浮点型常量的表示方法实数有两种表示形式:(1) 十进制小数形式。 它由数字和小数点组成(注意必须有小数点)。 .123、 123.、 123.0、 0.0 都是十进制小数形式。,(2) 指数形式。,如 1

11、23e3 或 123E3 都代表123103。但注意字母 e (或 E )之前必须有数字,且e后面的指数必须为整数。 如 e3、2.1e3.5、e3、 e 等都不是合法的指数形式。,3.4.2 浮点型变量,1. 实型数据在内存中的存放形式,2. 实型变量的分类,C实型变量分为以下三类:单精度 ( float 型 占4B)双精度 ( double 型 占8B )长双精度型 ( long double 占8B/10B),对每一个实型变量都应在使用前加以定义,floatx,y, (指定x、y为单精度实数)double z; (指定z为双精度实数) long double t; (指定t为长双精度实数

12、),3. 浮点型数据的舍入误差,例3.4实型数据的舍入误差。 main( ) float a,b; a = 123456.789e5; b = a + 20 ; printf(%f,b); ,3.4.3 浮点型常量的类型,C编译系统将实型常量作为双精度来处理。,3.5 字符型数据,3.5.1 字符常量 C的字符常量是用单引号(即撇号)括起来的一个字符。 如 a,x,d,?, 等都是字符常量。注意,a和A是不同的字符常量。,转义字符,C还允许用一种特殊形式的字符常量,就是以一个“”开头的字符序列。 n, t, 0 ddd, xhh,3.5.2 字符变量,字符型变量用来存放字符常量,请注意只能放一

13、个字符,不要以为在一个字符变量中可以放一个字符串(包括若干字符)。字符变量的定义形式如下:charc1,c2; c1=a;c2=b;,3.5.3 字符数据在内存中的存储形式及其使用方法,字符的相应的ASCII代码放到存储单元中,例3.6向字符变量赋予整数。,main( ) char c1,c2; c1=97; c2=98; printf(%c %cn,c1,c2);/*以字符形式输出*/ printf(%d %dn,c1,c2);/*转换为整数形式输出*/ ,字符型数据和整型数据是通用的,例3.7大小写字母的转换。,main( ) char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c%c,c1,c2); 运行结果为A B,字符数据与整型数据可以互相赋值,如:int i; char c; i=a; c=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i);输出:a,97 a,97,3.5.4 字符串常量,字符串常量是一对双引号括起来的若干字符序列。如:“how do you do.”, “CHINA”, “a”, “123.45”, “” 可以输出一个字符串,如: printf( how do you do.);,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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