版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目二程序设计基础知识第三讲常量C语言程序设计任务驱动式教程运算符和表达式C程序基础知识概述数据类型常量变量目录数据类型转换导学【问题1】什么是常量?【问题2】转义字符:\t、\b、\r、\n、\f分别具有什么含义?
思考问题导入符号常量是指用符号代表某个常量常量任务三常量又可以分为以下两种:0201直接常量:整型常量:12,0,-3;实型常量:4.6,-1.23;字符常量:'a','b'。符号常量:用标识符代表一个常量。常量通常用于给变量赋值,因此,使用它时无需事先声明,只要按规定书写即可。常见的常量包括整型常量、实型常量、字符型常量和符号常量等。常量-----直接常量任务三(1)整型常量整型常量即整常数,C语言中整型数据可以有以下三种表示形式:1十进制整数,如18、-175。2八进制整数。C语言中八进制以数字0开头,只能用0~7这8个数字组合表达,如0154对应的十进制数为1×82+5×81+4×80=108。3十六进制整数。C语言中十六进制以0x或0X开头,只能用0~9这十个数字及字母A~F组合表达。其中,A代表数值10,B代表数值11,依此类推,F代表数值15。如0x15F对应的十进制数为1×162+5×161+15×160=351。
提示在十六进制中,字母A~F可以使用大写形式,也可以使用a~f小写形式。常量-----直接常量任务三(1)整型常量十进制举例45,-8965,0,+887 45.0 八进制举例044,-0175 086 十六进制举例0x56、-0x4F 0xg5 合法非法合法非法合法非法长整型常量由常量值后跟L或l表示-456l1024L无符号整型常量由常量值后跟U或u表示458u458U-51u无符号长整型常量由常量值后跟LU,Lu,lU或lu表示48lu
非法(原因:小于0)常量-----直接常量任务三表示方式前置符号构成示例表示方式十进制无0~9、正负号65,-57十进制八进制00~7、正负号032,027,-033八进制十六进制0x或0X0~9,a~f(或A~F)、正负号0x101,0Xff十六进制(1)整型常量常量-----直接常量任务三(1)整型常量-----示例#include"stdio.h”intmain(){intx=1246,y=01246,z=0x1246;printf("x=%d,y=%d,z=%d\n",x,y,z);/*%d:以十进制格式符输出*/printf("x=%o,y=%o,z=%o\n",x,y,z);/*%o:以八进制格式符输出*/printf("x=%x,y=%x,z=%x\n",x,y,z);/*%x:以十六进制格式符输出*/return0;}常量-----直接常量任务三(2)实型常量实型数据指带小数的数值(实数),又称浮点数(因小数点是“浮动的”而得名)。C语言中实型常量只用十进制形式表示,但其表示方式也有两种:1直接十进制形式,如0.0013、-1482.5。2指数形式,通常用来表示一些比较大或者比较小的数值,格式为:实数部分+字母E或e+正负号+整数部分其中字母E或e表示十次方,正负号表示指数部分的符号,整数为幂的大小。字母E或e之前必须有数字,之后的数字必须为整数。例如,0.0013可表示为1.3e-3,-1482.5可表示为-1.4825e3。常量-----直接常量任务三(2)实型常量十进制小数形式由数字和小数点组成必须有小数点整数部分和小数部分为0时可以省略,但不可两者都省。例如:6.385-780.44.79120.等价于:0.79等价于:120.0实型常量的类型包括:double
双精度实型float
单精度实型longdouble长双精度实型所有的实型常量均视为double常量。float常量由常量值后跟f或F来表示6895.43F6.89543e3flongdouble常量由常量值后跟L或l来表示87.789L
常量-----直接常量任务三(2)实型常量指数形式绝对值很大或很小的数可写成指数形式,更显得直观、方便。0.0000066667写成6.6667×10-6
或0.66667×10-5以字母e或者E来代表以10为底的指数。0.0000066667写成6.6667e-6或0.66667E-5e或E的左边是数值部分,可以表示成整数或者小数形式,不能省略。e或E的右边是指数部分,必须是整数形式。3.0e4,60e-8,8.e+3,.45e-12e8,2.3e,6e7.8,.e6合法非法常量-----直接常量任务三(2)实型常量表示方式符号构成示例表示方式十进制小数小数点.0~9、正负号和小数点1.23,.23,-1.必须有唯一的小数点指数字母e或E0~9、正负号、e或E1.23e3,1.23E3字母e或E前必有数,e或E后必为整数常量-----直接常量任务三下列四个选项中,均是合法的实型常量的是——A、+2e-1-3e4.55e3B、-.91.2e-0-7.e8C、123e+14567+2e-1D、8e-4-5e+2-e3B常量-----直接常量任务三(3)字符型常量字符型常量包括字符常量、字符串常量和转义字符。字符常量1C语言中字符常量必须用单撇号(单引号)括起来,且单撇号中只能是单个字符。如'A'、'a'、'8'、'&'是正确的,'ab'是错误的。字符型数据在C语言中是以ASCII码形式存储的,字符常量的值就是其对应的ASCII码的值(见附录C)。如字符'a'的ASCII码值为97,'A'的ASCII码值为65。因为ASCII码值为整型,所以C语言中字符型数据与整型数据可以互用,例如,'a'-32相当于97-32,等于65,对应的字符为'A';同理,'A'+32为字符'a'。这也是字母大小写转换的一种方法。ASCII码字符表中共定义了128个字符,可分为:(1)控制字符:ASCII码值为0~31、127共计33个字符。(2)可显示字符:ASCII码值为32~126共计95个字符。常量-----直接常量任务三(3)字符型常量【注意】(1)注意字符数字('0'~'9')和数字(0~9)的含义和在计算机中的存储方式是截然不同的。(2)字符常量可以像整数一样在程序中参与相关的运算。例如:'a'-32; '8'-8; 执行结果:97-32=65执行结果:56-8=48【提问1】大写字母A~Z与对应小写字母a~z的ASCII值之间的关系?【提问2】数字字符0~9对应的ASCII值是多少?常量-----直接常量任务三(3)字符型常量字符串常量2除单个字符外,C语言还可以处理多个字符组成的常量,称为字符串常量。字符串常量是一对双撇号(双引号)括起来的一个或多个字符,例如,"A","China","Howareyou!"等。C语言中存储字符串常量时,系统会在字符串的末尾自动加一个'\0'作为字符串的结束标志。例如,字符串常量"China"在内存中的存储形式如图所示。
提示字符'A'和字符串"A"是不同的。C语言中规定字符串必须有结束标志,结束标志为字符'\0'(其ASCII值为0)。因此,字符串"A"实际上包含两个字符:'A'与'\0',占2个字节,而字符'A'只占1个字节。常量-----直接常量任务三(3)字符型常量转义字符3C语言中还有一类特殊字符,称为转义字符,以“\”开头,后跟一个字符。转义字符通常用来表示一些控制代码和功能定义,例如“printf("你好,C语言!\n");”中,“\n”表示换行。字符型常量实例:'a'、'B'、'9'、'*'直接字符常量'\n''\017''\x01'回车换行☼☺'\'''\"''\\'单引号双引号反斜杠常量-----直接常量——字符型常量任务三转义字符3转义字符'\xhh'xhh:1~2位十六进制数的ASCII码。转义字符: ‘\141’转换为十进制数:
1*82+4*81+1*80=97对应的字符:
'a'结论: ‘\141’等价于'a'转义字符:
'\x61'转换为十进制数:
6*161+1*160=97对应的字符: 'a'结论: ‘\x61’等价于'a'转义字符'\ddd'ddd:1~3位八进制数的ASCII码。【注意】转义字符中只能使用小写字母。每个转义字符只能看作一个字符。实际上,任何一个字符都可以用转义字符\ddd或\xhh来表示,ddd和xhh分别为八进制和十六进制的ASCII码,例如,'\101'表示字母'A','\134'表示右斜杠,'\X0A'表示换行等。常量-----直接常量任务三转义字符3字符含义十进制ASCII码值\0(空字符)通常用作字符串结束标志0\a(警报字符)响铃报警7\b(退格字符)跳过\b前一个字符,移动到当前行的下一个位置8\t(水平制表字符)移动到当前行的下一个水平制表位置9\n(换行字符)换行10\v(垂直制表字符)移动到下一个垂直制表位置11\f(换页字符)移动到下一个逻辑页的初始位置12\r(回车字符)将\r后面的内容移动到当前行的初始位置13\"(双引号字符)产生双引号字符”34\'(单引号字符)产生单引号字符’39\?(问号字符)产生问号字符?63\\(反斜杠字符)产生反斜杠字符\92\ddd1~3位八进制ASCII码值所代表的字符根据计算确定\xhh1~2位十六进制ASCII码值所代表的字符根据计算确定【提问】回车符,换行符如何用字符常量表示?下列不合法的字符常量是——
A、’\n’B、’ab’C、’\101’D、’0’B常量-----字符常量任务三常量-----符号常量任务三(4)符号常量符号常量:也称为宏常量,用一个标识符来代表的常量。符号常量在使用前必须先用编译预处理命令“#define”进行定义。符号常量定义的一般格式为:
作用是:凡在源程序中发现该符号常量名时,都用其后指定的字符串来替换。符号常量名与字符串之间可以有多个空白字符。例如:作用是:把源程序中在该命令之后出现的所有符号常量PI均用3.14159替换。#define符号常量名
字符串#definePI3.14159常量-----符号常量任务三(4)符号常量23【注意】(1)为了与源程序中的变量名有所区别,变量标识符用小写字母表示,符号常量名一般使用大写英文字母表示。(2)符号常量定义的几种常见错误#definePI=3.14159#definePI3.14159;
(3)定义符号常量名时应考虑“见名知意”。使用符号常量的好处是:在需要改变一个符号常量值时能做到“一改全改”。符号常量名后面添加了“=”符号常量定义末尾添加了“;”常量-----符号常量-----示例任务三#include<stdio.h>#definePI3.1415926
/*使用符号常量表示圆周率*/intmain(){ doubler,l,s; /*定义半径r,周长l和面积s*/ printf(“请输入圆的半径:”); /*输出提示语*/ scanf("%lf",&r); /*输入半径r的值*/ l=2*PI*r; /*计算周长l*/ s=PI*r*r; /*计算面积s*/ printf(“圆的周长为%f,圆的面积为%f\n”,l,s);
/*输出周长l和面积s*/ return0; /*程序返回值0*/}例:已知圆的半径,求圆的周长和面积。常量-----符号常量任务三(4)符号常量在C语言中除了可用#define形式定义符号常量。格式:#define常量名常量值如:#defineMAX10#defineMIN0#defineDOLLARtoRMB6.82652也可以用const关键字来定义符号常量格式:const数据类型常量名=常量值如:constintMAX=10;constintMIN=0;constdoubleDOLLARtoRMB=6.82652;const类型修饰符任务四用const修饰的标识符为常量。const常量只能在定义时赋初值,不能在程序中改变其值。例如: constfloatpi=3.14159; pi=3.14;使用#define定义的符号常量或const常量的优点:代替源程序中多次出现的数字或字符串,可以提高程序的可读性和可维护性。#define定义的符号常量和const常量的区别在于:const常量有数据类型,而符号常量没有数据类型。编译器对const常量能够进行类型检查,而对符号常量则只进行字符串替换,不进行类型检查,字符串替换时极易产生意想不到的错误。常量-----符号常量-----示例任务三#include<stdio.h>constdoublePI=3.1415926; /*使用符号常量表示圆周率*/intmain(){ doubler,l,s; /*定义半径r,周长l和面积s*/ printf("请输入圆的半径:"); /*输出提示语*/ scanf("%lf",&r); /*输入半径r的值*/ l=2*PI*r; /*计算周长l*/ s=PI*r*r; /*计算面积s*/ printf("圆的周长为%f,圆的面积为%f\n",l,s); /*输出周长l和面积s*/ return0; /*程序返回值0*/}例:已知圆的半径,求圆的周长和面积。常量-----枚举常量任务三编程处理实际问题时,存在一些变量,它们的取值被限定在一个有限的范围内。例如:性别的变量只有“男”和“女”两种取值。月份的变量只有12个不同的取值。把这些量定义为字符型、整型或其它类型都不是很合理,为此C语言中引入了一种新的数据类型——枚举类型。枚举类型用关键字enum来定义这种类型。例如: enumsex{male,female};为什么引入枚举类型?如何定义枚举类型?大括号内的标识符均为整型常量,称为枚举常量。第1个标识符的值为0,第2个标识符的值为1,以后依次递增1。枚举类型sex2种可能的取值:male和female01技能实训在编程处理物理力学相关运算时,常将重力加速度G定义为符号常量,试用符号常量的方式编程计算重力。
注:重力的计算公式:G=mg,(式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 篮球馆运营安全与场地维护自查自纠整改复查报告
- 体育场馆管理员岗后强化考核试卷含答案
- 矿山设备运行协调员岗前工作质量考核试卷含答案
- 纸箱纸盒制作工岗前工作效率考核试卷含答案
- 预拌混凝土中控工岗前设备性能考核试卷含答案
- 钻石检验员岗前安全实践考核试卷含答案
- 电线电缆拉制工岗前安全风险考核试卷含答案
- 园艺生产技术员岗前流程考核试卷含答案
- 支护锚喷工岗前技能认知考核试卷含答案
- 纺丝原液制造工持续改进模拟考核试卷含答案
- 冲压设备的维护与保养
- 消防职业道德教育课件
- TBT2344-2012 43kgm~75kgm钢轨订货技术条件
- 数学史全套课件
- 2021市政工程资料表格填写范例样本
- 高空作业专项施工方案
- 成都建筑装饰装修工程设计收费标准
- GB/T 6117.1-1996立铣刀第1部分:直柄立铣刀的型式和尺寸
- GB/T 16301-2008船舶机舱辅机振动烈度的测量和评价
- GB/T 1185-2006光学零件表面疵病
- 商务星球版七年级下册地理知识点归纳
评论
0/150
提交评论