《C语言第3章1类型、运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言第3章1类型、运算符与表达式.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章数据类型、运算符和表达式数据类型、运算符和表达式主要内容主要内容1.预备知识预备知识2.常量和变量的概念常量和变量的概念3.各种数据类型的常量及变量各种数据类型的常量及变量4.变量赋初值变量赋初值5.不同类型数据之间的混合运算不同类型数据之间的混合运算6.常用运算符和表达式常用运算符和表达式7.输入函数与输出函数输入函数与输出函数 23.1 预备知识预备知识l1 1、进制以及进制之间的转换、进制以及进制之间的转换l2 2、数据在计算机中的存储方式、数据在计算机中的存储方式31、进制以及进制之间的转换、进制以及进制之间的转换l计算机中数的表示及进制转换计算机中数的表示及进制转换数码、
2、基与权数码、基与权数码:表示数的符号数码:表示数的符号基:数码的个数(即进制的名称)基:数码的个数(即进制的名称)权:每一位所具有的值权:每一位所具有的值数制数制4进制基权表示数码特点,10,10,10十进制数0910逢十进一二进制数012,2,2,2逢二进一八进制数078,8,8,8逢八进一十六进制数09,AF,af16,16,16,16逢十六进一十进制:4956=410+910+510+610二进制:1011=12+02+12+12十六进制:81AE=816+116+1016+1416八进制:4275=48+28+78+58八进制:4275=48+28+78+58十六进制:81AE=816
3、+116+1016+1416二进制:1011=12+02+12+12十进制:4956=410+910+510+6105十进制二进制八进制十六进制00001111210223113341004451015561106671117781000108910011196十进制二进制八进制十六进制10101012A11101113B12110014C13110115D14111016E15111117F161000020101710001211118100102212191001123137一、二进制数的逻辑运算一、二进制数的逻辑运算 计算机中的逻辑关系是一种二值逻辑,逻辑运计算机中的逻辑关系是一种二值
4、逻辑,逻辑运算的结果只有算的结果只有“真真”或或“假假”两个值。两个值。二值逻辑很容易用二进制的二值逻辑很容易用二进制的0 0和和1 1来表示,一般用来表示,一般用1 1 1 1表示真表示真表示真表示真,用,用0 0表示假表示假。8与与或或非非表示方式表示方式逻辑代数的三种基本逻辑关系逻辑代数的三种基本逻辑关系 AND、OR、非非A写成写成 9(1)与运算)与运算 与运算与运算又称逻辑乘,通常用又称逻辑乘,通常用或或表示。表示。运算规则为运算规则为按位按位进行进行“与与”运算,若进行运算,若进行“与与”操作的两位均为操作的两位均为1,则结果为,则结果为1;两位中;两位中有一位为有一位为0,则结
5、果为,则结果为0。具体规则如下:。具体规则如下:00=0 01=0 10=0 11=1 10(2)或运算)或运算 或运算或运算又称逻辑加,通常用又称逻辑加,通常用或或+表示。表示。运算规则是按位进行运算规则是按位进行“或或”运算,若进行运算,若进行“或或”操作的两位中有一位为操作的两位中有一位为1,则结果为,则结果为1;两位均为两位均为0,则结果为,则结果为0。具体规则如下:。具体规则如下:00=0 01=1 10=1 11=111(3)非运算)非运算 非运算非运算实现对单个逻辑值的处理,实现对单个逻辑值的处理,也称为逻辑取反操作,通常用也称为逻辑取反操作,通常用表示。表示。运算规则如下:运算
6、规则如下:12二、数制间的转换二、数制间的转换十进制数十进制数非十进制数非十进制数非十进制数非十进制数十进制数十进制数二、八、十六进制之间的转换二、八、十六进制之间的转换13余数法:余数法:除基数取余数、由下而上排列。十进制八进制十进制整数十进制整数 非十进制整数非十进制整数示例示例1:8 75 3 8 9 1 8 1 1 0结果为:结果为:113O14十进制小数十进制小数 非十进制小数非十进制小数结果为:结果为:0.101B15十进制转换成非十进制十进制转换成非十进制u对于十进制转化为对于十进制转化为 r 进制进制u整数部分整数部分:u小数部分小数部分:除除 r 取余,直到商为取余,直到商为
7、0;先取;先取的余数在低位,后取的余数在高位。的余数在低位,后取的余数在高位。乘乘 r 取整,直到值为取整,直到值为0或或达到精度要求。先取的整数在高位,达到精度要求。先取的整数在高位,后取的整数在低位。后取的整数在低位。16 12例:十进制例:十进制25.13转换成二进制转换成二进制先将先将整数部分整数部分 25转换为二进制转换为二进制2563122221001120收收集集得到:得到:11001 B17将将0.13转换为二进制,精确到后转换为二进制,精确到后4位。位。0.13*2=0.260.26*2=0.520.52*2=1.040.04*2=0.08收集收集0010收收集集得到:得到:
8、0.0010 B18所以:所以:(25)10=(11001)2(0.13)10=(0.0010)2(25.13)10=(11001.0010)219例:把(例:把(111011111011)2 2,(136136)8 8,(1F2A1F2A)1616转换为转换为十进制数。十进制数。二进制、八进制、十六进制转换成十进制二进制、八进制、十六进制转换成十进制l方法:按位权相加方法:按位权相加20例:把(例:把(111011111011)2 2,(136136)8 8,(1F2A1F2A)1616转换为十进制数。转换为十进制数。21二进制二进制 十六进制十六进制 二进制二进制 八进制八进制二、八、十六
9、进制之间的转换二、八、十六进制之间的转换一位拆三位一位拆三位一位拆四位一位拆四位整数从右向左整数从右向左小数从左向右小数从左向右三位并一位三位并一位四位并一位四位并一位22二进制转换为八进制或十六进制二进制转换为八进制或十六进制整数部分:整数部分:从低位向高位每从低位向高位每3位位(八进制八进制)/4位位(十六进制十六进制)为一为一组,组,高位不足的补高位不足的补0凑足凑足3位位/4位,然后每组分别位,然后每组分别按权展开;按权展开;小数部分:小数部分:从高位向低位每从高位向低位每3位位(八进制八进制)/4位位(十六进制十六进制)为一为一组,组,低位不足的补低位不足的补0凑足凑足3位位/4位,
10、然后每组分别位,然后每组分别按权展开。按权展开。23 10 110 110 111.010 1(2 6 6 7 .2 4)800为为八八进进制制进进制制二二进进制制转转换换为为十十六六进进制制二二进进制制转转换换00242、计算机中数据的存储方式、计算机中数据的存储方式-字节和位字节和位l内存以字节为单元组成内存以字节为单元组成l每个字节有一个地址每个字节有一个地址l一个字节一般由一个字节一般由8个二进制位组成个二进制位组成l每个二进位的值是每个二进位的值是0或或101234567012345678910.25数值(整型)的表示方法数值(整型)的表示方法原码、反码和补码原码、反码和补码u原码:
11、原码:l最高位为符号位,其余各位为数值本身的绝对值最高位为符号位,其余各位为数值本身的绝对值u反码:反码:l正数:反码与原码相同正数:反码与原码相同l负数:符号位为负数:符号位为1,其余位对原码取反,其余位对原码取反u补码:补码:l正数:原码、反码、补码相同正数:原码、反码、补码相同l负数:最高位为负数:最高位为1,其余位为原码取反;再对整个数加,其余位为原码取反;再对整个数加126原码原码+7原原=0 0000111 B-7原原=1 0000111 B反码反码+7反反=0 0000111 B-7反反=1 1111000 B27补码补码+7补补=0 0000111 B-7补补=1 111100
12、1 B 正数:原码、反码、补码相同正数:原码、反码、补码相同负数:最高位为负数:最高位为1 1,其余位为原码取反;再对整个,其余位为原码取反;再对整个数加数加1 128原码反码补码+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000数的范围0111111111111111(-127+127)0111111110000000(-127+127)0111111110000000(-128+127)(用一字节表示数)(用一字节表示数)29 补码在
13、微型机中是一种重要的编码形式,补码在微型机中是一种重要的编码形式,请注意:请注意:1 1、采用补码后,可以方便地将减法运算转化成采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。加法运算,运算过程得到简化。2 2、与原码、反码不同,数值与原码、反码不同,数值0 0的补码只有一个,的补码只有一个,即即 0 0补补=00000000B=00000000B。3 3、若字长为、若字长为8 8位,则补码所表示的范围为位,则补码所表示的范围为-128-128+127+127;进行补码运算时,应注意所得结果不应超;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围。过补码所能表示数的
14、范围。30练一练:练一练:1 1、十进制数、十进制数-29-29,写出它的原码,反码,补码?,写出它的原码,反码,补码?2 2、十进制数、十进制数-15-15,写出它的原码,反码,补码?,写出它的原码,反码,补码?原码:原码:u最高位为符号位,其余各位为数值本身的绝对值最高位为符号位,其余各位为数值本身的绝对值反码:反码:u正数:反码与原码相同正数:反码与原码相同u负数:符号位为负数:符号位为1,其余位对原码取反,其余位对原码取反补码:补码:u正数:原码、反码、补码相同正数:原码、反码、补码相同u负数:最高位为负数:最高位为1,其余位为原码取反;再对整个数加,其余位为原码取反;再对整个数加13
15、1原码、反码、补码之间的转换原码、反码、补码之间的转换对于正数都一样,故不需要转换。对于正数都一样,故不需要转换。对于负数对于负数u反码反码原码,符号位不动,其余取反;原码,符号位不动,其余取反;u补码补码反码,减反码,减1;u补码补码原码,减原码,减1;符号位不动,取反;符号位不动,取反 或者符号位不动,其余取反;正数加或者符号位不动,其余取反;正数加1。32练一练:练一练:1 1、已知补码:、已知补码:1001 11011001 1101,写出反码和原码。,写出反码和原码。u反码:反码:1001 11001001 1100u原码:原码:1110 00111110 00112 2、已知补码:
16、、已知补码:1100 10011100 1001,写出原码。,写出原码。u原码:原码:1011 01111011 011133主要内容主要内容1.预备知识预备知识2.常量和变量的概念常量和变量的概念3.各种数据类型的常量及变量各种数据类型的常量及变量4.变量赋初值变量赋初值5.不同类型数据之间的混合运算不同类型数据之间的混合运算6.常用运算符和表达式常用运算符和表达式7.输入函数与输出函数输入函数与输出函数 343.2.1 C语言的基本元素语言的基本元素1、符号集、符号集2、标识符、标识符3、关键字、关键字351、符号集、符号集也叫也叫字符集字符集,包括如下五种:,包括如下五种:(1)大写字母
17、大写字母A-Z;(2)小写字母小写字母a-z;(3)数字数字09;(;(4)下划线)下划线 _(5)标点符号和运算符标点符号和运算符362、标识符、标识符 用来标识变量、常量、函数、文件的名字的用来标识变量、常量、函数、文件的名字的字符序列。字符序列。构成规则:构成规则:u由英文字母(大小写)或下划线开头;由英文字母(大小写)或下划线开头;u其后跟着若干个英文字母、数字和下划线;其后跟着若干个英文字母、数字和下划线;u大小写敏感,不能以数字开头;大小写敏感,不能以数字开头;u长度各个系统不同,一般不要超过长度各个系统不同,一般不要超过8个字符;个字符;37例例:判断下列标识符号合法性判断下列标
18、识符号合法性sum Sum M.D.John sum Sum M.D.John day Date 3days day Date 3days student_name#33 char student_name#33 char ab _above$123ab _above$123lotus_1_2_3lotus_1_2_3383、关键字、关键字 又称又称 保留字保留字,是,是C语言中具有特定含义、专门用语言中具有特定含义、专门用做语言特定成分的一类做语言特定成分的一类标识符标识符。(。(P168)ANSI规定了规定了32个关键字个关键字,(,(turbo c扩展了扩展了11个。)个。)u例如例如:
19、int、float、char注意:注意:u1、所有的关键字都有特定用途,不能用作其他。、所有的关键字都有特定用途,不能用作其他。u2、所有的关键字都必须小写。、所有的关键字都必须小写。393.2.2 3.2.2 常量常量定义:定义:程序运行时其值不能改变的量(即常数)。程序运行时其值不能改变的量(即常数)。分类分类:直接常量和符号常量直接常量和符号常量u1 1、直接常量、直接常量:l整型常量,例如:整型常量,例如:3030,7 7,l实型常量,例如实型常量,例如2.82.8,0.670.67l字符常量,例如字符常量,例如 a al字符串常量,例如字符串常量,例如”word”word”403.2
20、.2 3.2.2 常量常量定义:定义:程序运行时其值不能改变的量(即常数)。程序运行时其值不能改变的量(即常数)。分类分类:直接常量和符号常量直接常量和符号常量u2 2、符号常量、符号常量:用标识符代表常量用标识符代表常量定义格式:定义格式:#define#define 符号常量符号常量 常量常量l注意:注意:一般用大写字母一般用大写字母是宏定义预处理命令,不是是宏定义预处理命令,不是C语句语句41例例:符号常量举例符号常量举例423.2.2 变量变量 定义:定义:程序运行时其值可以改变的量。程序运行时其值可以改变的量。l每个变量有一个名字:用每个变量有一个名字:用标识符标识符表示。表示。l每
21、个变量有一个存储空间(存储单元),该每个变量有一个存储空间(存储单元),该单元中的状态所表示的数为此时变量的值。单元中的状态所表示的数为此时变量的值。u变量的使用:变量的使用:先定义,后使用先定义,后使用43编译程序根据变量编译程序根据变量定义为其分配指定定义为其分配指定字节的内存单元。字节的内存单元。.地址int a=1,b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数443.2.2 变量变量-其值可以改变的量其值可以改变的量注意:注意:u1 1、见名知义;、见名知义;u2 2、先定义,后使用;、先定义,后使用;u3 3、一般使用小写字母。、一般使用小写字母。变量定义的一般格
22、式:变量定义的一般格式:数据类型数据类型 变量变量11,变量,变量2 2,变量,变量n;n;例:int a=2,b,c=4;float data=3.67;char ch=A;45变量定义位置:变量定义位置:一般放在函数开头一般放在函数开头main()int a,b=2;float data;a=1;data=(a+b)*1.2;printf(“data=%fn”,data);变量定义变量定义可执行语句可执行语句46主要内容主要内容1.预备知识预备知识2.常量和变量的概念常量和变量的概念3.各种数据类型的常量及变量各种数据类型的常量及变量4.变量赋初值变量赋初值5.不同类型数据之间的混合运算不
23、同类型数据之间的混合运算6.常用运算符和表达式常用运算符和表达式7.输入函数与输出函数输入函数与输出函数 473.3 3.3 各种数据类型的常量及变量各种数据类型的常量及变量数据为什么要区分类型?数据为什么要区分类型?u不同类型的数据代表不同的不同类型的数据代表不同的l数据表示形式数据表示形式l合法的取值范围合法的取值范围l占用内存空间大小占用内存空间大小l可参与的运算种类可参与的运算种类48数据类型总表数据类型总表C C数数据据类类型型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void定义类型定义类型typedef字符类型字符类型 char整整 型型实型实型单精度型单精度型
24、float双精度型双精度型double数组数组结构体结构体struct共用体共用体union短整型短整型short长整型长整型long整型整型int数据类型决定:数据类型决定:1.数据占内存字节数数据占内存字节数2.数据取值范围数据取值范围3.其上可进行的操作其上可进行的操作枚举枚举493.3.1 整数类型整数类型 整型数据的标识符是整型数据的标识符是 int int。分类:分类:整形常量、整型变量整形常量、整型变量。整整型型数数据据根根其其加加上上的的不不同同的的限限定定词词,则则占占用用的的内存字节数不同。内存字节数不同。50限定词:描述数据占用的内存字节数限定词:描述数据占用的内存字节数
25、 short(short(短整型短整型),int,long(int,long(长整型长整型),short int long short int longuunsigned short(unsigned short(无符号短整型无符号短整型),),uunsigned int (unsigned int (无符号整型无符号整型),),uunsigned long (unsigned long (无符号长整型无符号长整型),),5101 11 11 11 11 11 11 11int型:型:最大最大:3276710 00 00 00 00 00 00 00最小最小:-3276811 11 11 11
26、 11 11 11 11unsigned int型:型:最大最大:6553500 00 00 00 00 00 00 00最小最小:052注意:注意:其中其中shortshort和和longlong的引入是为满足实际要求的的引入是为满足实际要求的不同长度的整数,而经不同长度的整数,而经unsignedunsigned限定词限定的限定词限定的整数总是正的。整数总是正的。shortshort与与intint类型至少为类型至少为1616位,而位,而longlong类型至少类型至少为为3232位,并且,位,并且,shortshort类型不得长于类型不得长于intint类型,类型,而而intint类型不
27、得长于类型不得长于longlong类型。类型。可用可用sizeofsizeof(类型标识符)测量。类型标识符)测量。53&整型常量(整常数)整型常量(整常数)三种形式:三种形式:u十进制整数:十进制整数:由数字由数字0 09 9和正负号表示和正负号表示.如如 123,-456,0123,-456,0u八进制整数:八进制整数:由数字由数字0 0开头开头,后跟数字后跟数字0 07 7表示表示.如如0123,0110123,011u十六进制整数:十六进制整数:由由0 x0 x开头开头,后跟后跟0 09,a9,af,Af,AF F表示,如表示,如0 x123,0Xff0 x123,0Xff问题:012
28、3 =()100 x123=()100Xff =()10问题:0123 =()100 x123=()100Xff =()108329125554整型常量的类型整型常量的类型u根据其值所在范围确定其数据类型:根据其值所在范围确定其数据类型:u在整常量后加字母在整常量后加字母l l或或L L,认为它是,认为它是long int long int 型型常量常量u无符号数也可用后缀表示,整型常数的无符号数无符号数也可用后缀表示,整型常数的无符号数的后缀为的后缀为“U”“U”或或“u”“u”。例如:例如:358u,0 x38Au,235Lu 358u,0 x38Au,235Lu 均为无符号数;均为无符号
29、数;0XA5Lu 0XA5Lu表示十六进制表示十六进制无符号长整数无符号长整数A5A5,其十,其十进制为进制为165165。55&整型变量整型变量 定义方法:定义方法:intint a1,a2;a1,a2;unsigned unsigned intint b1,b2;b1,b2;一个整型常量只可以赋给能容纳下其值的整型一个整型常量只可以赋给能容纳下其值的整型变量变量。如:如:a1,a2a1,a2的取值范围为的取值范围为 -32768-32767-32768-32767 b1,b2 b1,b2的取值范围为的取值范围为 0-655350-65535如果:如果:a1=65535;a1=65535;或
30、者或者:b1=-1;:b1=-1;在内存中数值将不是所赋的数值。在内存中数值将不是所赋的数值。563.3.2 3.3.2 实数类型实数类型分类:分类:u单精度(单精度(floatfloat)u双精度(双精度(doubledouble)l二二者者的的区区别别在在于于所所占占存存储储位位的的多多少少,从从而而决决定定了其取值范围。了其取值范围。l一一般般float float 占占用用3232位位(bitsbits),doubledouble占占用用6464位(位(bitsbits)。)。57&实型常量(实数或浮点数)实型常量(实数或浮点数)u表示形式:表示形式:l十进制数形式:十进制数形式:由数
31、字和小数点组成,小数由数字和小数点组成,小数点的左右至少一边要有数字。点的左右至少一边要有数字。(必须有小数(必须有小数点)点)如如0.123,.123,123.0,0.0,123.0.123,.123,123.0,0.0,123.l指数形式:指数形式:由尾数、由尾数、e e或或E E和指数部分组成,和指数部分组成,E E的两边都至少要有一位数且的两边都至少要有一位数且E E的右边只允许的右边只允许是整数形式是整数形式(e e或或E E之前必须有数字;指数必之前必须有数字;指数必须为整数)如须为整数)如12.312.3e3,123E2,e3,123E2,e-5e-5,58实型常量的类型实型常量
32、的类型u默认默认doubledouble型型u在实型常量后加字母在实型常量后加字母f f或或F F,认为它是,认为它是floatfloat型。型。59&实型变量实型变量实型变量的说明形式如下实型变量的说明形式如下:ufloat float 变量名变量名11,变量名,变量名2 2,变量名变量名nn;udouble double 变量名变量名11,变量名,变量名2 2,变量名变量名nn;lfloatfloat:占占4 4字节,提供字节,提供7 7位有效数字位有效数字ldoubledouble:占占8 8字节,提供字节,提供15161516位有效数字位有效数字例例 :float a;float a;
33、a=111111.111;/*a=111111.1*/a=111111.111;/*a=111111.1*/double b;double b;b=111111.111;/*b=111111.111*/b=111111.111;/*b=111111.111*/float a,b,c;double x,y;60例例 实型变量的有效数字。实型变量的有效数字。main()main()double a;double a;a=6.152 367 864 359 046 178 294 901;a=6.152 367 864 359 046 178 294 901;printf(n%printf(n%25
34、.2025.20f,a);f,a);输出结果为:输出结果为:61对上一个例题的解释(参阅):对上一个例题的解释(参阅):62基本数据类型基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有c
35、har8-128127无unsigned char80255说明说明:数据类型所占字节数随机器硬件不同而不同数据类型所占字节数随机器硬件不同而不同,上表以上表以IBM PCIBM PC机为例。机为例。633.3.3 字符类型字符类型 字字符符型型数数据据包包含含的的是是一一个个字字符符集集。一一般般用用的的是是ASCIIASCII码字符集码字符集 。v字字符符集集中中的的每每一一个个字字符符都都有有一一个个序序号号,称称为为ASCIIASCII码码。vASCIIASCII码码大的字符比大的字符比ASCIIASCII码码小的字符值大。小的字符值大。v字符类型的标识符是字符类型的标识符是charc
36、har。64&字符常量字符常量定义定义:用用单引号单引号括起来的单个括起来的单个普通字符普通字符或或转义字符转义字符.字符常量的字符常量的值值:该字符的:该字符的ASCIIASCII码值码值如如 A65 A65,a97 a97,048,n10 048,n10如如 a A?n 10165aaa&字符常量字符常量定义定义:用用单引号单引号括起来的单个括起来的单个普通字符普通字符或或转义字符转义字符.字符常量的字符常量的值值:该字符的:该字符的ASCIIASCII码码值值转义字符转义字符:反斜线后面跟一个字符或一个代码值表示。反斜线后面跟一个字符或一个代码值表示。如如 101 -A 012 -n 3
37、76 -x61 -a 60 -0 483 -()66aaa 转义字符转义字符含义含义nnvvrraaddddddttbbff“xhhxhh转义字符转义字符含义含义换行换行垂直制表垂直制表回车回车响铃响铃单引号单引号3 3位位8 8进制数代进制数代表的字符表的字符水平制表水平制表退格退格换页换页反斜线反斜线双引号双引号2 2位位1616进制数代进制数代表的字符表的字符转义字符转义字符:反斜线后面跟一个字符或一个代码值表示反斜线后面跟一个字符或一个代码值表示67aaa&字符型变量字符型变量uchar char 变量名变量名1 1,变量名变量名2 2,变量名,变量名nn;如:如:char c1,c2
38、 char c1,c2;u一个字符型变量的值只能是一个单个字符;一个字符型变量的值只能是一个单个字符;在内在内存中占一个字节存中占一个字节;u字符变量存放的是字符的字符变量存放的是字符的ASCIIASCII码码;例例 a=D;/*a=68;*/a=D;/*a=68;*/x=A+5;/*x=65+5;*/x=A+5;/*x=65+5;*/s=!+G/*s=33+71;*/s=!+G/*s=33+71;*/68&字符串常量字符串常量u定义:用双引号定义:用双引号(“”)(“”)括起来的字符序列括起来的字符序列u存储:存储:每个字符串尾每个字符串尾自动自动加一个加一个 0 0 作为作为字符串结束标志
39、字符串结束标志。H e l l o H e l l o 00例例 字符串字符串“hello”“hello”在内存中在内存中例例 空串空串 “”“”069a a 0例例 a“a”例:char ch;ch=“A”;例:char ch;ch=A;注:没有注:没有字符串变量字符串变量,用字符数组存放。,用字符数组存放。70例:将小写字母转化为大写字母。例:将小写字母转化为大写字母。71基本数据类型基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127无unsigned char80255说明说明:数据类型所占字节数随机器硬件不同而不同数据类型所占字节数随机器硬件不同而不同,上表以上表以IBM PCIBM PC机为例。机为例。72宏定义宏定义变量定义变量定义输出结果输出结果7374