C语言 第03章 数据类型、运算符与表达式.ppt
《C语言 第03章 数据类型、运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言 第03章 数据类型、运算符与表达式.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 数据类型、运算符数据类型、运算符和表达式和表达式 3.1 C3.1 C的数据类型的数据类型 3.2 3.2 常量与变量常量与变量 3.3 3.3 整型数据整型数据 3.4 3.4 浮点型数据浮点型数据 3.5 3.5 字符型数据字符型数据第三章第三章 目录目录第三章第三章 数据类型、运算符数据类型、运算符和表达式和表达式 3.6 3.6 变量赋初值变量赋初值 3.7 3.7 各类数值型数据间的混合运算各类数值型数据间的混合运算 3.8 3.8 算术运算符和算术表达式算术运算符和算术表达式 3.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式 3.10 3.10 逗号运算符
2、和逗号表达式逗号运算符和逗号表达式第三章第三章 目录目录3.1 C3.1 C的数据类型的数据类型3.1 C3.1 C的数据类型的数据类型数据类型数据类型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型整型整型字符型字符型实型实型(浮点型浮点型)枚举类型枚举类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型单精度型单精度型双精度型双精度型3.2 3.2 常量与变量常量与变量1.1.常量常量3.2 3.2 常量与变量常量与变量概念:概念:在程序运行中在程序运行中,其数值其数值不能被改变的量。不能被改变的量。分类:分类:直接常量和符号常量直接常量和符号常量直接常量:直接常量:直
3、接常量:直接常量:3.2 3.2 常量与变量常量与变量整型常量整型常量实型常量实型常量字符常量字符常量字符串常量字符串常量12 0 -312 0 -34.5 -1.234.5 -1.23a 1a 1“a”“1”a”“1”“abcabc”是在程序中是在程序中直接引用直接引用的数据。的数据。符号常量:符号常量:符号常量:符号常量:3.2 3.2 常量与变量常量与变量定义形式:定义形式:#define#define 标识符标识符 常量数据常量数据#define PRICE 30#include“stdio.h”void main()int n,t;n=10;t=n*PRICE;printf(“t=%
4、d”,t);用一个标识符代表一个常量。用一个标识符代表一个常量。2.2.变量变量3.2 3.2 常量与变量常量与变量变量名变量名变量值变量值a a存储单元存储单元3 3概念:概念:在程序运行中在程序运行中,其数值可以被改变的量。其数值可以被改变的量。标识符的命名规则标识符的命名规则3.2 3.2 常量与变量常量与变量(1)(1)只能由字母、数字和下划线三种字符组成,且只能由字母、数字和下划线三种字符组成,且 第一个字符必须为字母或下划线第一个字符必须为字母或下划线。如:如:_1 year month student_name sum0 _1 year month student_name su
5、m0 M.D.Jones$123#a 3b?c a=bM.D.Jones$123#a 3b?c a=b注意注意:在在C C语言中,大小写字母不等效。因此,语言中,大小写字母不等效。因此,a a和和A A,SumSum和和sumsum,分别是两个不同的标识符。分别是两个不同的标识符。3.2 3.2 常量与变量常量与变量(2)(2)ANSI CANSI C标准没有规定标识符的长度,随系统而标准没有规定标识符的长度,随系统而 异,但至少前异,但至少前8 8个字符有效个字符有效。如:如:student_name student_numberstudent_name student_number(3)(
6、3)C C语言的关键字不能用作变量名语言的关键字不能用作变量名。标识符命名的良好习惯标识符命名的良好习惯见名知意见名知意如:如:name/name/xmxm(姓名姓名)sex/)sex/xbxb(性别性别)age/age/nlnl(年龄年龄)stu_num/xhstu_num/xh(学号学号)3.2 3.2 常量与变量常量与变量注意注意:在在C C语言中,要求对所有用到的变量作强制语言中,要求对所有用到的变量作强制 定义,即定义,即“先定义,后使用先定义,后使用”。变量定义的一般形式:变量定义的一般形式:类型标识符类型标识符 变量名变量名1,1,变量名变量名2,2,变量名变量名3 3,.;自己
7、设定,满足自己设定,满足标识符的规定。标识符的规定。如:如:intint,float,charfloat,char;不可省;不可省3.3 3.3 整型数据整型数据3.3 3.3 整型数据整型数据1.整型常量的表示方法整型常量的表示方法12,-100,012,-100,00 012=1*812=1*8+2*8+2*8 =10(=10(十进制)十进制)0 x0 x12=1*1612=1*16+2*16+2*16 =18(=18(十进制)十进制)十进制整数十进制整数八进制整数八进制整数十六进制整数十六进制整数3.3 3.3 整型数据整型数据2.整型变量整型变量i i数据在内存中是以二进制形式数据在内
8、存中是以二进制形式(补码补码)存放的。存放的。int i;i=10;1010i i0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0-10的补码的补码取反取反再加再加1 1(1)(1)整型数据在内存中的存放方式整型数据在内存中的存放方式3.3 3.3 整型数据整型数据基本
9、型基本型 intint短整型短整型 short short intint 或或 shortshort长整型长整型 long long intint 或或 longlong无符号型,其中无符号型又分为:无符号型,其中无符号型又分为:无符号整型无符号整型 unsigned unsigned intint 无符号短整型无符号短整型 unsigned short unsigned short intint 无符号长整型无符号长整型 unsigned long unsigned long intint(2)(2)整型变量的分类整型变量的分类3.3 3.3 整型数据整型数据int x;long y;200
10、0200120022005xy内存内存内存地址内存地址20032004实例实例3.3 3.3 整型数据整型数据类类 型型比特数比特数最小取值范围最小取值范围short short 1616-3276832767unsigned shortunsigned short1616065535intint1616-3276832767unsigned unsigned intint1616065535longlong3232-21474836482147483647unsigned longunsigned long323204294967295表表3.1 3.1 Turbo C Turbo C 中的
11、整数类型中的整数类型3.3 3.3 整型数据整型数据(3)(3)整型变量的定义整型变量的定义#include“stdio.h”void main()int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%d”,c,d);运行结果运行结果a+u=22,b+u=-143.3 3.3 整型数据整型数据(4)(4)整型数据的溢出整型数据的溢出#include“stdio.h”void main()int a,b;a=32767;b=a+1;printf(“%d,%d”,a,b);0 0 1 1 1 1 1 1 1 1
12、 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0a a:b b:3276732767-32768-32768运行结果运行结果32767,-327683.3 3.3 整型数据整型数据3.整型常量的类型整型常量的类型-32768-32768+32767+32767intint型型-2147483648-2147483648+2147483647+2147483647long long intint型型 整型常量:整型常量:长整型常量:
13、长整型常量:intint型变量型变量long long intint型变量型变量long long intint型变量型变量3.3 3.3 整型数据整型数据 short short intint与与intint型数据在内存中占据的长度相同。型数据在内存中占据的长度相同。intint型常量型常量short short intint型型常量常量intint型变量型变量short short intint型变量型变量 在一个整常量后加一个字母在一个整常量后加一个字母1 1或或L,L,则认为是则认为是 long long intint型常量。型常量。例如例如:1231,432:1231,432L,0L
14、L,0L等。等。3.3 3.3 整型数据整型数据#include“stdio.h”void main()int x;x=10*9*8*7*6*5*4*3*2*1;printf(%d,x);例例.看看下面程序的输出是什么看看下面程序的输出是什么?运行结果:运行结果:-30363.4 3.4 浮点型数据浮点型数据3.4 3.4 浮点型数据浮点型数据1.浮点型常量的表示方法浮点型常量的表示方法十进制小数形式十进制小数形式指数形式指数形式十进制小数十进制小数+e/E+e/E+十进制数整数十进制数整数例如例如:3.4 :3.4 4.4.3.3例如例如:12.5e-6 :12.5e-6 表示表示12.51
15、2.51010-6-6小数部分小数部分e(e(或或E)E)指数部分指数部分3.4 3.4 浮点型数浮点型数据据2.浮点型变量浮点型变量数据在内存中是以指数形式存储的。数据在内存中是以指数形式存储的。(1)(1)浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式+.3 1 4 1 5 91数符数符小数部分小数部分指数指数+.314159.314159*3.141593.141593.4 3.4 浮点型数据浮点型数据单精度(单精度(floatfloat)型型双精度(双精度(doubledouble)型型长长双精度(双精度(long doublelong double)型型(2)(2)浮点型变
16、量的分类浮点型变量的分类类型类型字节数字节数有效数字有效数字数值范围数值范围float4 46 67 7-3.4*-3.4*1010-38-383.43.4*10103838double8 815151616-1.7*-1.7*1010-3-30 08 81.71.7*10103 30 08 8long double161618181919-1.2*-1.2*1010-493249321.2.2*1010493249323.4 3.4 浮点型数据浮点型数据(3)(3)浮点型数据的舍入误差浮点型数据的舍入误差#include“stdio.h”void main()float a,b;a=1234
17、56.789e5;b=a+20;printf(“%f”,b);运行结果运行结果12345678848.00000012345678848.0000003.4 3.4 浮点型数据浮点型数据3.浮点型常量的类型浮点型常量的类型许多许多C C编译系统将浮点型常量作为双精度来处理。编译系统将浮点型常量作为双精度来处理。在数的后面加字母在数的后面加字母f f或或F F(如如1.65f,654.87F1.65f,654.87F),),这样编译系统就会按单精度来处理。这样编译系统就会按单精度来处理。例如:例如:float f;f=2.45678*4523.65;float f;f=2.45678*4523.
18、65;3.4 3.4 浮点型数据浮点型数据一个浮点型常量可以赋给一个一个浮点型常量可以赋给一个floatfloat型、型、doubledouble或或long doublelong double型变量。根据变量的类型变量。根据变量的类型截取浮点型常量中相应的有效位数字。型截取浮点型常量中相应的有效位数字。例如:例如:float a;a=123456.789;float a;a=123456.789;3.5 3.5 字符型数据字符型数据3.5 3.5 字符型数据字符型数据1.字符常量字符常量二种表现形式:二种表现形式:用单引号括起来的一个字符。用单引号括起来的一个字符。用单引号括起来的由反斜杠用
19、单引号括起来的由反斜杠()()引导的转引导的转义字符。义字符。如:如:AA、aa、11、$、?等。等。转义字符及其含义表转义字符及其含义表3.5 3.5 字符型数据字符型数据字符形式字符形式含义含义ASCII代码代码 nn换行换行10 tt水平制表水平制表9 bb退格退格8 rr回车回车13 ff换页换页12 反斜杠字符反斜杠字符92 单撇号字符单撇号字符39 双撇号字符双撇号字符34 dddddd13位位8进制数所代表的字符进制数所代表的字符 xhhxhh13位位16进制数所代表的字符进制数所代表的字符3.5 3.5 字符型数据字符型数据例例.转义字符的使用转义字符的使用#include#i
20、nclude“stdio.hstdio.h”void void main()main()printf(“printf(“abab ctct derftgnderftgn”);”);printf(“htibbjprintf(“htibbj k k”);”);/*/*注注 代表空格代表空格*/设一个输出区占设一个输出区占8 8列,试分析输出结果。列,试分析输出结果。1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8a a b bc cd d e ef fg gh hi ij jk k3.5 3.5 字符型数据字符型数据2.
21、字符变量字符变量字符变量的定义:字符变量的定义:char c1,c2;char c1,c2;字符变量用来存放字符常量,注意一个字符变量字符变量用来存放字符常量,注意一个字符变量只能存放一个字符只能存放一个字符。一个字节来存放一个字符,或者说一个字符变量一个字节来存放一个字符,或者说一个字符变量在内存中占一个字节。在内存中占一个字节。如:如:c1=a;c1=a;c2=b;c2=b;3.5 3.5 字符型数据字符型数据3.字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法将一个字符常量放到字符变量中,实际是将该将一个字符常量放到字符变量中,实际是将该字符的相应的字符的相应
22、的ASCASC代码放到存储单元中。代码放到存储单元中。例如:例如:char c1,c2;char c1,c2;c1=a;c1=a;c2=b;c2=b;?c1c1c2c29798c1c1c2c201100001c1c1c2c2011000103.5 3.5 字符型数据字符型数据字符数据的特性字符数据的特性在在0 0255255之间字符型数据和整数可以通用。之间字符型数据和整数可以通用。一个字符数据既可以以字符形式输出,也一个字符数据既可以以字符形式输出,也可以以整数形式输出。可以以整数形式输出。可以对字符数据进行算术运算,此时相当可以对字符数据进行算术运算,此时相当于对它们的于对它们的ASCAS
23、C码进行算术运算码进行算术运算。如:如:65D(65D(十进制十进制)=41H()=41H(十六十六)=101Q()=101Q(八八)字符字符A A可以表示为可以表示为:A A x41x41 101101 65 0 x41 65 0 x41 010101013.5 3.5 字符型数据字符型数据例例.字符型数据和整型数据的通用字符型数据和整型数据的通用。#include“stdio.h”void main()char c1,c2;int i,j;c1=97;c2=b;i=a;j=98;printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);printf(“%c%c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 第03章 数据类型、运算符与表达式 语言 03 数据类型 运算 表达式
限制150内