第二章的课件3.ppt_第1页
第二章的课件3.ppt_第2页
第二章的课件3.ppt_第3页
第二章的课件3.ppt_第4页
第二章的课件3.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、本章的知识点:初步知识:数据类型常量和变量与不同类型数据之间的转换运算符和表达式;第二章:数据描述、计算机中数字的表示和二进制转换数字、基数和权重:数字的符号基数:数字的数字权重:每一位所拥有的数值数字系统;2.0初步知识,二进制、八进制和十六进制到十进制的转换:根据重量相加,各种基数之间的转换。二进制、八进制和十六进制转换为十进制,十进制转换为二进制、八进制和十六进制。方法:连续除基数,记录余数从低到高,直到商为0,并转换各种二进制(整数)。方法:按权重相加,二进制转换为八进制:从右到左,每3位设置(小于3)示例(1101001) 2=(001,101,001) 2=(151) 8,示例(2

2、46) 8=(010,100,110) 2=(10100110) 2,000 001 1 010 2 011 3 110每4位分组(小于4位0101,0111,1101) 2=(357d) 16,1110)2=(100101110011110)2,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101D 11110 E 内存由字节组成。每个字节都有一个地址。一个字节通常由8个二进制位组成。每个二进制值是0或1,字节和位。最高位是符号位,其余位是值本身的绝对值。

3、负数:符号位为1。其余位取原始码的反码:正数:与原始码相同的负数,反码和补码:最高位为1,其余位取原始码的反码,然后将1,9-5=4 9 7=16=(14)12加到整数上。数字表示法是原码、反码和补码,负补码转换成十进制数:最高位不动,但十进制数不变。不同类型的数据代表不同的数据表示形式、合法值范围、占用的内存空间、可参与的操作类型、枚举类型、2.1数据类型、标识符定义:用于标识变量、常数、函数等的字符序列。它只能由字母、数字和下划线组成。第一个字母必须是字母或下划线,区分大小写,不能用关键词来命名:看到名字很直观,看到名字很容易记忆和阅读。最好使用英语单词或它们的组合。汉语拼音不应该混淆,如

4、L和I,o和0。例:判断下列标识符号的合法性总和m.d .约翰日日期3天学生_姓名# 33 lotus _ 1 _ 2 _ 3 charab _以上$123、2.2常量和变量,一般用大写字母代替c语句,都是宏定义预处理命令,不占用存储单元。例如,#定义price 30,定义:当程序运行时其值不能改变的金额(即常数)分类:符号常数:用标识符表示常数定义格式:#定义符号常数,示例符号常数示例(CH2 _ 1.c) #定义PRICE 30主()整数,总计;num=10total=num * PRICEprintf(总计=%d,总计);运行结果:total=300,常量,描述:必须先定义符号常量,然后

5、才能表示数值。符号常量的值不能在其范围内更改,也不能再赋值。符号常量名称通常用大写字母表示。2.2.2变量,1。定义:在程序执行过程中可以改变的数值。2.命名规则:变量名由标识符表示,标识符只能由字母、数字和下划线组成,第一个字符必须是字母或下划线。例如,在下列标识符中,非法的变量名是:m.d.john,12% gf,1add,_ ce36,age,3,a。使用变量的基本原则必须首先定义,然后所有变量必须在第一个可执行语句之前定义。声明的顺序并不重要。一个声明语句可以声明几个相同类型的变量,它们是i=1的初始化变量;int sum=0;浮动EPS=1.0e-5;在C语言中,变量必须被强制定义,

6、其目的如下:1 .任何未事先定义的变量都不会被用作变量名。2.每个变量都被指定为一个确定的类型,相应的存储单元可以在编译时分配给它。3.将每个变量指定为一个确定的类型,并在编译时检查变量的操作是否合法。例如,如果变量A和B是整数类型,可以执行余数运算:a%b,并且不允许两个实数类型的变量的余数。*选择变量名时,您应该知道名称的含义。例如,名称st_age xm nl类sum *大小写字母是两个不同的字符,而C变量名则用小写字母表示。*建议变量名的长度不要超过8个字符。请注意,您应该注意使用变量。不要想当然地把变量占用的内存空间的字节数作为获取变量长度或数据类型大小的依据,包括void main

7、 () printf(数据类型字节数n);printf(-n);printf(char %dn,sizeof(char);printf(int %dn,sizeof(int);printf(short int %dn,sizeof(short);printf(long int %dn,sizeof(long);printf(float %dn,sizeof(float);printf(double %dn,sizeof(double);2.3整数数据,2.3.1整数常量的表示形式十进制整数:用数字(0-9)和符号表示,例如:123,-456和0等八进制整数;以0开头的八进制数,例如:o123表

8、示(123)8=(83)10(123)8=182 2 81 3 81例如:ox123是(123) 16=(291) 10 -ox12是(-12) 16=(-18) 10,2.3.2整数变量的整数数据在内存中的存储形式(补码表示法:易于加减)int I;i=1010=(1010) 2、2、10、2、5、2、2、1、0、余数、0、1、0、0、1、第一个、000000001010、11 11 11 10 101、11 11 10 10、10原始代码,取逆,然后加1得到整数变量的分类,基本类型:短键入由长整型或长整型(123l,123L)无符号整型无符号短整型无符号长整型(无符号长整型),(-3276

9、832767)表示的长整型,无符号整型变量中可以存储的正数范围是一般整型变量中的两倍。int a;/*变量a的数值范围:-3276832768 */无符号整数b;/*变量B的数值范围是065535 */,整数变量的短长度是16位(2字节)。长字符是32位(4字节)长。Int类型取决于编译器(它可以是2字节或4字节)。c要求长类型的数据长度不应短于int类型,短类型不应长于int类型。(short=int=long)长型可以得到大范围的数据,但同时会降低运算速度,所以除非迫不得已,否则不要随便使用长型。整数数据溢出:main() int a,b;a=32767b=a 1。printf(“%d,%

10、 d”,a,b);运行结果:32767,-32768改进:将变量A和B改为长型,并以%ld格式输出。一条小蛇能吞下一头大象吗?整数数据的数据范围见P22表2-1。注:1 .如果一个整数常数后面跟一个字母,它被认为是一个长常数。2.在整数常数后加上字母u或u被认为是无符号整数常数。、2.4浮点数据、2.4.1浮点常数可以用以下两种形式表示:十进制数字形式:它由数字、小数点和符号组成。(注意:必须有一个小数点)例如:23.678 .678 23。指数形式:它由数字、小数点、字母e或e和符号组成。(注:E或E前必须有一个数字,E后的指数必须是整数)例如:3.5E-5 2e3错误:E2 3.6E3.5

11、.E6E,2.4.2浮点变量浮点变量可分为:单精度(浮点型)如:浮点x,y;双式(Double type)如:双a、双b、双c;描述:1 .浮动变量占用4字节内存;双变量占用8字节内存。2.单精度实数提供7个有效数字;双精度实数提供1516个有效数字。浮点常量的类型,默认的double类型在浮点常量后添加字母f或f,并将其视为浮点类型。当浮点常数被分配给浮点型或双精度型变量时,浮点常数中相应的有效数字将根据变量的类型被截取。void main()float a;双b;a=123456.789e5b=123456.789printf(a=%fn,a);printf(b=%fn,b);输出结果:

12、a=12345678848.00000 b=123456.789000,2.5字符数据,字符常数1。字符常量:用单引号括起来的字符。例如:一个澳元!注意:A和A是不同的字符常量。2.转义字符:以1开头的字符序列,例如:n换行t水平跳转(水平制表)b退格v垂直跳转(垂直制表)r输入f进纸报警0空字符,说明:1,“ddd”和“xh”分别表示一个字符是由八进制数还是十六进制数表示。示例: 101代表ASCII码(十进制)为65的字符。答:系统中的所有字符都有ASCII值(见第306页)。2.因为,和”在C语言中有特殊的含义,如果你想在字符串中使用它们,你必须在它们前面加一个反斜杠。例如,“反斜杠单引

13、号”双引号3。除了前面介绍的特殊转义字符,字母本身代表字母。c代表字母c. 2.5.2字符变量名1、变量名2和变量名n;例如,char c1,C2;字符变量值只能是一个字符;占用内存中的一个字节;字符变量存储字符的ASCII码;可以在字符和整型数据之间进行算术运算;由于字符变量是以字符的ASCII码的形式存储在内存中的,这是一个无符号的整数,字符数据和整数数据可以在一定范围内相互使用。它们之间唯一的区别是字符常量占用一个字节,而整数常量占用两个字节。例如a=D;/* a=68;*/x=a5;/* x=65 5;*/s=!g/* s=33 71;*/,示例2.6将整数转换为字符变量,p29,示例

14、2.7将小写字母转换为大写字母。main() char c1,C2;C1=x;C2=y;c1=c132c2=c232printf(n%c,%c,c1,C2);这个程序的输出是:X,Y这个例子是一个把小写字母转换成大写字母的程序。在观察了ASCII字符表之后,我们会发现对应于该情况的字母之间的ASCII码差正好是32。有了这个特性,我们可以编写一个非常简单的程序来转换大写和小写字母。字符常量不同于字符串常量。字符串常量的定义:用双引号()括起来的字符序列的存储:0作为字符串的结束符号自动添加到每个字符串的末尾,例如, char chch= A,没有字符串变量,它存储在字符数组中。乙和乙一样吗?b和b一样吗?B是98,B是66,B是一个字符常数,“B是一个字符串常数,2.6各种数字数据之间的混合运算,1。操作过程:首先,自动转换为同类数据,然后执行操作。第二,转换规则:低字长类型转换为高字长类型。形式:隐式转换(由系统自动执行)显式转换(强制类型

温馨提示

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

评论

0/150

提交评论