第2章 C语言程序设计.ppt
《第2章 C语言程序设计.ppt》由会员分享,可在线阅读,更多相关《第2章 C语言程序设计.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第2章章 C语言的基本数据类型和存储类语言的基本数据类型和存储类2.1 整型数据整型数据 2.1.1 2.1.1 整型常量整型常量整型常量整型常量整型常量即整常数,中的整常数可以有三种表示整型常量即整常数,中的整常数可以有三种表示整型常量即整常数,中的整常数可以有三种表示整型常量即整常数,中的整常数可以有三种表示形式,即十进制整数、八进制整数和十六进制整数。形式,即十进制整数、八进制整数和十六进制整数。形式,即十进制整数、八进制整数和十六进制整数。形式,即十进制整数、八进制整数和十六进制整数。整型常量的说明:整型常量的说明:整型常量的说明:整型常量的说明:123123L L、123U123
2、U、123LU123LU十进制数:一串连续的数字表示,最高位非零。十进制数:一串连续的数字表示,最高位非零。十进制数:一串连续的数字表示,最高位非零。十进制数:一串连续的数字表示,最高位非零。八进制数:以数字零开头。八进制数:以数字零开头。八进制数:以数字零开头。八进制数:以数字零开头。十六进制数:以数字零和字母十六进制数:以数字零和字母十六进制数:以数字零和字母十六进制数:以数字零和字母x x开头,开头,开头,开头,a-fa-f不区分大小写。不区分大小写。不区分大小写。不区分大小写。考虑如下常数:考虑如下常数:考虑如下常数:考虑如下常数:3276732767,-32768-32768,0 0
3、,010010,011011,016016,018018,ox10ox10,0 xde0 xde,0 xf0 xf2.1.2 整型变量整型变量语言中的整型变量分为有符号和无符号两种语言中的整型变量分为有符号和无符号两种语言中的整型变量分为有符号和无符号两种语言中的整型变量分为有符号和无符号两种,所有所有所有所有变量在使用前必须加以说明或定义。其中变量在使用前必须加以说明或定义。其中变量在使用前必须加以说明或定义。其中变量在使用前必须加以说明或定义。其中:每种有符号整型变量又可细分为标准整型每种有符号整型变量又可细分为标准整型每种有符号整型变量又可细分为标准整型每种有符号整型变量又可细分为标准整
4、型(intint)、短整型短整型短整型短整型(short)short)和长整型和长整型和长整型和长整型(long)long)三类三类三类三类,其值可正可负。例如:其值可正可负。例如:其值可正可负。例如:其值可正可负。例如:intint a,b;/short c,d;/long f,g;a,b;/short c,d;/long f,g;每种无符号整型变量也可细分为标准整型每种无符号整型变量也可细分为标准整型每种无符号整型变量也可细分为标准整型每种无符号整型变量也可细分为标准整型(unsignedunsigned int int)、短整型短整型短整型短整型(unsigned short)unsig
5、ned short)和长整型和长整型和长整型和长整型(unsigned long)unsigned long)三类三类三类三类,其其其其值不能为负。例如:值不能为负。例如:值不能为负。例如:值不能为负。例如:unsigned unsigned intint a,b;/unsigned short a,b;/unsigned short c,d;/unsigned long f,g;c,d;/unsigned long f,g;intint、shortshort和和和和longlong的区别主要在表示的整数范围不同。通常的区别主要在表示的整数范围不同。通常的区别主要在表示的整数范围不同。通常的区
6、别主要在表示的整数范围不同。通常以一个机器字来存放一个以一个机器字来存放一个以一个机器字来存放一个以一个机器字来存放一个intint型数据。且型数据。且型数据。且型数据。且intint、shortshort和和和和longlong型型型型整数的字长满足整数的字长满足整数的字长满足整数的字长满足:shortshortintintlonglong2.1.3 整型数据的存储表示整型数据的存储表示正整数:以原码形式存放在内存中,字长为正整数:以原码形式存放在内存中,字长为正整数:以原码形式存放在内存中,字长为正整数:以原码形式存放在内存中,字长为1616时,整数范围时,整数范围时,整数范围时,整数范围
7、取取取取 0-32767 0-32767。例如:整数。例如:整数。例如:整数。例如:整数 5 5 对应对应对应对应 0 0000000000000101000000000000101。负整数:以补码形式存放在内存中。例如负整数:以补码形式存放在内存中。例如负整数:以补码形式存放在内存中。例如负整数:以补码形式存放在内存中。例如:-5:-5十进制负整数十进制负整数十进制负整数十进制负整数补码形式补码形式补码形式补码形式:1 1000000000000101000000000000101原码原码原码原码求原码的反码求原码的反码求原码的反码求原码的反码:1 111111111111101011111
8、1111111010反码反码反码反码把所得的反码加把所得的反码加把所得的反码加把所得的反码加1:1:1 1111111111111011111111111111011补码补码补码补码内存中的补码内存中的补码内存中的补码内存中的补码 十进制负整数十进制负整数十进制负整数十进制负整数:对补码各位取反对补码各位取反对补码各位取反对补码各位取反:1111111111111010:1111111111111010补码补码补码补码,取反后得取反后得取反后得取反后得:1000000000000101:1000000000000101将其转换为十进制数将其转换为十进制数将其转换为十进制数将其转换为十进制数:得
9、得得得-5-5将结果减将结果减将结果减将结果减1,1,得得得得-5-1=-6-5-1=-6。考虑考虑考虑考虑10000000000000001000000000000000、111111111111111111111111111111112.2 字符型数据字符型数据2.2.1 2.2.1 字符型常量字符型常量字符型常量字符型常量字符型常量是由一对单引号括起来的单个字符字符型常量是由一对单引号括起来的单个字符字符型常量是由一对单引号括起来的单个字符字符型常量是由一对单引号括起来的单个字符(可打印可打印可打印可打印)。如:。如:。如:。如:x,a,A,b,$,#x,a,A,b,$,#。一个转义序列
10、是一个反斜线后跟特定的字符,表示某一个转义序列是一个反斜线后跟特定的字符,表示某一个转义序列是一个反斜线后跟特定的字符,表示某一个转义序列是一个反斜线后跟特定的字符,表示某些不可打印的字符(如回车符,响铃符等)。例如:些不可打印的字符(如回车符,响铃符等)。例如:些不可打印的字符(如回车符,响铃符等)。例如:些不可打印的字符(如回车符,响铃符等)。例如:n n 换行符换行符换行符换行符 反斜线符反斜线符反斜线符反斜线符 t t 水平制表符水平制表符水平制表符水平制表符 单引号符单引号符单引号符单引号符 b b 退格符退格符退格符退格符 00 空字符空字符空字符空字符 r r 回车符回车符回车符
11、回车符 dddddd 位位位位型型型型 这里这里这里这里dddddd是是是是1 1至至至至3 3位八进制数字位八进制数字位八进制数字位八进制数字 f f 换页符换页符换页符换页符 00 xffxff 位型位型位型位型 这里这里这里这里ff ff是是是是1 1至至至至2 2位十六进制数字位十六进制数字位十六进制数字位十六进制数字注意:转义序列实际上作为一个字符来对待。但如注意:转义序列实际上作为一个字符来对待。但如注意:转义序列实际上作为一个字符来对待。但如注意:转义序列实际上作为一个字符来对待。但如果反斜线之后的字符和它不构成转义序列,则果反斜线之后的字符和它不构成转义序列,则果反斜线之后的字
12、符和它不构成转义序列,则果反斜线之后的字符和它不构成转义序列,则不起转义作用将被忽略。例如:不起转义作用将被忽略。例如:不起转义作用将被忽略。例如:不起转义作用将被忽略。例如:语句语句语句语句 printfprintf(A(ANbcNbc nDEFnDEFn);n);语句语句语句语句 printfprintf(tab(tabrcdrcdnnefef ghghx);x);2.2 字符型数据字符型数据字符型变量是通过保留字字符型变量是通过保留字字符型变量是通过保留字字符型变量是通过保留字charchar来说明的,其格式如下来说明的,其格式如下来说明的,其格式如下来说明的,其格式如下:char c1
13、,c2;char c1,c2;该语句说明了该语句说明了该语句说明了该语句说明了c1c1和和和和c2c2两个字符型变量。每个字符型变两个字符型变量。每个字符型变两个字符型变量。每个字符型变两个字符型变量。每个字符型变量可用来存放一个字符,例如:量可用来存放一个字符,例如:量可用来存放一个字符,例如:量可用来存放一个字符,例如:#include“include“stdiostdio.h”.h”main()main()char char ch ch;chch=getchargetchar();();putcharputchar(chch););2.2.2 字符型变量字符型变量2.2.3 字符型数据的
14、存储表示字符型数据的存储表示字符数据在计算机内部也是以一个字节的二进制形字符数据在计算机内部也是以一个字节的二进制形字符数据在计算机内部也是以一个字节的二进制形字符数据在计算机内部也是以一个字节的二进制形式来表示的,即事先对所要处理的每个字符都进行式来表示的,即事先对所要处理的每个字符都进行式来表示的,即事先对所要处理的每个字符都进行式来表示的,即事先对所要处理的每个字符都进行编码(通常是一个整型数)且不同的字符其编码也编码(通常是一个整型数)且不同的字符其编码也编码(通常是一个整型数)且不同的字符其编码也编码(通常是一个整型数)且不同的字符其编码也不相同。不相同。不相同。不相同。例如:例如:
15、例如:例如:main()main()char c1,c2;char c1,c2;c1=a;c1=a;c2=b;c2=b;c1=c1-32;c1=c1-32;c2=c2-32;c2=c2-32;printfprintf(“c1=%c c2=%c(“c1=%c c2=%cn”,c1,c2);n”,c1,c2);printf printf(“c1_ASCII_CODE=%d c2_ASCII_CODE=%dn”,c1,c2);(“c1_ASCII_CODE=%d c2_ASCII_CODE=%dn”,c1,c2);运行结果:运行结果:运行结果:运行结果:printfprintf中的参数个数可以有多个
16、,但第一个参数必须是字符串,中的参数个数可以有多个,但第一个参数必须是字符串,中的参数个数可以有多个,但第一个参数必须是字符串,中的参数个数可以有多个,但第一个参数必须是字符串,我们称其为格式串(我们称其为格式串(我们称其为格式串(我们称其为格式串(format-stringformat-string)。)。)。)。c1=A c2=Bc1=A c2=Bc1_ASCII_CODE=65 c2_ASCII_CODE=65c1_ASCII_CODE=65 c2_ASCII_CODE=652.2.3 字符型数据的存储表示字符型数据的存储表示printfprintf首先对格式串从左向右扫描,当遇到可显示
17、字符时就在首先对格式串从左向右扫描,当遇到可显示字符时就在首先对格式串从左向右扫描,当遇到可显示字符时就在首先对格式串从左向右扫描,当遇到可显示字符时就在终端上原样输出,当遇到控制字符(如终端上原样输出,当遇到控制字符(如终端上原样输出,当遇到控制字符(如终端上原样输出,当遇到控制字符(如 nn,响铃符等)就响铃符等)就响铃符等)就响铃符等)就产生相应的动作(换行,响铃等),当遇到转换符时,就将后产生相应的动作(换行,响铃等),当遇到转换符时,就将后产生相应的动作(换行,响铃等),当遇到转换符时,就将后产生相应的动作(换行,响铃等),当遇到转换符时,就将后面的实参依次按转换符的要求转换并输出。
18、常用的转换符有:面的实参依次按转换符的要求转换并输出。常用的转换符有:面的实参依次按转换符的要求转换并输出。常用的转换符有:面的实参依次按转换符的要求转换并输出。常用的转换符有:%d d 十进制整型、十进制整型、十进制整型、十进制整型、%c c 字符型、字符型、字符型、字符型、%f f 浮点型、浮点型、浮点型、浮点型、%s s 字符串型字符串型字符串型字符串型在使用在使用在使用在使用ASCIIASCII编码系统的机器上,用编写一个将大写英文字编码系统的机器上,用编写一个将大写英文字编码系统的机器上,用编写一个将大写英文字编码系统的机器上,用编写一个将大写英文字母转换为小写字母的程序,可用如下一
19、些语句实现:母转换为小写字母的程序,可用如下一些语句实现:母转换为小写字母的程序,可用如下一些语句实现:母转换为小写字母的程序,可用如下一些语句实现:charchar ch ch;chch=getchargetchar();();if(if(chch=A&=A&ch ch=Z)=Z)putcharputchar(a+(a+chch-A);-A);若将上面程序中的字符常量若将上面程序中的字符常量若将上面程序中的字符常量若将上面程序中的字符常量 AA,Z Z和和和和 aa分别用整常分别用整常分别用整常分别用整常数数数数6565,9090和和和和9797来代替程序能否正确运行?来代替程序能否正确运行
20、?来代替程序能否正确运行?来代替程序能否正确运行?2.2.3 字符型数据的存储表示字符型数据的存储表示编译系统将字符型数据当成有符号整型还是无符号整型没编译系统将字符型数据当成有符号整型还是无符号整型没编译系统将字符型数据当成有符号整型还是无符号整型没编译系统将字符型数据当成有符号整型还是无符号整型没有规定。例如:有规定。例如:有规定。例如:有规定。例如:main()main()char char ch ch;chch=376;=376;printfprintf(“%d”,(“%d”,chch););如果将字符看成无符号的,则输出如果将字符看成无符号的,则输出如果将字符看成无符号的,则输出如果
21、将字符看成无符号的,则输出254254,否则,输出,否则,输出,否则,输出,否则,输出-2-2。字符量可参与任何整数运算字符量可参与任何整数运算字符量可参与任何整数运算字符量可参与任何整数运算,如:如:如:如:B-A=66-65=1;a+1=97+1=b B-A=66-65=1;a+1=97+1=b 数字字符数字字符数字字符数字字符 整数值整数值整数值整数值,如如如如:9-0=57-:9-0=57-48=9;9+0=9=48=57=9;48=9;9+0=9=48=57=9;字符量可以参加关系运算字符量可以参加关系运算字符量可以参加关系运算字符量可以参加关系运算,如如如如:ab=ab=真真真真字
22、符量可以参加逻辑运算字符量可以参加逻辑运算字符量可以参加逻辑运算字符量可以参加逻辑运算,如如如如:a&b=a&b=真真真真2.2.3 字符型数据的存储表示字符型数据的存储表示2.2.4 字符串常量字符串常量字符串常量是用一对双引号括起来的零个或多个字符的序列。字符串常量是用一对双引号括起来的零个或多个字符的序列。字符串常量是用一对双引号括起来的零个或多个字符的序列。字符串常量是用一对双引号括起来的零个或多个字符的序列。如:如:如:如:“I am a student”I am a student”,“x”“x”,“”“”其中其中其中其中:“”只充当字符串的分界符,而不是字符串的一部分。只充当字符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 C语言程序设计 语言程序设计
限制150内