数据类型和表达式答案.ppt
《数据类型和表达式答案.ppt》由会员分享,可在线阅读,更多相关《数据类型和表达式答案.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、主讲教师:贾澎涛主讲教师:贾澎涛C/C+C/C+语言程序设计语言程序设计第二章第二章数据类型和表达式数据类型和表达式本章主要内容本章主要内容l l本章介绍本章介绍C语言的基础,包括:语言的基础,包括:数据类型数据类型数据类型数据类型 运算符和表达式运算符和表达式运算符和表达式运算符和表达式l l均是程序设计的基本知识均是程序设计的基本知识l l为什么讨论为什么讨论这些知识这些知识?2通常通常程序程序要对数据进行操作处理:要对数据进行操作处理:处理的对象是处理的对象是数据数据通过通过运算符和表达式运算符和表达式进行操作进行操作第第2章章数据类型和表达式数据类型和表达式l l2.1词法构成词法构成
2、l l字符集字符集l l标识符标识符l l关键字关键字l l注释符注释符3重点重点l lANSIC标准规定的标准规定的C语言关键字共语言关键字共32个,个,所有所有C关键字都必须小写关键字都必须小写l l标识符由标识符由132个字符组成,第一个字符个字符组成,第一个字符必须是字母或下画线,标识符不能与必须是字母或下画线,标识符不能与C关关键字相同,并区分大小写。键字相同,并区分大小写。l lC语句以分号结尾,分号是语句以分号结尾,分号是C语句的组成语句的组成部分。部分。C语句包括简单语句语句包括简单语句(即表达式语句即表达式语句)、复合语句和空语句。复合语句和空语句。4例题解析例题解析1.下列
3、四个叙述中,正确的是下列四个叙述中,正确的是。A)C程序中的所有字母都必须小写程序中的所有字母都必须小写B)C程序中的关键字必须小写,其他标识程序中的关键字必须小写,其他标识符不区分大小写符不区分大小写C)C程序中的所有字母都不区分大小写程序中的所有字母都不区分大小写D)C语言中的所有关键字必须小写语言中的所有关键字必须小写2.下面属于下面属于C语言保留字的是语言保留字的是_。A)IntB)typedefC)ENUMD)unien5你能回答下面你能回答下面问题吗?问题吗?3.3.以下叙述正确的是以下叙述正确的是以下叙述正确的是以下叙述正确的是_A)A)可以把可以把可以把可以把definedef
4、ine和和和和if if定义为用户标识符定义为用户标识符定义为用户标识符定义为用户标识符B)B)可以把可以把可以把可以把definedefine定义为用户标识符,但不能把定义为用户标识符,但不能把定义为用户标识符,但不能把定义为用户标识符,但不能把if if定义为用定义为用定义为用定义为用户标识符户标识符户标识符户标识符C)C)可以把可以把可以把可以把if if定义为用户标识符,但不能把出定义为用户标识符,但不能把出定义为用户标识符,但不能把出定义为用户标识符,但不能把出definedefine定义为定义为定义为定义为用户标识符用户标识符用户标识符用户标识符D)defineD)define和和
5、和和if if都不能定义为用户标识符都不能定义为用户标识符都不能定义为用户标识符都不能定义为用户标识符4.4.以下选项中合法的用户标识符是以下选项中合法的用户标识符是以下选项中合法的用户标识符是以下选项中合法的用户标识符是。A)longA)longB)_2TestB)_2TestC)3DmaxC)3DmaxD)A.datD)A.dat65.下列标识符中正确的一组是下列标识符中正确的一组是_A)name,char,_abc,A$B)abc.c,5bytes,_USA,_54321C)print,const,type,defineD)include,integer,Double,short_int
6、6.下面的单词中属于下面的单词中属于C语言保留字的是语言保留字的是_A)LongB)breakC)ForD)struction7数据类型数据类型基本类型基本类型构造类型构造类型指针类型指针类型()空类型空类型(void)字符型字符型(char)数值类型数值类型枚举类型枚举类型(enum)数组类型数组类型()结构体类型结构体类型(struct)共用体类型共用体类型(union)整型整型(short,int,long,unsigbed)实型实型单精度型单精度型(float)双精度型双精度型(double)2.2数据类型数据类型8重点重点l lC C语言提供了五种基本数据类型,即语言提供了五种基本数
7、据类型,即语言提供了五种基本数据类型,即语言提供了五种基本数据类型,即char,int,floatchar,int,float,doubledouble和和和和voidvoid。l l数据类型决定了内存的分配模式,即不同的数据类型所数据类型决定了内存的分配模式,即不同的数据类型所数据类型决定了内存的分配模式,即不同的数据类型所数据类型决定了内存的分配模式,即不同的数据类型所占的内存字节数是不同的。内存分配模式不是占的内存字节数是不同的。内存分配模式不是占的内存字节数是不同的。内存分配模式不是占的内存字节数是不同的。内存分配模式不是C C语言本语言本语言本语言本身的规定,而是由宿主机硬件决定的。
8、身的规定,而是由宿主机硬件决定的。身的规定,而是由宿主机硬件决定的。身的规定,而是由宿主机硬件决定的。l l不同的数据类型允许的数值范围也是不同的,超出了允不同的数据类型允许的数值范围也是不同的,超出了允不同的数据类型允许的数值范围也是不同的,超出了允不同的数据类型允许的数值范围也是不同的,超出了允许的数值范围,就会得到错误的结果。许的数值范围,就会得到错误的结果。许的数值范围,就会得到错误的结果。许的数值范围,就会得到错误的结果。C C编译系统不具编译系统不具编译系统不具编译系统不具检查此类错误的能力。检查此类错误的能力。检查此类错误的能力。检查此类错误的能力。l lC C语言对整型和字符型
9、不区分,可以混合使用。语言对整型和字符型不区分,可以混合使用。语言对整型和字符型不区分,可以混合使用。语言对整型和字符型不区分,可以混合使用。9例题解析例题解析1.C1.C语言中允许的基本数据类型包括语言中允许的基本数据类型包括语言中允许的基本数据类型包括语言中允许的基本数据类型包括。A)A)整型、实型、逻辑型整型、实型、逻辑型整型、实型、逻辑型整型、实型、逻辑型B)B)整型、实型、字符型整型、实型、字符型整型、实型、字符型整型、实型、字符型C)C)整型、字符型、逻辑型整型、字符型、逻辑型整型、字符型、逻辑型整型、字符型、逻辑型D)D)整型、实型、逻辑型、字符型整型、实型、逻辑型、字符型整型、
10、实型、逻辑型、字符型整型、实型、逻辑型、字符型2.C2.C语言中能用八进制数表示的数据类型为语言中能用八进制数表示的数据类型为语言中能用八进制数表示的数据类型为语言中能用八进制数表示的数据类型为A)A)字符型、整型字符型、整型字符型、整型字符型、整型 B)B)整型、实型整型、实型整型、实型整型、实型C)C)字符型、实型、双精度型字符型、实型、双精度型字符型、实型、双精度型字符型、实型、双精度型D)D)字符型、整型、实型、双精度型字符型、整型、实型、双精度型字符型、整型、实型、双精度型字符型、整型、实型、双精度型10你能回答下面你能回答下面问题吗?问题吗?2.3常量与变量常量与变量常量常量常量常
11、量常量常量常量常量 程序运行过程中不能被改变的量。程序运行过程中不能被改变的量。程序运行过程中不能被改变的量。程序运行过程中不能被改变的量。l l整数在计算机中是准确表示的,可以用十进制、整数在计算机中是准确表示的,可以用十进制、整数在计算机中是准确表示的,可以用十进制、整数在计算机中是准确表示的,可以用十进制、八进制和十六进制数表示。当用八进制数表示八进制和十六进制数表示。当用八进制数表示八进制和十六进制数表示。当用八进制数表示八进制和十六进制数表示。当用八进制数表示时,第一位数字前面必须加时,第一位数字前面必须加时,第一位数字前面必须加时,第一位数字前面必须加0 0;当用十六进制;当用十六
12、进制;当用十六进制;当用十六进制数表示时,第一位数字前而必须加数表示时,第一位数字前而必须加数表示时,第一位数字前而必须加数表示时,第一位数字前而必须加0 x0 x:无符号:无符号:无符号:无符号整数的末尾必须加字母整数的末尾必须加字母整数的末尾必须加字母整数的末尾必须加字母u u或或或或U U;长整数的末尾必;长整数的末尾必;长整数的末尾必;长整数的末尾必颁加字母颁加字母颁加字母颁加字母I I或或或或L L。l l字符型常数是用单引号括住的单个字符。用转字符型常数是用单引号括住的单个字符。用转字符型常数是用单引号括住的单个字符。用转字符型常数是用单引号括住的单个字符。用转义字符表示不可显示字
13、符。转义字符以义字符表示不可显示字符。转义字符以义字符表示不可显示字符。转义字符以义字符表示不可显示字符。转义字符以“”开头,后跟一个特定的字母或八进制数或十六开头,后跟一个特定的字母或八进制数或十六开头,后跟一个特定的字母或八进制数或十六开头,后跟一个特定的字母或八进制数或十六进制数表示的进制数表示的进制数表示的进制数表示的ASCIIASCII代码值。代码值。代码值。代码值。11l l用八进制时,前面可以也可以不加数字用八进制时,前面可以也可以不加数字用八进制时,前面可以也可以不加数字用八进制时,前面可以也可以不加数字0 0;用十六进制数;用十六进制数;用十六进制数;用十六进制数时,前面必须
14、加字母时,前面必须加字母时,前面必须加字母时,前面必须加字母x x。l l字符串常数是用双引号括住的一串字符。当两个双引号字符串常数是用双引号括住的一串字符。当两个双引号字符串常数是用双引号括住的一串字符。当两个双引号字符串常数是用双引号括住的一串字符。当两个双引号连写时表示零字符串。连写时表示零字符串。连写时表示零字符串。连写时表示零字符串。l lC C语言将所有的实数都视为双精度型数。双精度数只能语言将所有的实数都视为双精度型数。双精度数只能语言将所有的实数都视为双精度型数。双精度数只能语言将所有的实数都视为双精度型数。双精度数只能用十进制数表示。在计算机中是近似表示的。双精度数用十进制数
15、表示。在计算机中是近似表示的。双精度数用十进制数表示。在计算机中是近似表示的。双精度数用十进制数表示。在计算机中是近似表示的。双精度数用定点数形式表示时,小数点不可缺少;用浮点数形式用定点数形式表示时,小数点不可缺少;用浮点数形式用定点数形式表示时,小数点不可缺少;用浮点数形式用定点数形式表示时,小数点不可缺少;用浮点数形式表示时,表示时,表示时,表示时,E E前面必须有数字前面必须有数字前面必须有数字前面必须有数字(带不带小数点均可带不带小数点均可带不带小数点均可带不带小数点均可),E E后面后面后面后面只能是整数,不能带小数点。只能是整数,不能带小数点。只能是整数,不能带小数点。只能是整数
16、,不能带小数点。12l l符号常数是用标识符表示的常数,它具有符号常数是用标识符表示的常数,它具有变量的外表和常量的内涵。变量的外表和常量的内涵。l l用用#define定义的符号常数没有类型和值定义的符号常数没有类型和值的含义。在预编译时由编译系统将宏名用的含义。在预编译时由编译系统将宏名用宏体替换。宏体替换。define是编译预处理命令,是编译预处理命令,不属于不属于C语言关键字。语言关键字。l l用用const定义的符号常数既有值又有类型定义的符号常数既有值又有类型的含义。该定义是在编译阶段完成的。的含义。该定义是在编译阶段完成的。13例题解析例题解析1.下列属于下列属于C语言合法的字符
17、常量是语言合法的字符常量是_A)97B)“A“C)tD)”0”14你能回答下面你能回答下面问题吗?问题吗?2.3.2 变量变量 1.1.变量的有关概念变量的有关概念变量的有关概念变量的有关概念l l在程序运行过程中,其值改变的数据,称为变量,变量用在程序运行过程中,其值改变的数据,称为变量,变量用在程序运行过程中,其值改变的数据,称为变量,变量用在程序运行过程中,其值改变的数据,称为变量,变量用标识符表示,称为标识符表示,称为标识符表示,称为标识符表示,称为变量名变量名变量名变量名。l l变量必须变量必须变量必须变量必须“先定义后使用先定义后使用先定义后使用先定义后使用”l l系统为变量分配存
18、储单元,存储变量的值。系统为变量分配存储单元,存储变量的值。系统为变量分配存储单元,存储变量的值。系统为变量分配存储单元,存储变量的值。l l编写程序时通过变量名来存、取编写程序时通过变量名来存、取编写程序时通过变量名来存、取编写程序时通过变量名来存、取变量值变量值变量值变量值。15a a510510变量值变量值变量值变量值为变量分配的为变量分配的为变量分配的为变量分配的存储单元存储单元存储单元存储单元变量名变量名变量名变量名例如:例如:例如:例如:有有有有变量变量变量变量a a a a它的值是它的值是它的值是它的值是5 5 5 5101010102.变量定义变量定义变量定义的一般格式:变量定
19、义的一般格式:【类型修饰符类型修饰符】数据类型说明符数据类型说明符变量列变量列表;表;例如:例如:int i,j;long k,m;float x,y;char ch1,ch2;16必须使用合法的标识符作变量名必须使用合法的标识符作变量名不能使用关键字为变量命名不能使用关键字为变量命名3.变量的初始化变量的初始化 允许在说明变量的时候对变量赋初值。允许在说明变量的时候对变量赋初值。例如:例如:int a=5,b=10+2;double x=23.568,y;char ch1=a,ch2=66,ch3=142;表示定义变量并对变量存储单元赋值。表示定义变量并对变量存储单元赋值。错误的初始化:错误
20、的初始化:int a=3+b,b=5;float m=n=23.16;17例题解析例题解析1.1.若有以下定义和语句:若有以下定义和语句:若有以下定义和语句:若有以下定义和语句:intu=010,v=0 x10,w=10;intu=010,v=0 x10,w=10;printf(“%d,%d,%dn”,u,v,w)printf(“%d,%d,%dn”,u,v,w);则输出结果是:则输出结果是:则输出结果是:则输出结果是:A)8,16,10B)10,10,10A)8,16,10B)10,10,10C)8,8,10D)8,10,10C)8,8,10D)8,10,1018你能回答下面你能回答下面问题
21、吗?问题吗?2.4指针和指针变量指针和指针变量 main()main()main()main()float x;float x;float x;float x;int y;int y;int y;int y;192.4.1指针和指针变量的概念指针和指针变量的概念变量的两个物理意义变量的两个物理意义200020002001200120022002200320032004200420052005x xy y变量的内容变量的内容变量的地址变量的地址19指针和指针变量的概念指针和指针变量的概念 main()main()main()main()int a,b,c;int a,b,c;int a,b,c;
22、int a,b,c;a=5;a=5;a=5;a=5;b=3;b=3;b=3;b=3;c=a c=a c=a c=a +b;+b;+b;+b;20200020002001200120022002200320032004200420052005a ab bc c5 5直接将整数直接将整数直接将整数直接将整数 5 5 5 5 存入变量存入变量存入变量存入变量 a a a a 3 3直接将整数直接将整数直接将整数直接将整数 3 3 3 3 存入变量存入变量存入变量存入变量 b b b b8 直接直接直接直接将变量将变量将变量将变量 a a a a、b b b b 的值取出,相的值取出,相的值取出,相的
23、值取出,相加后存入变量加后存入变量加后存入变量加后存入变量 c c c c 利用变量名利用变量名存取数据的方式存取数据的方式称为称为“直接存取直接存取”方式。方式。20C语语言还提供言还提供了对内存了对内存单元的单元的“间接存取间接存取”方式方式21p p2000200020012001200220022003200320042004200520052006200620072007a ab bc c532004a a和和b b相加的结果相加的结果(*p p=a a+b b)存放存放到变量到变量p p所指向的所指向的内存单元内存单元中去。中去。此时此时c c称为指针变量称为指针变量p p的的目标
24、变量目标变量。P P20042004c cp=&c8 main()main()int a=5,b=3,c,*p;int a=5,b=3,c,*p;p=&c;p=&c;*p=a+b;*p=a+b;变量的地址称为变量的指针变量的地址称为变量的指针存放地址的变量称为指针变量存放地址的变量称为指针变量21指针变量的定义指针变量的定义main()main()inta,*pinta,*p=&a=&a;floatx,*qfloatx,*q=&x=&x;2220002000200020002001200120012001200220022002200220032003200320032004200420042
25、00420052005200520052006200620062006200720072007200720082008200820082009200920092009a ap px xq q20042000 main()main()int a,*p;int a,*p;float x,*q;float x,*q;p=&a;p=&a;q=&x;q=&x;指针变量定义的形式指针变量定义的形式指针变量定义的形式指针变量定义的形式指针变量初始化指针变量初始化指针变量初始化指针变量初始化222.5 运算符和表达式运算符和表达式l l主要内容:主要内容:算术运算符和算术表达式算术运算符和算术表达式 赋值运算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 表达式 答案
限制150内