C语言21基本数据类型.ppt

上传人:tia****nde 文档编号:11495291 上传时间:2020-04-25 格式:PPT 页数:39 大小:233.50KB
返回 下载 相关 举报
C语言21基本数据类型.ppt_第1页
第1页 / 共39页
C语言21基本数据类型.ppt_第2页
第2页 / 共39页
C语言21基本数据类型.ppt_第3页
第3页 / 共39页
点击查看更多>>
资源描述
第2章数据类型,第2次课,主要内容,一、变量及常量二、C语言基本数据类型三、程序中的运算四、数据的控制台输入和输出(2.4)实验要求,一、常量与变量,#includestdio.h#definePI3.14159main()floatr;floatarea;r=2;area=PI*r*r;printf(area=%fn,area);,if(sex=f|sex=F)if(age=55)printf(Sheisretire.n);elseprintf(Sheisworking.n);,程序中处理的数据有不同的类型,数据表达的方式可以有常量,可以有变量,实数,字符及字符串,/*示例ch3_001:变量*/#includestdio.hmain()intr;floatarea;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf(area=%fn,area);,一、常量与变量,r,area,2,1、变量程序中值可以改变的量,/*示例2:直接常量*/#includestdio.h#includeconio.hmain()intr;floatarea;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf(area=%fn,area);getch();,一、常量与变量,直接常量,二、常量:程序中固定不变的数据,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_002.c整型常量*/#includestdio.h“voidmain()inta,b,c;a=11;b=011;c=0 x11;printf(a=%d,b=%d,c=%dn,a,b,c);,%d代表输出的格式是十进制整数形式,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_003.c实型常量*/#includestdio.h“voidmain()floatx,y,z;x=12.342;y=1.234e-5;z=-12E-2;printf(a=%f,b=%f,c=%fn,x,y,z);,%f代表输出的格式是浮点形式,默认小数点尾数6位,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_004.c字符型常量*/#includestdio.h”voidmain()charc1,c2;c1=a;c2=a-32;printf(c1=%c,c2=%cn,c1,c2);,%c代表输出的格式是字符形式,printf(c1=%d,c2=%dn,c1,c2);,字符常量以单引号定界!,表示以十进制整数形式输出对应字符的ASCII值,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_005.c字符串常量*/#includestdio.h”voidmain()printf(TurboC);,字符串常量以双引号定界!,一、常量与变量,编译程序在每个字符串的后面自动加上0以示结束。字符串”VisualC+”共有11个字符,除本身10个(空格也算一个)外,还加上0。“x”与x的不同点:“x”在存储的时候会占2个字节x只由1个字节,一、常量与变量,C语言中没有字符串变量类型字符型数据只能存储于字符型变量中,例如,charmax=”Howareyoudoing!”,这样的语句使用是错误的。如果要存储字符串数据的话,那么只能以字符数组或指针形式实现。,一、常量与变量,特殊的字符常量,转义字符:反斜线后面跟一个字符或一个代码值表示,一、常量与变量,转义字符举例(ch3_006.c)#includestdio.h”voidmain()printf(101x42Cn);printf(Isay:Howareyou?n);printf(CProgramn);printf(TurboC);,运行结果:(屏幕显示)ABCIsay:”Howareyou?”CProgramTurboC,ch3_007.c#includestdio.h”voidmain()printf(“Yb=n”);,运行结果:屏幕显示:=打印机输出:,二、数据类型,/*ch3_008数据类型举例.c*/#includestdio.h”voidmain()intnum=0;floatscore=95;chargrade;if(score=90)grade=A;printf(score=%f,grade=%cn,score,grade);,1.数据类型反映了数据内在的一些属性。2.数据类型决定:1).数据占内存字节数2).数据取值范围3).其上可进行的操作(运算),数据类型一览表,C语言提供了丰富的数据类型,其主要包括,二、数据类型,基本类型所占存储空间字节数及数据范围,二、数据类型,数据类型int、float、char和double可以带有各种修饰前缀。,修饰符可以与基本类型相组合,结果如下表:,二、数据类型,注意:不同系统及不同版本的C,在各种类型长度上有差异!,二、数据类型,/*ch3_009数据溢出的错误*/#includestdio.hvoidmain()inta;a=3400000000;printf(a=%dn,a);,超过了整数的范围上溢出,由于不同数据类型所占据的存储空间不同,在定义变量的类型时应充分考虑变量的取值范围。例如,整型(int)类型的变量取值范围为-232232-1。如果在运算中,数值超出这个范围则称为溢出,大于232-1称为上溢,小于-232称为下溢,二、数据类型,请大家分析,以下程序输出结果正确么?,#includestdio.hvoidmain()shortinta;a=32768;printf(a=%dn,a);,#includestdio.hvoidmain()unsignedshortinta;a=32768;printf(a=%dn,a);,/*ch3_009数据溢出的错误*/,三、程序中的运算,运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符运算中的类型转换,三、程序中的运算,运算符与表达式1.算术运算符双目(二元)运算符+-*/%单目(一元)运算符+-+-改变优先级(),注意:/的两个操作数如果为同种类型,结果也是同样的类型,1/2=等于?%只能用于两个整数之间!10%3结果为1,例ch3_010.c算术运算示例,三、程序中的运算,求余运算符“%”要求左操作数和右操作数都是整数,运算结果是两个操作数相除的余数。,求余运算符“%”,三、程序中的运算,单目运算符+-例ch3_011.c示例+-,注意:1.+和只能作用于变量,不能用于常量及表达式!2.+-若为后缀,则先计算,后自加(减);+-若为前缀,则先自加(减),后计算,练习:j=3,i=2;k=+j/i+;,/j=4,i=3,K=2,案例ch3_012,三、程序中的运算,示例ch3_013单目运算+-,三、程序中的运算,运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符运算中的类型转换,注意:赋值号左边只能是变量名,不能是常量、表达式。,三、程序中的运算,2.赋值运算符简单赋值运算=复合赋值运算符+=,-+,*=,/=,%=,i+=3;j+=i;printf(j=%dn,j);,i+=3相当于i=i+3j+=i相当于j=j+i;,思考:intj=3,i=2,k=1;k-=j-=i;运算之后i,j,k,210,三、程序中的运算,例ch3_016:复合赋值运算示例,三、程序中的运算,运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符运算过程中的类型转换,运算过程中的类型转换,在表达式中进行运算时,通常会将不同类型的数据混合使用,此时就会关系到类型转化的问题。一般转换规则:“短”长“长”短“则会截断,丢失精度即:由占存储空间少的数据类型向占存储空间多的数据类型转换。,运算过程中的类型转换,类型转换:第一类:自动转换(隐式转换),charc;c=a-32;,隐式转换1:运算转换,,inta=5,b=3;floatc;c=a%b;,隐式转换2:赋值转换,inta=5,b=3;printf(“%fn”,a-b);,隐式转换3:输出转换,运算过程中的类型转换,floata=5,b=3;intc;c=(int)a%(int)b;,强制类型转换,一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6,inta=5,b=3;floatc;c=(float)a/b;,强制类型转换程序设计中有时需要将表达式的值转换为某一特定类型时,自动转换不一定能产生正确的结果。,运算过程中的类型转换,Ch3_017强制类型转换,运算过程中的类型转换,请大家分析下面程序中所包含的类型转换:#includestdio.hvoidmain()floatx=4.5,y=1.5;printf(%f,(x+y)/3-(int)x%(int)y);,综合练习ch3_018,求2x2+10 x+9=0的根。,课堂练习,已知华氏温度转换为摄氏温度的公式如下:其中C为摄氏温度,F为华氏温度,编写程序将任意的华氏温度转换为摄氏温度输出:main()intF,C;F=300;C=5/9(F-32);printf(“%dn”,c);请问程序中有几处错误?如何修改?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!