法学概论课件_第1页
法学概论课件_第2页
法学概论课件_第3页
法学概论课件_第4页
法学概论课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计,主讲:王燕贵州警官职业学院计算机科学系,作业,C语言的数据类型数值数据的表示文字数据的表示变量的定义和赋值C语言类型修饰符表达式中数据类型转换,作业,主页,2.1C语言的数据类型,所有的数据,在进行处理时都需要先存放进计算机的内存中,所以了解不同的数据在计算机中存储的形式是很重要的,2.2数值数据的表示,C语言中数值数据有两种:整数和浮点小数整数表示形式十进制整数:123,-567八进制整数:011,072十六进制整数:0 x12,-0 xf1整数的存储空间为2个字节,即16个二进制位取值范围为-215215-1,即-3276832767。如果超过这个范围,使用占4个字节的长整

2、型数,在整数后面加上一个字母L(大小写均可),此时取值范围可以扩大到-231231-1,即-21474836482147483647。,2.2数值数据的表示,C语言中数值数据有两种:整数和浮点小数浮点小数C语言中的浮点小数描述的是实数采用十进制小数形式或者指数形式表示。十进制小数形式:包含整数部分、小数点和小数部分。例如1.45、-34.0、.56、0.0,注意:小数点不能省略。指数形式:包含尾数部分、字母E或e和小数部分。例如2.78E12、1.34e-4分别表示2.78*1012、1.34*10-4。注意:尾数部分不能省、指数部分必须是整数浮点小数一般为单精度浮点类型,占用4个字节,有效位

3、数67位,如果需要精度特别高,可以采用双精度浮点类型,有效位数可以达到1617位。,2.3文字数据的表示,文字数据分为两种类型:单个字符和字符串。单个字符单个字符的表现形式是由单引号括起来的一个字符aA+5?+其中单引号、双引号和反斜杠的表现形式比较特殊,分别是、”、在C语言中转义字符被认为是具有特殊意义的单个字符,例如n,代表一个换行符。单个字符在内存中只占用1个字节,其存储的内容为该字符在ASCII码表(见附录)中对应的数值。,2.3文字数据的表示,文字数据分为两种类型:单个字符和字符串。字符串字符串是由双引号括起来的字符序列”thisisaprogram.”、”Hello!”、”Ilik

4、eC”字符串中的字符按照从左到右的顺序,依次存储在一段连续的空间里,其中每一个字符占用一个字节,其内容为该字符在ASCII码表中对应的数值。注意:C语言的字符串在实际存储时,将自动在字符串尾部加了一个结束标志0(其ASCII码值为0)。试分析:a与”a”相同吗?为什么?,2.4变量的定义和赋值,C语言中的数据有两种基本形式:常量和变量。常量的值是固定的,是具体的值.变量的值可以改变变量的定义类型标识符变量名;要符合C语言规定的标识符的命名规则,即只能由字母、数字和下划线组成,首字母必须为字母或下划线。此外C语言中规定的有特殊用途的关键字,例如int、float、if等,不能作为变量名称。ab2

5、stu1x1_1sum_name1是正确2acstu-1len#1elseintfloat是错误的注意:C语言中大小写是敏感的,即int和Int是不同的,Int不是关键字可以作变量名。但是习惯上,C中的变量一般用小写字母表示。,2.4变量的定义和赋值,变量的定义变量的数据类型决定了它的存储类型,即该变量占用的存储空间。所以定义变量类型,就是为了给该变量分配存储空间,以便存放数据。,2.4变量的定义和赋值,变量的赋值在定义一个变量时,系统自动根据变量类型分配了存储空间。但是当变量的值即存储在该空间的值并未给出时,其值可能是随机放入其中的垃圾值,所以变量需要预置一个值,即赋值。赋值操作通过赋值符号

6、“=”把右边的值赋给左边的变量:变量名=表达式例如x=3;a=a+1;f=3*4+2;注意事项:数学中的“=”符号不同于C语言中的赋值符号“=”,在C语言中a=a+1是成立的,它表示“变量a加上1的值赋给变量a”。在C语言中判断两个数是否相等时使用符号“=”,2.4变量的定义和赋值,变量的赋值如果赋值时两侧类型不一致时,系统将会作如下处理:将实数赋给一个整型变量时,如将3.9赋给int型变量a,即a=3.9,系统自动舍弃小数部分,此时a=3。将整数赋给一个浮点型变量时,如将12赋给float型变量f,即f=12,系统将保持数值不变并且以浮点小数形式存储到变量中,此时f=12.000000。当字

7、符型数据赋给一个整型变量时,如将A赋给int型变量x,即x=A,不同的系统实现的情况不同,一般当该字符的ASCII值小于127时,系统将整型变量的高字节置0、低字节存放该字符的ASCII值,所以此时x=65。程序L2_1.C:赋值时类型自动的转换示例。,2.4变量的定义和赋值,程序L2_1.C:赋值时类型自动的转换示例。#includemain()inta,x;floatf;a=3.9;f=12;x=A;printf(“a=%d,f=%f,x=%dn”,a,f,x);,2.4变量的定义和赋值,变量的赋值字符型变量的值可以是字符型数据、介于-128127的整数或者转义字符。计算机存储的是二进制数

8、,所以将一个字符数据存放到一个字符变量中,实际上存储的是该字符对应的ASCII码的二进制形式。如大写字符A的ASCII码代码用二进制表示是01000001(十进制的表示为65,八进制为101,十六进制为41),而字符型常量A、十进制整数65、转义字符101或x41的二进制码相同,均为01000001,因此这四种形式的数据赋给一个字符型变量的结果相同,如例2.2所示。思考:L2_2.C中c1、c2、c3、c4分别加上32输出的结果是什么?为什么?加上256的结果是什么?,2.4变量的定义和赋值,例2.2#includemain()charc1,c2,c3,c4;c1=A;c2=65;c3=101

9、;c4=x41;printf(“c1=%c,c2=%c,c3=%c,c4=%cn”,c1,c2,c3,c4);printf(“c1=%d,c2=%d,c3=%d,c4=%dn”,c1,c2,c3,c4);,2.5C语言类型修饰符,C语言共有4种类型修饰符:long长型short短型signed有符号型unsigned无符号型longint(简写为long)型的存储长度为4个字节,范围-231231-1,用于存储整数超过int型取值范围的情况。longdouble型存储长度16个字节,约24位有效数字,取值范围超过double型。有符号型signed和无符号型unsigned适用于char型、i

10、nt型和long型三种类型,区别在于它们的最高位是否作为符号位。unsignedchar型取值范围0255(即028-1),unsignedint(简写为unsigned)型取值范围065535(即0216-1),unsignedlong型取值范围0232-1。例2.3思考:如何得到表达式1*2*3*4*5*6*7*8*9的正确结果?,2.5C语言类型修饰符,例2.3#includemain()chara1,b1;unsignedchara2,b2;intx1,y1;longx2,y2;a1=127;b1=129;a2=127;b2=129;x1=32767;y1=32769;x2=32767

11、L;y2=32769L;printf(“a1=%d,a2=%u,b1=%d,b2=%un”,a1,a2,b1,b2);printf(“x1=%d,x2=%ld,y1=%d,y2=%ldn”,x1,x2,y1,y2,2.6表达式中数据类型转换,自动类型转换C语言规定,不同类型的数据在参加运算前会自动转换成相同类型,再进行运算。转换的规则是:如果表达式中有float型或double型,自动转换成double型再运算,结果为double型。如果表达式中无float型或double型,但是有long型,数据自动转换成long型再运算,结果为long型。其余情况为int型。,2.6表达式中数据类型转换,

12、例2.4#includemain()floatx,y;longm,n;x=3/2+8/3;y=3.0/2+8/3.0;m=1*2*3*4*5*6*7*8*9;n=1L*2*3*4*5*6*7*8*9;printf(“x=%f,y=%f,m=%ld,n=%ldn”,x,y,m,n);,2.6表达式中数据类型转换,强制类型转换在C语言中也可以使用强制类型转换符,强迫表达式的值转换为某一特定类型。强制类型转换形式为(类型)表达式强制类型转换最主要的的用途满足一些运算对类型的特殊要求,例如求余运算符“%”,要求运算符两侧的数据为整型,(int)2.5%3防止丢失整数除法中的小数部分,例如intx=3,y=2;floatf;f=(float)x/y;此时f的值为1.500000。如果不用强制类型转换,即f=x/y,结果为1.000000。,作业与上机练习,1编程输出字符0、9、A、Z、a、z的ACSII码的十进制、八进制和十六进制的表示形式。2参考例L2_6.C编

温馨提示

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

最新文档

评论

0/150

提交评论