第2讲数据类型、运算符和表达式课件

上传人:我*** 文档编号:140683682 上传时间:2020-07-31 格式:PPT 页数:37 大小:567KB
返回 下载 相关 举报
第2讲数据类型、运算符和表达式课件_第1页
第1页 / 共37页
第2讲数据类型、运算符和表达式课件_第2页
第2页 / 共37页
第2讲数据类型、运算符和表达式课件_第3页
第3页 / 共37页
第2讲数据类型、运算符和表达式课件_第4页
第4页 / 共37页
第2讲数据类型、运算符和表达式课件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第2讲数据类型、运算符和表达式课件》由会员分享,可在线阅读,更多相关《第2讲数据类型、运算符和表达式课件(37页珍藏版)》请在金锄头文库上搜索。

1、全国计算机等级考试 2C课程,第二讲 数据类型、运算符和表达式,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,2,标识符,标识符在C程序中的作用: 标识符可用作变量名、符号名、函数名、数组名、文件名,以及具有专门含义的名字。 C程序中标识符的组成: 合法的标识符只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线(数字不能打头) 如sum、day、Date、lotus_1_2_3、 _above都是合法的标识符。 类别: C语言中标识符共有三种:关键字、预定义标识符和用户标识符,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,3,关键字 C程序中关键字共有39个,由系统定

2、义,代表固定含义,不能另作他用。,auto break case char const continue default do double else,enum extern float for goto if int long register return,short signed sizeof static struct switch typedef unsigned union void,volatile while asm interrupt huge near cdecl far pascal,标识符,注意:所有关键字均为小写。,2020/7/31,作者:张旭仟 版权所有 欢迎盗版

3、,4,预定义标识符 预定义标识符在C语言中具有特定含义,如C语言提供的库函数名,如:printf、define C语言允许用户另作他用,但这将使这些标识符失去系统规定的原意,所以建议不要另作他用。 用户标识符 用户标识符是指由用户根据需要定义的标识符。 用户标识符一般用来给变量、函数、数组、文件等命名 说明: 命名原则是见名知意,不宜混淆,如l与I, o与0 注意C语言中,标识符大小写敏感 不能使用关键字作用户标识符,标识符,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,5,小练习:,1、以下选项中,能用作用户标示符的是(2009年9月) A) viod B) 8_8 C) _0_ D

4、) unsigned 2、以下C语言用户标识符中,不合法的是(2010年3月) A) _1B) AaBc C) a_bD) ab,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,6,小练习:,3、阅读以下程序 #include main() int case;float printf; printf(“请输入2个数:”); scanf(“%d%f”, 4、该程序在编译时产生错误,其出错原因是 A)定义语句出错,case是关键字,不能用作用户自定义标示符 B)定义语句出错,printf不能用作用户自定义标示符 C)定义语句出错,scanf不能作为输入函数使用 D)定义语句出错,printf

5、不能输出case的值,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,7,C语言的数据类型,C语言提供了丰富的数据类型,总结如下:,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,8,整型常量(整常数) 书写形式: 十进制整数:由数字09和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如0123,011 十六进制整数:由0 x开头,后跟09,af,AF表示. 如0 x123,0Xff,整型常量的类型 整型常量也有基本整型(int)、长整型(long)和无符号整型(unsigned)之分,由其值所在的范围确定。例如:在VC+环境下,21474836

6、47为int型; 4294967295为unsigned;而4294967296为long型。 此外,若在整常量后加上字母l或L,无论数值大小都视其为long 型常量。例如:12L、34l。,常 量,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,9,实型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4都是正确的,而e-5,1.2E-3.5是错误的,实型常量的类型 默认所有实型常量都是double型 只有在实型常量后加字

7、母f或F,才认为它是float 型,常 量,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,10,字符常量 定义:用单引号括起来的单个普通字符或转义字符。如 a A ? n 101都是合法的符号常量。 字符常量的值是该字符的ASCII码值。常用字符的ASCII码值如下表所示,常 量,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,11,常 量,转义字符 转义字符,是一类特殊的字符常量,在反斜线“”后面跟一个字符或一个代码值表示。常见转义字符如下:,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,12,常 量,转义字符 普通字符常量都可以用3位8进制数表示的转义字符或2位16进

8、制数表示的转义字符表示。 例如:字符常量A可以表示为101,或x41。其中 A 的ASCII码值是65,而101和x41,分别是65的8进制和16进制表示。请看下面的例子 注意: 483 超出了取值范围,不能表示任何字符。,例如: 101 -A 012 - n 376 - x61 - a 60 -0 483 - (),2020/7/31,作者:张旭仟 版权所有 欢迎盗版,13,要特别注意字符常量与字符串常量的区别,字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志,常 量,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,14,常 量,

9、符号常量 定义格式: #define 符号常量 常量,例如: #define PRICE 30 main() int num,total; num=10; total=num*PRICE; printf(total=%d“,total); ,运行结果:total=300,说明: 符号常量一般采用大写字母 定义语句属宏定义预处理命令,不是C语句,所以不用“;”结束,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,15,小练习:,1、以下选项中,能用作数据常量的是(2009年3月 ) A)o115 B) 0118 C)1.5e1.5 D) 115L 2、以下选项中不能作为C语言合法常量的是(

10、2008年9月 ) A)cd B) 0.1c+6C) a D) 011 3、有以下程序,其中k的初值为八进制数 main() int k=011; printf(%dn,k+); 程序运行后的输出结果是 A)12 B)11C)10D)9,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,16,变 量,变量的概念: 程序运行时其值可以改变的量就叫做变量。 每个变量都要用一个变量名(即用户标识符)来标识。例如:a,b,area 等。,变量的定义方法: 数据类型 变量1,变量2,变量n;,决定分配字节数 和数的表示范围,变量名必须是合法的标识符,例如: int a,b,c; float data

11、;,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,17,变 量,变量的赋值 对于变量,既可以先定义后赋值,也可以在定义的同时赋初值。 允许在一条语句中一次定义多个相同类型的变量 注意:int x=y=z=1;语句是不允许的。,例如: int a;a=4; /*先定义后赋值*/ float data=3.67; /*在定义的同时赋初值*/ int x=1,y=2,z; /*也可以在一条语句中一次定义多个相同类型的变量*/,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,18,变 量,变量的赋值 编译程序将根据变量类型为其分配固定字节数的内存单元 如果在定义时没有给变量赋初值,则变量

12、的值是一个随机值,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,19,变 量,定义变量的语句,必须位于函数的开头,例如: main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data); ,例如: main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data); ,由于该定义变量的语句出现在赋值语句“a=1;”之后,程序编译时将会出错,经过这样的修改,错误排除了!,2020/7/31,作者:张旭仟 版权所有 欢迎盗版

13、,20,变 量,对于变量,必须先定义,后使用,例如: int student; stadent=19; 由于以上语句中,stadent并没有定义,因此在编译时出现如下错误: Undefined symbol statent in function main,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,21,变 量,对于变量,应该先赋值,再调用,例如: float a,b,c; c=a%b; 以上语句中,由于a,b都没有赋值,因此在编译时将出现如下错误: illegal use of floating point in function main,2020/7/31,作者:张旭仟 版权

14、所有 欢迎盗版,22,整型变量 整型变量有short、int和long几种。 整型变量占字节数随机器不同而不同。VC+环境下int和long都是占用4个字节, short占用2个字节。,实型变量 float:占4字节,提供7位有效数字; double:占8字节,提供1516位有效数字,字符型变量 字符变量存放字符的ASCII码 对c字符变量,可以直接与int数据间进行算术运算,例如: float a=111111111111.111111111f; double b=111111111111.111111111; printf(a=%fnb=%lfn,a,b); 执行结果: a=1111111

15、10656.000000 b=111111111111.111110,例如:a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */,注意:C语言中没有字符串变量,用字符数组存放,变量的类型,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,23,可用sizeof(标识符)测量变量所占的字节数。如:在VC+环境下, int a,b;b=sizeof(a);b的值为4 要书写长整形常量,可在后面加后缀l或L,如 12L。 书写无符号整数常量,可在数字末尾加上U或u,如 12u。 书写长整形无符号常量,应该加上后缀lu或LU,如 12

16、LU。 注意:无符号常量不能表示小于0的数。如:-200u是不合法的。,整形数据的分类,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,24,小练习:,1、以下选项中正确的定义语句是(2008年9月 ) A) double a;b; B) double a=b=7 C) double a=7,b=7; D) double,a,b; 2、若函数中有定义语句:int k;,则(2009年3月) A) 系统将自动给k赋初值0B) 这时k中值无定义 C) 系统将自动给k赋初值-1D) 这时k中无任何值 3、C源程序中不能表示的数制是(2008年9月 ) A)二进制 B)八进制 C)十进制 D)十六进制,2020/7/31,作者:张旭仟 版权所有 欢迎盗版,25,对于有符号整数,内存中最高位用1表示负号,用0表示正数,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号