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

上传人:牧羊曲112 文档编号:6503727 上传时间:2023-11-07 格式:PPT 页数:39 大小:206KB
返回 下载 相关 举报
C语言21基本数据类型.ppt_第1页
第1页 / 共39页
C语言21基本数据类型.ppt_第2页
第2页 / 共39页
C语言21基本数据类型.ppt_第3页
第3页 / 共39页
C语言21基本数据类型.ppt_第4页
第4页 / 共39页
C语言21基本数据类型.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《C语言21基本数据类型.ppt》由会员分享,可在线阅读,更多相关《C语言21基本数据类型.ppt(39页珍藏版)》请在三一办公上搜索。

1、第2章 数据类型,第2次课,主要内容,一、变量及常量二、C语言基本数据类型三、程序中的运算四、数据的控制台输入和输出(2.4)实验要求,一、常量与变量,#include stdio.h#define PI 3.14159main()float r;float area;r=2;area=PI*r*r;printf(area=%fn,area);,if(sex=f|sex=F)if(age=55)printf(She is retire.n);else printf(She is working.n);,程序中处理的数据有不同的类型,数据表达的方式可以有常量,可以有变量,实数,字符及字符串,/*

2、示例ch3_001:变量*/#include stdio.hmain()int r;float area;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf(area=%fn,area);,一、常量与变量,r,area,2,1、变量程序中值可以改变的量,/*示例2:直接常量*/#include stdio.h#include conio.hmain()int r;float area;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf(area=%fn,area);getch();,一、常量与变量,直接

3、常量,二、常量:程序中固定不变的数据,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_002.c 整型常量*/#include stdio.h“void main()int a,b,c;a=11;b=011;c=0 x11;printf(a=%d,b=%d,c=%dn,a,b,c);,%d代表输出的格式是十进制整数形式,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_003.c 实型常量*/#include stdio.h“void main()float x,y,z;x=12.342;y=1.234e-5;z=-12E-2;printf(a=%f,b=%f

4、,c=%fn,x,y,z);,%f代表输出的格式是浮点形式,默认小数点尾数6位,一、常量与变量,常量的类型:整型:实型字符型字符串型,/*ch3_004.c 字符型常量*/#include stdio.h”void main()char c1,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 字符串常量*/#include

5、stdio.h”void main()printf(Turbo C);,字符串常量以双引号定界!,一、常量与变量,编译程序在每个字符串的后面自动加上0以示结束。字符串”Visual C+”共有11个字符,除本身10个(空格也算一个)外,还加上0。“x”与 x的不同点:“x”在存储的时候会占2个字节x只由1个字节,一、常量与变量,C语言中没有字符串变量类型字符型数据只能存储于字符型变量中,例如,char max=”How are you doing!”,这样的语句使用是错误的。如果要存储字符串数据的话,那么只能以字符数组或指针形式实现。,一、常量与变量,特殊的字符常量,转义字符:反斜线后面跟一个

6、字符或一个代码值表示,一、常量与变量,转义字符举例(ch3_006.c)#include stdio.h”void main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo C);,运行结果:(屏幕显示)A B CI say:”How are you?”C ProgramTurbo C,ch3_007.c#include stdio.h”void main()printf(“Yb=n”);,运行结果:屏幕显示:=打印机输出:,二、数据类型,/*ch3_008 数据类型举例.c*/#i

7、nclude stdio.h”void main()int num=0;float score=95;char grade;if(score=90)grade=A;printf(score=%f,grade=%cn,score,grade);,1.数据类型反映了数据内在的一些属性。2.数据类型决定:1).数据占内存字节数 2).数据取值范围 3).其上可进行的操作(运算),数据类型一览表,C语言提供了丰富的数据类型,其主要包括,二、数据类型,基本类型所占存储空间字节数及数据范围,二、数据类型,数据类型int、float、char和double可以带有各种修饰前缀。,修饰符可以与基本类型相组合,

8、结果如下表:,二、数据类型,注意:不同系统及不同版本的C,在各种类型长度上有差异!,二、数据类型,/*ch3_009数据溢出的错误*/#include stdio.hvoid main()int a;a=3400000000;printf(a=%dn,a);,超过了整数的范围上溢出,由于不同数据类型所占据的存储空间不同,在定义变量的类型时应充分考虑变量的取值范围。例如,整型(int)类型的变量取值范围为-232 232-1。如果在运算中,数值超出这个范围则称为溢出,大于232-1称为上溢,小于-232称为下溢,二、数据类型,请大家分析,以下程序输出结果正确么?,#include stdio.h

9、void main()short int a;a=32768;printf(a=%dn,a);,#include stdio.hvoid main()unsigned short int a;a=32768;printf(a=%dn,a);,/*ch3_009数据溢出的错误*/,三、程序中的运算,运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符运算中的类型转换,三、程序中的运算,运算符与表达式1.算术运算符双目(二元)运算符+-*/%单目(一元)运算符+-+-改变优先级(),注意:/的两个操作数如果为同种类型,结果也是同样的类型,1/2=等于?

10、%只能用于两个整数之间!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.关系运算

11、符4.逻辑运算符5.条件运算符6.逗号运算符运算中的类型转换,注意:赋值号左边只能是变量名,不能是常量、表达式。,三、程序中的运算,2.赋值运算符简单赋值运算=复合赋值运算符+=,-+,*=,/=,%=,&=,=,|=改变优先级(),三、程序中的运算,简单赋值运算=,例ch3_014:,a,b,5,c,5,5,三、程序中的运算,复合赋值运算符(10个)+=,-+,*=,/=,%=,&=,=,|=,/ch3_015复合赋值运算符示例#include stdio.hvoid main()int j=3,i=2;i+=3;j+=i;printf(j=%dn,j);,i+=3相当于i=i+3j+=i

12、相当于j=j+i;,思考:int j=3,i=2,k=1;k-=j-=i;运算之后 i,j,k,2 1 0,三、程序中的运算,例ch3_016:复合赋值运算示例,三、程序中的运算,运算符与表达式1.算术运算符2.赋值运算符3.关系运算符4.逻辑运算符5.条件运算符6.逗号运算符 运算过程中的类型转换,运算过程中的类型转换,在表达式中进行运算时,通常会将不同类型的数据混合使用,此时就会关系到类型转化的问题。一般转换规则:“短”长“长”短“则会截断,丢失精度即:由占存储空间少的数据类型向占存储空间多的数据类型转换。,运算过程中的类型转换,类型转换:第一类:自动转换(隐式转换),char c;c=a

13、-32;,隐式转换1:运算转换,,int a=5,b=3;float c;c=a%b;,隐式转换2:赋值转换,int a=5,b=3;printf(“%fn”,a-b);,隐式转换3:输出转换,运算过程中的类型转换,float a=5,b=3;int c;c=(int)a%(int)b;,强制类型转换,一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6,int a=5,b=3;float c;c=(float)a/b;,强制类型转换程序设计中有时需要将表达式的值转换为某一特定类型时,自动转换不一定能产生正确的结果。,运算过程中的类型转换,Ch3_017强制类型转换,运算过程中的类型转换,请大家分析下面程序中所包含的类型转换:#include stdio.hvoid main()float x=4.5,y=1.5;printf(%f,(x+y)/3-(int)x%(int)y);,综合练习ch3_018,求2x2+10 x+9=0的根。,课堂练习,已知华氏温度转换为摄氏温度的公式如下:其中C为摄氏温度,F为华氏温度,编写程序将任意的华氏温度转换为摄氏温度输出:main()int F,C;F=300;C=5/9(F-32);printf(“%dn”,c);请问程序中有几处错误?如何修改?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号