《C语言二级考试专用.pptx》由会员分享,可在线阅读,更多相关《C语言二级考试专用.pptx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 二、基本数据类型 1.1.基本数据类型:整型整型 、实型(又称浮点型)、双精度实型、字、实型(又称浮点型)、双精度实型、字符型、无值型(空类型)。符型、无值型(空类型)。2.2.基本数据类型的标识符:intint、floatfloat 、doubledouble、charchar、voidvoid 3.3.类型说明符 除无值型以外的除无值型以外的4 4种基本数据类型可以带有说明种基本数据类型可以带有说明前缀前缀。类型说明符有以下4 4种:(1 1)signedsigned (2 2)unsigned unsigned (3 3)longlong (4 4)shortshort 第1页/共38
2、页 三、常量和变量 1.常量的概念 在程序运行过程在程序运行过程中,其值不能被改变的量称为常中,其值不能被改变的量称为常量。量。常量的类型,可通过书写形式来判别。常量的类型,可通过书写形式来判别。常量的分类:表达形式:(1 1)整型常量)整型常量 6 6、432432、7654376543、546783424 546783424 (2 2)实型常量)实型常量 2.232.23、546.2487615247 546.2487615247、3.0574393.057439+5+5 (3 3)字符常量)字符常量 a a 、c c 、6 6 、M M (4 4)符号常量)符号常量 WHIWHI#def
3、ine WHI I am a student.WHIWHI是符号常量是符号常量 第2页/共38页 例3.1输出整型常量、字符常量的值 main()printf(“%dn”,349);printf(“%dn”,-9);printf(“%Cn”,M );运行结果:349 -9 M第3页/共38页 例3.2 符号常量WHI的使用。#define WHI I am a student.main()printf(“I am a student.n”);printf(%s n,“I am a student.”);printf(%s n,WHI );运行结果:I am a student.I am a s
4、tudent.I am a student.格式控制字符串中的普通字符,照原样输出第4页/共38页 2.变量的概念 在程序运行过程中,其值可以被改变的量称为变量。变量的三个要素:(1)变量名。每个变量都必须有一个名称。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。(3)变量的类型 例如:a (2 2个个字字节节)变量的类型 int 变量名字:a 变量的值:23 在内存中存储单元占16位0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1二进制数值二进制数值第5页/共38页例例3.3 3.3 输出变量的数值。输出变量的数值。main()int
5、x,y;x=5;y=3;printf(“%d-%dn”,x,y);x=1;y=2;printf(“%d-%dn”,x,y);运行结果:5-3 1-2x、y是整型变量是整型变量每个变量分配每个变量分配2个字节存储个字节存储单元单元将数值将数值5、3分别存放到分别存放到x、y变量变量的的存储单元存储单元x、y变量的值重新变量的值重新赋值赋值第6页/共38页 3.变量的定义与初始化(1)在在语语言言中中,要要求求对对所所有有用用到到的的变变量量,必必须须先定义、后使用。系统才可知道分配多大的存储空间。先定义、后使用。系统才可知道分配多大的存储空间。变量定义的一般格式:存储类型 数据类型 变量名,变量
6、名2;例如:int a1,a2,a3;(2)变变量量初初始始化化:在在定定义义变变量量的的同同时时进进行行赋赋初初值值的操作。变量初始化的一般格式:的操作。变量初始化的一般格式:存储类型 数据类型 变量名=初值,变量名2=初值2;例如:float a1=2.5,a2=5.23,a3=45.43;第7页/共38页 4.标识符命名规则语言中,用标识符来区分不同文件、函数、变量。(1)标标识识符符有有效效字字符符:只只能能由由字字母母、数数字字和和下下划划线线组成,且以字母或下划线开头。组成,且以字母或下划线开头。(2 2)标标识识符符有有效效长长度度:TC TC V2.0V2.0标标识识符符的的有
7、有效效长长度度为为个个字字符符。随随系系统统而而异异,但但至至少少前前个个字字符有效。如果超长,则超长部分被舍弃。符有效。如果超长,则超长部分被舍弃。例如student11student11和student12student12的前个字符相同,有的系统认为这两个变量,是一回事而不加区别。(3 3)C C语言的关键字不能用作变量名。语言的关键字不能用作变量名。第8页/共38页 (4 4)标标识识符符命命名名通通常常应应选选择择能能表表示示数数据据含含义义的的英英文文单单词词(或或缩缩写写)作作变变量量名名,或或汉汉语语拼拼音音字字头头作作变变量量名名。通通过过变变量量名名就就知知道道变变量量值值
8、的的含含义义,做做到到“见名知意见名知意”。例如:name:name xm xm 姓名 sex sex xb xb 性别 age age nl nl 年龄 salary salary gz gz 工资 注意:C C语语言言对对英英文文字字母母的的大大小小敏敏感感,即即同同一一字字母母的的大大小小写写,被被认认为为是是两两个个不不同同的的字字符符。变变量量名名totaltotal与与变变量量名名TOTALTOTAL、ToTaLToTaL、totAltotAl等等不不是是同同一一个变量个变量 习惯上,变量名和函数名中的英文字母用小写,以增加可读性。第9页/共38页3.2 3.2 整整 型型 数数
9、据据一、整型变量 1.1.整型变量分为类:(1)基本整型(int)(2)短整型(short int)(3)长整型(long int)(4)无符号整型。无符号型又分为(3种):unsigned int unsigned short unsigned long 第10页/共38页二、整型变量占用内存字节数与值域 1.1.整型变量占用的内存字节数 在在1616位操作系统中占用位操作系统中占用:int 型变量 占 2个字节 值域占16位 short 型变量 占 2字节 值域占16位 long 型变量 占 4字节 值域占32位 2.2.不同类型的整型变量值域 占用内存位数为 n n 的整型变量其值域:有
10、符号为:-2n-1 (2n 1-1)无符号为:0(2n-1)第11页/共38页 三、各种整型变量的值域范围 int 型变量(值域为16位):-32768 32767 short int(值域为16位):-32768 32767 long int(值域为32位):-2147483648 2147483647 unsigned int(值域为16位):0 65535 Unsigned short int(值域为16位):0 65535 Unsigned long int(值域为32位):0 4294967295 第12页/共38页 4.整型常量(整常数)三种表示形式(1 1)十进制 例如:10 、
11、36(2 2)八进制(以数字 0 0 开头)例如:012(十进制10)(3 3)十六进制(以数字 0 0+小写字母x开头)例如:0 0 x3636(十进制54 54)5.整型常量分类 (1 1)基本整型:其数据范围 -32768 32767 (与 int 型变量一样)(2 2)长整型(在数值后面加字母 L L(小写字母l l):其取值范围可达:-231 (231-1)例如:32769、123L、315L 等。第13页/共38页 6.整型数据在内存中的存放,数值是以补码表示的。一个正数的补码与原码相同;一个正数的补码与原码相同;一个负数的补码求法一个负数的补码求法:原码的二进制形式,取反求得反码
12、,再加:原码的二进制形式,取反求得反码,再加 1 1,得到负数的补码。,得到负数的补码。例如:-8 的原码1 0 00 00 00 00 00 10 00求反码1 1 11 11 11 11 11 01 11补码11 11 11 11 11 11 10 00第14页/共38页例3.4 输出不同进制整型常量#includemain()printf(“0 x80-%d n,0 x80);printf(“0200-%d n,0200);printf(128-%d n,128);printf(128-%o n,128);运行结果运行结果:0 x80-128 0200-128 128-128 128-2
13、00不输出前缀不输出前缀数数字字 以数字以数字开头开头第15页/共38页7.类型匹配规则类型匹配规则为:一个整型常量,可以赋给能容纳下其值的整型变量。例如,其值在 -(-)的整型常量,可以赋给 int 型变量和 long int 型变量;其值在 -(-)的整型常量,就只能赋给 long int 型变量。注意:常量无 unsigned 型。但一个非负整型常量,只要它的值不超过相应变量的值域(即取值范围),也可以赋给 unsigned 型变量。第16页/共38页3.3 3.3 实实 型型 数数 据据 1.实型常量(实数,又称浮点数)表示形式:(1)十进制形式 例如:3.14、9.8 (2)指数形式
14、 E(e)例如:3.02+5 34.42367750+7 实型常量不分 float 型和 double 型。一个实型常量,可以赋给一个实型变量(float型或double型)。第17页/共38页例3.5 实型常量的使用#include main()printf(a=%fn,32.766);printf(“b=%en,1.7e+37 t);运行结果运行结果:a=32.766000 b=1.700000e+037第18页/共38页 2.实型变量分类 (1)单精度型变量 float型变量 占4 字节(32位)提供 7 位有效数字 值域:(3.4e-383.4e+38)(2)双精度型变量 double
15、型变量 占 8 个字节(64位)提供 1516位有效数字 值域:(1.7e-3081.7e+308)第19页/共38页 4.实型数据在内存中的存放形式。一个单精度实型数据(float)在内存中占用个字节(32位)存放数据的数值范围:(3.4e-383.4e+38)数值的有效数字 7位 例如数值:56783.4562 0.567834562e+5 在内存中的浮点数存放形式:+5 +567834562 0 8 31 前8位 后24位第20页/共38页例3.6 运行以下程序,查看运行结果。数值的有效数值的有效数字数字 7 7 位位尾数尾数70317031不是有效不是有效数值数值第21页/共38页例3
16、.7 实型变量的使用#includemain()float x,y,z;x=42.67;y=12.3;z=x/y;printf(“z1=%fn,z);z=y/x;printf(“z2=%fn,z);程序运行结果:z1=3.469106 z2=0.288259小数点后小数点后6 6位位第22页/共38页例3.8 实型变量的使用数值范围第23页/共38页例3.8 实型变量的使用数值范围程序运行结果:程序运行结果:整数部分占39位小数部分占39位第24页/共38页3.43.4 字字 符符 数数 据据1.字符常量的定义用一对单引号括起来的单个字符称为字符常量。用一对单引号括起来的单个字符称为字符常量。
17、例如:A、7、等。2.转义字符语言还允许使用一种特殊形式的字符常量,就语言还允许使用一种特殊形式的字符常量,就是以反斜杠是以反斜杠“”开头的转义字符。开头的转义字符。n b r t f 0 ”v ddd xhh 注意:如果反斜杠或单引号本身作为字符常量,必须使用转义字符:、第25页/共38页 3.以“”开头的字符在printf 函数中控制输出格式:n换行t横向跳格(下一个输出区)v竖向跳格b退格r回车f走纸换页反斜杠字符 单引号 ddd 1到3位8进制数所代表的字符。如:101=Axhh 1到2位16进制数所代表的字符。第26页/共38页例3.9 用转义字符输出字符和不可打印字符。main()
18、printf(“ABC tabc txyz n”);printf(“abcbxyz n”);程序运行结果如下程序运行结果如下:第27页/共38页4.字符变量(关键字为 char)字符变量类型,占用1字节内存单元。(1)变量值的存储 将一个字符常量存储到一个字符变量中,实际将一个字符常量存储到一个字符变量中,实际上是将该字符的上是将该字符的 ASCII 码值(无符号整数)存储到码值(无符号整数)存储到内存单元中。内存单元中。(2)变量值的特性字符数据在内存中存储的是字符的字符数据在内存中存储的是字符的 ASCII 码码(一个无符号整数),其形式与整数的存储形式一(一个无符号整数),其形式与整数的
19、存储形式一样。样。第28页/共38页例如:char ch1,ch2;/*定义变量:ch1,ch2*/ch1=a;/*给字符变量赋值*/ch2=b;字符数据 a 、b 的 ASCII 码值97、98(一个无符号整数)分别存放在变量ch1,ch2所占用内存存储单元中,其形式与整数的存储形式一样。ch1 ch29798第29页/共38页(3)一个字符型数据,既可以字符形式输出,也可 以整数形式输出。例3.10字符变量的字符形式输出和整数形式输出。main()char ch1,ch2;ch1=a;ch2=b;printf(“ch1=%c,ch2=%cn”,ch1,ch2);printf(“ch1=%d
20、,ch2=%dn”,ch1,ch2);程序运行结果:程序运行结果:ch1=a,ch2=b ch1=97,ch2=98第30页/共38页(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,c
21、h2+32);运行结果:ch1=65,ch2=98 ch1=A,ch2=b第31页/共38页例3.12 用字符形式输出一个大于256的数值main()char ch1=a;printf(ch1+200=%dn,ch1+200);printf(ch1+200=%cn,ch1+200);printf(ch1+256=%dn,ch1+256);printf(ch1+256=%cn,ch1+256);程序运行结果程序运行结果:ch1+200=297 ch1+200=)ch1+256=353 ch1+256=a 第32页/共38页5.字符串常量(1)字符串常量的概念和字符串长度字符串常量字符串常量:是用
22、一对双引号括起来的若干字符序是用一对双引号括起来的若干字符序列。列。字符串长度字符串长度:字符串中字符的个数称为。字符串中字符的个数称为。空串空串:长度为长度为0的字符串(即一个字符都没有的字的字符串(即一个字符都没有的字符串),表示为符串),表示为“”(一对紧连的双引号)。(一对紧连的双引号)。例如字符串常量:“How do you do.”长度为14(空格也是一个字符)“Good morning.”长度为13 如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。例 C:msdosv6.22 C:msdos v6.22 I say:Goodbye!I say:Goodbye!第33
23、页/共38页 例3.13 输出字符串常量#includemain()char *p;/*定义一个指针变量*/p=I am a student.;printf(%sn,p);printf(%sn,I say:Goodbye!);运行结果:运行结果:I am a student.I say:Goodbye!第34页/共38页6.字符串的存储C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个0作为字符串的结束标志。如果有一个字符串为“CHINA”,则它在内存中的实际存储如下所示:C H I N A 0最后一个字符0是系统自动加上的,它占用字节而非字节内存空间。第35页/共38页7.字符常量 A 与字符串常量 A 的区别:(1)定界符不同:字符常量使用单引号A,而字符串常量使用双引号 ;(2)长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;(3)存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志 0 。第36页/共38页同 学 们 再 见 数 据 类 型第37页/共38页感谢您的欣赏!第38页/共38页
限制150内