C语言3-1 100316.ppt_第1页
C语言3-1 100316.ppt_第2页
C语言3-1 100316.ppt_第3页
C语言3-1 100316.ppt_第4页
C语言3-1 100316.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章数据类型、运算符和表达式、数据结构算法、编程方法、语言工具、完整编程、对象、灵魂和工具。数据是程序命令操作的对象。数据类型是指根据不同的表达形式划分的类别。可以根据这些数据类型构建不同的数据结构。3.1 C语言的数据类型、数据类型、构造类型和指针类型、空类型(无值类型)、空、基本类型、用户定义数据类型、非基本类型、枚举类型、枚举类型、3.2常量和变量、3.2.1常量和符号常量。在程序运行过程中,其值不能改变的量称为常量常量常量,常量分为不同的类型:整数100,125,-100,0实数类型3 -3.789字符a,b,2字符串a,ab,1232,例3.1使用符号常量#定义价格30 #包含无效

2、主()整数,总计;num=10total=num * PRICEprintf(总计=%dn,总计);符号常量:表示带有标识符的常量。符号常量的值不能在其范围内更改,也不能再赋值。运行结果:total=300,描述:程序使用#define命令行将PRICE定义为常量30,它可以像常量一样操作。优点:含义清楚,所有变化,描述:再次使用赋值语句给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、单词(或它们的缩写)作为标识符。IMyCar要求强制定义所有使用的变量,即“先定义,然后使用”。3.3整数数据,3.3.1整数常数的表达方法。在语言中,整数常数可以用以下三种形式表示:(1)十进制整数。例如123,-456 4。(2)八进制整数。以0开头的数字是八进制数。例如,0123表示八进制数123,等于十进制数83,而-011表示八进制数-11,即十进制数-9。(3)十六进制整数。以0 x开头的数字是十六进制数。例如,0 x123代表十六进制数123,等于十进制数291。-0 x12等于十进制数10。3.3整数数据,3.3.2整数变量(1)整数数据在内存中的存储形式数据以二进制形式存储在

5、内存中。例如: int i。/*被定义为整数变量*/I=10;/*将整数10 *分配给I。注意:十进制数10的二进制形式是1010,Turbo C 2.0和Turbo C 3.0为整数变量分配2字节的内存(不同的编译系统为整数数据分配不同的字节,而VC 6.0分配4字节)。数值表示为补码。3.3整数数据,数值用补码表示:1。正数的补码与原码相同;2.负数的补码:这个数的绝对值的二进制形式是一点一点地求反,然后加1。例如:求-10的补码:最左边的一个代表符号、整数变量的分类,以及数据类型的修饰符(短长有符号无符号),有六种,有符号基本int有符号短int有符号长(int无符号基本int有符号)短

6、(int无符号长(int注意:括号表示内容是可选的。3.3整数数据,整数变量的分类,以及整数类型的相关数据:类型描述符长度范围基本整数2字节-3276832767短2字节-215215-1长4字节-231231-1无符号短2字节065535无符号长2字节065535无符号长4字节0 (232-1),3.3整数变量的分类,21亿,例如:内存中整数13的实际存储空间:整数变量定义:规定程序中使用的所有变量必须在程序中定义,即“强制类型定义”。例如, int a,b(指定变量,整数)无符号短c,d;(指定变量,无符号短整数)鳄龙,f;(指定变量,长整数),3.3整数数据,示例3.2整数变量#的定义和

7、使用包括void main() int a,b,c,d;/*指定、为整数变量*无符号;*指定为无符号整数变量* 12;-24岁;10;printf(,);说明:可以看出不同类型的整数数据可以进行算术运算,运行结果是:例3.3整数数据溢出#包含空主()int a,b;a=32767b=a 1。printf(%d,%dn ,a,b);运行结果:32767,-32768,描述:数值用补码表示。整数变量只能包含-3276832767范围内的数字,不能表示大于32767或小于-32768的数字。在这种情况下,“溢出”发生-最小值开始计数。3.3整数数据,3.3.3整数常量类型(1)一个整数,如果它的值在

8、-32768到32767的范围内,它被认为是int类型,并且它可以被分配给int类型和short int类型变量。(2)如果一个整数的值超过上述范围,并且在-2147483637 2147483647的范围内,则该整数被认为是长整数。您可以将其分配给一个长整型变量。(3)如果分配给短整型的C版本(如Turbo C)和整型数据在内存中占据相同的长度,那么它的表号范围与整型的表号范围相同。因此,一个int常量也是一个短int常量,它可以赋给int或short int变量。3.3整数数据,3.3.3整数常量类型(4)整数常量后面是字母u或u,被认为是无符号int类型,如12345u,以无符号int指

9、定的方式存储在内存中(内存单元中的最高有效位不用作符号位,但用于存储数据)。如果写成-12345u,-12345被转换成它的补码53191,然后作为无符号数存储。(5)如果一个整数常数后跟一个字母L或L,它被认为是一个长整型常数。示例:函数调用中使用了123l 432L 0L。注意:如果函数的形式参数是长整型,那么实际参数需要是长整型。3.4.1浮点常数的表示方法,两种表示法,十进制指数,0.123 1.23e-1。请注意,在:的字母e(或e)之前必须有一个数字,并且e之后的指数必须是整数1e3,1.8e-3,-123e-6,-0.1e-3 E3,标准化指数形式:在字母E(或E)之前的小数部分

10、,小数点左边应该有一个(也是唯一一个)非零数字。例如, 123.456可以表示为:123.456E0、12.3456E1、1.23456e3、0.123456E3、0.0123456E4等。3.4浮点数据,3.4浮点数据,3.4.2浮点变量(1)浮点数据在内存中的存储形式。浮点数据通常占用内存中的4个字节(32位)。与整数数据不同,浮点数据以指数形式存储。系统将浮点数据分为小数部分和指数部分,这两部分分开存储。索引部分采用标准化的索引形式。3.4浮点数据,(2)浮点变量的分类浮点变量分为三种类型:单精度(浮点型)、双精度(双型)和长双型。示例3.4浮点数据#的舍入误差包括void main()

11、浮点a,b;a=123456.789e5b=a20;printf(%fn ,b);描述:浮点变量只能保证的有效数字是7个有效数字,下面的数字没有意义,不能准确表示数字。应该避免直接从一个小数字中加减一个大数字,否则这个小数字就会“丢失”。运行结果为:12345678848.00000,3.4浮点数据,3 . 4 . 3 C型浮点常数。编译系统将浮点常数视为双精度。例如,如果f=2.45678 * 4523.65,系统首先将2.45678和4523.65作为双精度数,然后进行乘法运算,得到的乘法也是双精度数。最后,前7位分配给浮点变量f。如果在数字后加上字母f或f(例如1.65f,654.87F

12、),编译系统将把它们当作单精度(32位)。1在下列常数中,不是整数常数的是。(A)012L(B)12(C)0 x12(D)12.0 2在下列常数中,那些不是实常数的是。(一)12。(B)12L (C)-12E-1 (D)0.12E1,练习,由D、B、1 b和1数据占用的内存字节数称为数据的内存字节数。c语言规定常量的类型有:整数、实数、类型和类型。3用十进制表示整数常数-017和-0 xf,它们分别是和。练习,数据长度,字符串,字符,-15 -15,家庭作业,3.3 (2) (3) (6) (7) 3.4,3.5字符数据,3.5.1字符常量(1)单引号中包含的字符是字符常量(2)它只能包含一个

13、字符,例如,一些以 开头的特殊字符称为转义字符,n-wrap ASCII码10 t水平跳过/水平制表9 b退格8 r回车13反斜杠92 ddd代表1到3个八进制数字。例如,101 A xhh表示1-2个十六进制数字。例如,x07环。注:0 00 000?示例3.5转义字符#的使用包括void main()printf(ab CT derf tgn);printf(htibbj kn);显示屏幕上的运行结果:f gde j k,跳到下一个制表符位置,回车,退格,r返回到开头,然后字符替换原来的字符,3.5字符数据,3.5.2字符变量目的:存储字符常量,注意只有一个字符。定义:char c1,C2

14、;任务:c1a。C2 b;一个字符变量占用内存中的一个字节。3.5.3如何在内存中存储字符数据以及如何使用它如何在字符变量中存储字符常量?注意:字符数据和整数数据可以通用。它可以以字符或整数的形式输出。示例3.6将整数分配给字符变量。#包括void main() char c1,C2;c1=97c2=98printf(%c %cn ,c1,C2);printf(%d %dn ,c1,C2);描述:在第四行和第四行中,整数97和98分别赋给c1和c2,这相当于下面两个赋值语句:C1;C2;因为A和B的ASCII码是97和98,所以运行结果是97和98,这表明整数数据和字符数据可以相互分配。示例3

15、.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 (65,66)。运行结果:描述:可以在整数数据和字符数据之间执行操作。3.5.4字符串常量字符串常量是由一对双撇号括起来的字符序列。合法字符串常量:“您好。”、“中国”、“A”、“123.45美元”可以输出一个字符串,如printf(“您好。”;3.5字符数据,是字符常量,“”是字符串常量,它们是不同的。例如,假设它被指定为字符变量:char c,c=a;“a”;c CHINA结论:字符串常量不能赋给字符变量。规定在每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论