C语言21基本数据类型.ppt
《C语言21基本数据类型.ppt》由会员分享,可在线阅读,更多相关《C语言21基本数据类型.ppt(39页珍藏版)》请在装配图网上搜索。
第2章数据类型,第2次课,主要内容,一、变量及常量二、C语言基本数据类型三、程序中的运算四、数据的控制台输入和输出(2.4)实验要求,一、常量与变量,#include"stdio.h"#definePI3.14159main(){floatr;floatarea;r=2;area=PI*r*r;printf("area=%f\n",area);},……if(sex==f‘||sex==F‘)if(age>=55)printf("Sheisretire.\n");elseprintf("Sheisworking.\n");……,程序中处理的数据有不同的类型,数据表达的方式可以有常量,可以有变量,实数,字符及字符串,/*示例ch3_001:变量*/#include"stdio.h"main(){intr;floatarea;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf("area=%f\n",area);},一、常量与变量,,,,,r,area,2,1、变量程序中值可以改变的量,/*示例2:直接常量*/#include"stdio.h"#include"conio.h"main(){intr;floatarea;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf("area=%f\n",area);getch();},一、常量与变量,直接常量,二、常量:程序中固定不变的数据,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_002.c整型常量*/#include"stdio.h“voidmain(){inta,b,c;a=11;b=011;c=0 x11;printf("a=%d,b=%d,c=%d\n",a,b,c);},%d代表输出的格式是十进制整数形式,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_003.c实型常量*/#include"stdio.h“voidmain(){floatx,y,z;x=12.342;y=1.234e-5;z=-12E-2;printf("a=%f,b=%f,c=%f\n",x,y,z);},%f代表输出的格式是浮点形式,默认小数点尾数6位,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_004.c字符型常量*/#include"stdio.h”voidmain(){charc1,c2;c1=a;c2=a-32;printf("c1=%c,c2=%c\n",c1,c2);},%c代表输出的格式是字符形式,printf("c1=%d,c2=%d\n",c1,c2);,字符常量以单引号定界!,表示以十进制整数形式输出对应字符的ASCII值,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_005.c字符串常量*/#include"stdio.h”voidmain(){printf("TurboC");},字符串常量以双引号定界!,,一、常量与变量,编译程序在每个字符串的后面自动加上’\0’以示结束。字符串”VisualC++”共有11个字符,除本身10个(空格也算一个)外,还加上’\0’。“x”与’x’的不同点:“x”在存储的时候会占2个字节‘x’只由1个字节,一、常量与变量,C语言中没有字符串变量类型字符型数据只能存储于字符型变量中,例如,charmax=”Howareyoudoing!”,这样的语句使用是错误的。如果要存储字符串数据的话,那么只能以字符数组或指针形式实现。,,,一、常量与变量,特殊的字符常量,转义字符:反斜线后面跟一个字符或一个代码值表示,一、常量与变量,转义字符举例(ch3_006.c)#include"stdio.h”voidmain(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\C\");},运行结果:(屏幕显示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’,ch3_007.c#include"stdio.h”voidmain(){printf(“Y\b=\n”);},运行结果:屏幕显示:=打印机输出:,,二、数据类型,/*ch3_008数据类型举例.c*/#include"stdio.h”voidmain(){intnum=0;floatscore=95;chargrade;if(score>=90)grade=A;printf("score=%f,grade=%c\n",score,grade);},1.数据类型反映了数据内在的一些属性。2.数据类型决定:1).数据占内存字节数2).数据取值范围3).其上可进行的操作(运算),数据类型一览表,C语言提供了丰富的数据类型,其主要包括,二、数据类型,,,基本类型所占存储空间字节数及数据范围,二、数据类型,,,数据类型int、float、char和double可以带有各种修饰前缀。,修饰符可以与基本类型相组合,结果如下表:,二、数据类型,注意:不同系统及不同版本的C,在各种类型长度上有差异!,二、数据类型,/*ch3_009数据溢出的错误*/#include"stdio.h"voidmain(){inta;a=3400000000;printf("a=%d\n",a);},,超过了整数的范围上溢出,由于不同数据类型所占据的存储空间不同,在定义变量的类型时应充分考虑变量的取值范围。例如,整型(int)类型的变量取值范围为-232~232-1。如果在运算中,数值超出这个范围则称为溢出,大于232-1称为上溢,小于-232称为下溢,二、数据类型,请大家分析,以下程序输出结果正确么?,#include"stdio.h"voidmain(){shortinta;a=32768;printf("a=%d\n",a);},#include"stdio.h"voidmain(){unsignedshortinta;a=32768;printf("a=%d\n",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=%d\n",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(“%f\n”,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强制类型转换,运算过程中的类型转换,请大家分析下面程序中所包含的类型转换:#include"stdio.h"voidmain(){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(“%d\n”,c);}请问程序中有几处错误?如何修改?,,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 21 基本 数据类型

链接地址:https://www.zhuangpeitu.com/p-11495291.html