版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言编程,讲师李登辉的电第3章,数据类型,运算符和表达式,主要内容,3.1 C数据类型3.2常数和变量3.3整数数据3.4浮点数据运行3.5字符数据,主要内容,3。变量赋值初始值3.7各种数值数据之间的混合运算3.8算术运算符和表达式3.9赋值运算符和表达式3.10逗号运算符和逗号表达式3.1 C数据类型C语言提供以下数据类型。数据类型,构造类型,指针类型,空类型(无值类型)void,3.2常量和变量,3.2.1常量和符号常量。在程序运行过程中,其值不能改变的量称为常数,常数分为不同的类型:整数100,125,-100,0实数类型3.14,0.125,-100。2字
2、符串“a”、“ab”、“1232”,示例3.1使用符号常量#定义价格30 #包括void main () int num,totalnum=10total=num * PRICEprintf(总计=%dn,总计);符号常量:表示带有标识符的常量。符号常量的值不能在其范围内更改,也不能再赋值。运行结果:total=300,说明:程序使用#define命令行定义PRICE代表常量30,然后这个文件中出现的所有PRICE代表30,可以像常量一样操作,说明:用赋值语句再次给PRICE赋值是错误的,PRICE=40/*错误,您不能给符号常量赋值,3.2常量和变量,3.2.2变量代表内存中具有特定属性的存
3、储单元,用于存储数据,即变量的值,这些值可以在程序运行期间更改。事实上,变量名对应于一个地址,编译系统在编译和连接程序时为每个变量名分配一个相应的内存地址。从变量中取值实际上是通过变量名找到相应的内存地址,并从内存位置读取数据。3.2常量和变量、变量命名规则:语言规定标识符只能由字母、数字和下划线组成,第一个字符必须是字母或下划线。例如:sum,_total,month,Student_name,lotus_1_2_,basic,Li _ ling m.d. John, 123,3d64,ab、3.2常量和变量。注意:编译系统将大写字母和小写字母视为两个不同的字符。建议变量名的长度不要超过8个
4、字符。在选择变量名和其他标识符时,应注意“当你知道你的意思时,知道你知道什么”,即选择有意义的英语单词(或它们的缩写)作为标识符。要求强制定义所有使用的变量,即“先定义,后使用”。3.3整数数据,3.3.1整数常数的表达方法。在语言中,整数常数可以用以下三种形式表示:(1)十进制整数。例如:123,-456.4。(2)八进制整数。以0开头的数字是八进制数。例如,0123表示八进制数123,等于十进制数83,而-011表示八进制数-11,即十进制数-9。3.3整数数据,(3)十六进制整数。以0 x开头的数字是十六进制数。例如,0 x123代表十六进制数123,等于十进制数291。-0 x12等于
5、十进制数10。3.3.2整数变量(1)内存中整数数据的存储形式数据以二进制形式存储在内存中。例如: int i。/*被定义为整数变量*/I=10;/*我被赋予整数10 */,3.3整数数据。注意:十进制数10的二进制形式是1010。Turbo C 2.0和Turbo C 3.0为整数变量分配2字节的内存(不同的编译系统为整数数据分配不同的字节,而VC 6.0分配4字节)。数值表示为补码。补充:数字的存储形式是补码1。正数不变,2。负数被1否定,符号位置是1(34)10=(0 0100010)2(-34)10=(1011101)2 1(1 101110)2。4字节数据x补码4294967295x
6、 1 (- 34)10补码:(4294967295341)10(4294967262)10=(ffffffdf)16=(1111 1111 1111 1111 1101 1110)2字节数据x补码65535x 1 (- 34)10补码:(65535341) 10有符号基本整数有符号短整数有符号长整数无符号基本整数无符号短整数无符号长整数,(有符号)int(有符号)short (int)(有符号)long (int)无符号int short(int)无符号long (int),注意:括号表示内容是可选的。3.3整数数据和整数类型的相关数据:类型描述符长度范围基本整数2字节-3276832767短
7、2字节-215215-1长4字节-231231-1无符号2字节065535无符号短2字节065535无符号长整数无符号长4字节0 (232-1),3.3整数数据,例如,内存中整数13的实际存储:3.3整数数据,(3)整数的定义例如, int a,b(指定变量,整数)无符号短c,d;(指定变量,无符号短整数)鳄龙,f;(指定变量,长整数),示例3.2整数变量#的定义和使用包括空主()整数a、b、c、d;/*指定、是无符号的整数变量*;*指定为无符号整数变量* 12;-24岁;10;printf(,);说明:可以看出不同类型的整数数据可以进行算术运算,运行结果是:例3.3整数数据溢出#包括空主()
8、int a,b;a=32767b=a 1。printf(%d,%dn ,a,b);说明:数值表示为补码。整数变量只能包含-3276832767范围内的数字,不能表示大于32767或小于-32768的数字。在这种情况下,会发生“溢出”。运行结果:32767,-32768,3.3整数数据,3.3.3整数常量类型(1)一个整数,如果它的值在-32768到32767的范围内,它被认为是int类型,并且它可以被分配给int类型和long int类型变量。(2)如果一个整数的值超过上述范围,并且在-2147483637 2147483647的范围内,则该整数被认为是长整数。您可以将其分配给一个长整型变量。
9、3.3整数数据,(3)如果分配给短整型的C版本(如Turbo C)和整型数据在内存中占用相同的长度,则其表号范围与整型相同。因此,一个int常量也是一个短int常量,它可以赋给int或short int变量。3.3整数数据,(4)整数常数后面是字母u或u,被认为是无符号int类型,如12345u,以无符号int指定的方式存储在内存中(内存单元中的最高位不用作符号位,但用于存储数据)。3.3整数数据,(5)在整数常数后添加字母l或l被认为是长整型常数。示例:函数调用中使用了123l 432L 0L。如果函数的形式参数是long int类型,则实际参数需要是long int类型。e,3.4浮点数据
10、,3.4.1浮点常数的表示方法,两种表示形式,十进制指数,0.123 3e-3,注意在:字母e(或e)之前必须有一个数字,e之后的指数必须是整数,1e3,1.8e-3,-123e-6,-1.1e-。标准化指数形式:在字母E(或E)之前的小数部分,小数点左边应该有一个(也是唯一一个)非零数字。例如, 123.456可以表示为:123.456E0、12.3456E1、1.23456e3、0.123456E3、0.0123456E4等。3.4浮点数据,3.4.2浮点变量(1)浮点数据在内存中的存储形式浮点数据通常在内存中占用4个字节(32位)。与整数数据不同,浮点数据以指数形式存储。系统将浮点数据分
11、为小数部分和指数部分,这两部分分开存储。索引部分采用标准化的索引形式。3.4浮点数据,(2)浮点变量的分类浮点变量分为三种类型:单精度(浮点型)、双精度(双型)和长双型。示例3.4浮点数据#的舍入误差包括void main()浮点a,b;a=123456.789e5b=a20;printf(%fn ,b);描述:浮点变量只能保证的有效数字是7个有效数字,下面的数字没有意义,不能准确表示数字。应避免直接加减一个大数字和一个小数字,否则小数字将“丢失”。运行结果:123456.789e5,3.4浮点数据,3.4.3浮点常量的类型C编译系统将浮点常量视为双精度。例如,如果f=2.45678 * 45
12、23.65,系统首先将2.45678和4523.65作为双精度数,然后进行乘法运算,得到的乘法也是双精度数。最后,前7位分配给浮点变量f。如果在数字后加上字母f或f(例如1.65f,654.87F),编译系统将把它们当作单精度(32位)。3.5字符数据,3.5.1字符常量(1)包含在单引号中的字符是字符常量(2)它只能包含一个字符,例如,A,A,1 abc,“A”,3.5字符数据,以及一些以“”开头的特殊字符称为转义字符。n-换行、T-跳转、R-回车、反斜杠、ddd ddd,表示1-3个八进制数字,XHH表示1-2个十六进制数字,3.5个字符的数据,3.5.2个字符的变量,字符变量用于存储字符
13、常量。请注意,只能放一个字符。字符变量定义如下:字符c1,C2;在此函数中,您可以使用以下语句为C1和C2赋值:C2 b;一个字符变量占用内存中的一个字节。3.5字符数据、3.5.3字符数据在内存中的存储形式及其用法。字符常量存储在字符变量中。事实上,字符的字体不存储在存储器中,但是字符的相应的ASCII码存储在存储单元中。这使得字符数据和整数数据变得通用。请注意,一个字符的数据可以以字符或整数的形式输出。示例3.6将整数分配给字符变量。#包括void main() char c1,C2;c1=97c2=98printf(%c %cn ,c1,C2);printf(%d %dn ,c1,C2)
14、;描述:在第四行和第四行中,整数97和98分别赋给c1和c2,这相当于下面两个赋值语句:C1;C2;因为A和B的ASCII码是97和98,所以运行结果是:97和98,例3.7大写和小写字母#的转换包括void main () charc1,C2;C1=a;C2=b;C1=C1-32;C2=C2-32;printf(“c c,c1,C2”);描述:该程序的功能是将两个小写字母A和B转换成大写字母A和B。从码表中可以看出,每个小写字母比其对应大写字母的ASCII码大32。语言允许字符数据和整数之间的直接算术运算。运行结果:3.5字符数据,描述:一些系统(如Turbo C)将字符变量定义为带符号字符
15、。其存储单元中的最高位用作符号位,其值范围为-128127。如果字符变量中存储了ASCII码在0127之间的字符,因为字节中的最高位是0,当字符变量输出为%d时,输出为正整数。如果字符变量中存储了一个ASCII码在128255之间的字符,因为字节中的最高位是1,当以%d格式字符输出时,将获得一个负整数。3.5字符数据,3.5.4字符串常量字符串常量是由一对双撇号括起来的字符序列。合法的字符串常量:“你好。”、“中国”、“a”、“123.45美元”可以输出一个字符串,如printf(“您好。”;3.5字符数据,是字符常量,而 是字符串常量,它们是不同的。例如,假设它被指定为字符变量:char c,c=a;“a”;c CHINA结论:字符串常量不能赋给字符变量。规定在每个字符串常量的末尾加一个“字符串结束符号”,以便系统判断字符串是否结束。将字符指定为字符串的结束符号。例如,如果有一个字符串常量,它实际上是:在内存中,它占用字符而不是内存单元中的字符,最后一个字符是。但是当它被输出时,它并不输出。3.5字符数据,3.6变量赋值初始值,字符串常量(1)语言允许在定义变量的同时初始化变量,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年海绵城市规划设计与案例
- 2026年饭店春节年夜饭预订活动方案
- 2026年学生运动能力提升的营养与恢复支持策略
- 老人遗嘱和家庭协议书冲突
- 市政钢梁施工方案(3篇)
- 网围施工方案(3篇)
- 服装自主活动方案策划(3篇)
- 样板领路施工方案(3篇)
- 儿童牙科活动策划方案(3篇)
- 云南桥墩施工方案(3篇)
- 商业综合体弱电系统施工方案
- 2025年选拔乡镇副科级干部面试真题附答案
- 2026年河南经贸职业学院单招职业适应性考试题库及答案详解一套
- 鼾症科普宣传课件
- 有趣的汉字小故事
- 中国特发性颅内压增高诊断与治疗专家共识(新版)课件
- 2025华夏银行郑州分行社会招聘备考题库及完整答案详解1套
- 《玄女经》白话文译注与原文对照
- 伤口负压治疗新进展
- HIV感染者心理支持方案
- 配电箱设备防护维护技术方案
评论
0/150
提交评论