C语言21基本数据类型

上传人:宝路 文档编号:48109450 上传时间:2018-07-10 格式:PPT 页数:39 大小:234.74KB
返回 下载 相关 举报
C语言21基本数据类型_第1页
第1页 / 共39页
C语言21基本数据类型_第2页
第2页 / 共39页
C语言21基本数据类型_第3页
第3页 / 共39页
C语言21基本数据类型_第4页
第4页 / 共39页
C语言21基本数据类型_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《C语言21基本数据类型》由会员分享,可在线阅读,更多相关《C语言21基本数据类型(39页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据类型 第2次课主要内容n一、变量及常量n二、C语言基本数据类型n三、程序中的运算n四、数据的控制台输入和输出(2.4)n实验要求一、常量与变量一、常量与变量#include “stdio.h“ #define PI 3.14159 main() 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.h“ main() int r;float area;r = 2;area=3.14159 * r* r;r = 4;area=3.14159 * r* r;printf(“area=%fn“,area) ; 一、常量与变量一、常量与变量rarea21、变量 程序中值可以改变的量注意: 中间没有“=” 结尾没有“;”/* 示例2: 直接常量直接常量 */ #include “stdio.h“ #include “con

3、io.h“ main() int r;float area;r = 2;area=3.14159 * r* r;r = 4;area=3.14159 * r* r;printf(“area=%fn“,area) ;getch(); 一、常量与变量一、常量与变量直接常量/* 示例3: 符号常量符号常量 */ #include “stdio.h“ #define PI 3.14159 main() int r;float area;r = 2;area=PI * r* r;r = 4;area=PI* r* r;printf(“area=%fn“,area);getch(); 符号常量二、常量:程

4、序中固定不变的数据一、常量与变量一、常量与变量n常量的类型:n整型:n实型n字符型n字符串型/* ch3_002.c 整型常量 */ #include “stdio.h“ void main() int a,b,c;a=11;b=011;c=0x11; printf(“a=%d,b=%d,c=%dn“,a,b,c) ; 整型十进制常量整型八进制常量整型十六进制常量%d代表输出的格式 是十进制整数形式一、常量与变量一、常量与变量n常量的类型:n整型:n实型n字符型n字符串型指数形式/* ch3_003.c 实型常量 */ #include “stdio.h“ void main() float

5、x,y,z;x=12.342;y= 1.234e-5;z= -12E-2;printf(“a=%f,b=%f,c=%fn“,x,y,z); %f代表输出的格式是浮点 形式,默认小数点尾数6位一、常量与变量一、常量与变量n常量的类型:n整型:n实型n字符型n字符串型/* 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);字符常量以单引号定界!表示以

6、十进制整数形式输出对应 字符的ASCII值一、常量与变量一、常量与变量n常量的类型:n整型:n实型n字符型n字符串型/* ch3_005.c 字符串常量 */ #include “stdio.h” void main() printf( “Turbo C“ );字符串常量以双引号双引号定界!一、常量与变量一、常量与变量n编译程序在每个字符串的后面自动加上0 以示结束。n字符串”Visual C+”共有11个字符,除本身 10个(空格也算一个)外,还加上0。n“x” 与 x的不同点:n“x”在存储的时候会占2个字节nx只由1个字节一、常量与变量一、常量与变量nC语言中没有字符串变量类型n字符型数

7、据只能存储于字符型变量中, 例如,char max=”How are you doing!”,这样的语句使用是错误的。n如果要存储字符串数据的话,那么只能 以字符数组或指针形式实现。 一、常量与变量一、常量与变量n特殊的字符常量=90)grade=A;printf(“score=%f,grade=%cn“,score,grade); 1.数据类型反映了数据内在的一些属性。 2. 数据类型决定:1). 数据占内存字节数2). 数据取值范围3). 其上可进行的操作(运算)数据类型一览表 C语言提供了丰富的数据类型,其主要包括二、数据类型 数据类型字节数数据范围整型(int)4-2147483648

8、2147483647 实型(float)43.4E-383.4E+38 字符(char)10255 双精度型(double)81.7E-3081.7E+308基本类型所占存储空间字节数及数据范围 二、数据类型 数据类型int、float、char和double可以 带有各种修饰前缀。signed表示数据是有符号的unsigned表示数据是无符号的long表示数据是“长长”的short表示数据是“短”的 修饰符可以与基本类型相组合,结果如下 表:二、数据类型 类类型字节节数取值值范围围说说明int4-21474836482147483647signed short int2-3276832767

9、有符号短整型数,简简写为为short或int,字长长 为为2个字节节共16位的二进进制数signed long int4-21474836482147483647有符号长长整型数,简简写为为long,字长为长为4个 字节节共32位的二进进制数unsigned short int2065535无符号短整型数,简简写为为unsigned int,字 长为长为2个字节节共16位的二进进制数unsigned long int404294967295无符号长长整型数,简简写为为unsigned long, 字长为长为4个字节节共32位的二进进制数float43.4E-383.4E+38约约7位有效数字c

10、har10255unsigned char10255无符号字符,可简简写为为charsigned char1-128127有符号字符double81.7E-3081.7E+308约约17位有效数字,7位精度long double10可以简简写为为double注意:不同系统及不同版本的C,在各种类型长度上有差异!二、数据类型/*ch3_009数据溢出的错误*/ #include “stdio.h“ void main() int a; a=3400000000; printf(“a=%dn“,a); 超过了整数的范围 上溢出由于不同数据类型所占据的存储空间不同,在定义变量 的类型时应充分考虑变量

11、的取值范围。例如,整型(int )类型的变量取值范围为-232 232-1。如果在运算中, 数值超出这个范围则称为溢出,大于232-1称为上溢,小 于-232称为下溢 二、数据类型n请大家分析,以下程序输出结果正确么?#include “stdio.h“ void main() short int a; a=32768; printf(“a=%dn“,a); #include “stdio.h“ void main() unsigned short int a;a=32768;printf(“a=%dn“,a); /*ch3_009数据溢出的错误*/三、程序中的运算运算符与表达式n1.算术运算

12、符n2.赋值运算符n3 .关系运算符n4 .逻辑运算符n5. 条件运算符n6 .逗号运算符n运算中的类型转换本书本书3.23.2本书1.3本书略三、程序中的运算运算符与表达式 1. 算术运算符n双目(二元) 运算符+ - * / %n单目(一元)运算符 + - + -n改变优先级()#include “stdio.h“ void main() int a,b,c;a=10;b=3;c=a/b;printf(“c=%dn“,c); C=3#include “stdio.h“ void main() float a,b,c,;a=10.0;b=3.0;c=a/b;printf(“c=%fn“,c)

13、; C=3.333333注意:/的两个操作数如果为同种类型,结果也是同样的类型,1/2=等于?%只能用于两个整数之间! 10%3结果为1例ch3_010.c 算术运算示例三、程序中的运算求余运算符“%”要求左操作数 和右操作数都是整数,运算 结果是两个操作数相除的余 数。求余运算符“%”三、程序中的运算n单目运算符 + - n例ch3_011.c 示例+ -/* ch3_011.C 算术运算符+ 、-示例 */ main() int a=1,b;b=a+;printf(“ b=%d,a=%dn“,b,a); b=1,a=2main() int a=1,b;b=+a;printf(“ b=%d,

14、a=%dn“,b,a); b=2,a=2注意:1. +和只能作用于变量,不能用于常量及表达式!2. + -若为后缀,则先计算,后自加(减);+ -若为前缀,则先自加(减),后计算练习: j=3,i=2; k=+j/i+; /j=4 , i=3,K=2案例ch3_012三、程序中的运算示例ch3_013单目运算+ - 三、程序中的运算运算符与表达式n1. 算术运算符n2. 赋值运算符n3 .关系运算符n4 .逻辑运算符n5. 条件运算符n6 .逗号运算符n运算中的类型转换注意:赋值号左边只能是变量名,不能是常量、表达式。三、程序中的运算2. 赋值运算符n简单赋值运算 =n复合赋值运算符 +=,-

15、+,*=,/=,%= =, i+=3; j+=i; printf(“j=%dn“,j); i+=3相当于i=i+3j+=i 相当于j=j+i;思考: int j=3,i=2,k=1;k-=j-=i; 运算之后 i,j,k 2 1 0三、程序中的运算例ch3_016:复合赋值运算示例三、程序中的运算运算符与表达式n1. 算术运算符n2. 赋值运算符n3 .关系运算符n4 .逻辑运算符n5. 条件运算符n6 .逗号运算符 n运算过程中的类型转换本书在3.2节讲解!本书略运算过程中的类型转换在表达式中进行运算时,通常会将不同类型的 数据混合使用,此时就会关系到类型转化的 问题。 一般转换规则:“短” ”长“ “长” ”短“则会截断,丢失精度 即: 由占存储空间少的数据类型向占存储空间多的 数据类型转换。 doublefloatlongunsignedintchar,short短长例 char ch;int i;float f;double d;ch/i + f*d - (f+i) intintdoubledoubledoubledoubledoubledoubled=f=i=10; i=f=100000;例 int

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号