C语言数类型据基础.ppt

上传人:sccc 文档编号:5382083 上传时间:2023-07-01 格式:PPT 页数:49 大小:2.59MB
返回 下载 相关 举报
C语言数类型据基础.ppt_第1页
第1页 / 共49页
C语言数类型据基础.ppt_第2页
第2页 / 共49页
C语言数类型据基础.ppt_第3页
第3页 / 共49页
C语言数类型据基础.ppt_第4页
第4页 / 共49页
C语言数类型据基础.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

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

1、第3章,数据类型基础,目 录,数据的输入、输出,4,程序设计中的数据地位与作用,1,常量、变量和标识符,2,基本数据类型,3,不同类型数据间的转换,6,运算符与表达式,5,程序要对数据进行操作处理:处理的对象是数据(其在程序中要有合法的表现形式)而数据又通过运算符和表达式进行操作,程序设计中的数据地位与作用,1,例:计算半径为 10 cm的圆的面积。程序如下:,main()float r,area;r=10;area=3.14*r*r;printf(%fn,area);,输出:314.000000,程序中用到的数据:r、area、10、3.14对数据进行的运算:*、=,程序设计中的数据地位与作

2、用,1,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,数据往往都是以某种特定形式存在的,C语言提供的数据类型如下:,程序设计中的数据地位与作用,1,3.2.1 常量,整型常量:10、28;实型常量:3.14;字符常量:a、A;字符串常量:“Hello”,程序运行过程中,值不发生改变的量称为常量。直接常量 直接常量(即常数):10、3.14等都是直接常量。常量分为:,常量可以直接用于输入或赋给其他变量,常量、变量和标识符,2,整型常量三种形式:十进制整数:由数字09和正负号表示.如 32、-8、0等 八进制整数:由数字0开头(注意:不是字母o),后跟数字07表示.如 0

3、12、011、016 十六进制整数:由0 x(或0X)开头,后跟09,af,AF表 示.如 0 x123,0Xff,注意:八进制数、十六进制数的合法数字表示,十六进制数中字母大、小写等同,0 xaa等同于0 xAA,常量、变量和标识符,2,3.2.1 常量,#include main()int a,b,c;a=100;b=0100;c=0 x100;printf(a=%d,b=%d,c=%dn,a,b,c);,输出结果是:a=100,b=64,c=256,举例:,常量、变量和标识符,2,3.2.1 常量,实型常量(浮点数)即带小数点的实数。表示形式:十进制数形式:(必须有小数点)如0.1234

4、、.1234、1234.、0.0 指数形式:由尾数、字母e或E、指数三部分组成。如3.85e4 或 3.85E4 均表示 3.85104,(e或E之前必须有数字;指数必须为整数),规范化的指数形式:在字母e(或E)之前的尾数中,小数点左边应有一位(且只能有一位)非零的数字。例如:3.478e2,常量、变量和标识符,2,3.2.1 常量,字符常量,字符常量区分大小写,如 a、I、A、n,如 a、A是两个不同的字符常量,字符常量的值:该字符的ASCII码值,如 a在内存的字节中存放的ASCII值是97,特殊的字符常量:以一个“”开头的字符序列。(转义字符),定义:用单引号括起来的单个普通字符或转义

5、字符.,常量、变量和标识符,2,3.2.1 常量,“转义字符”:即 将反斜杠()后面的字符转换成另外的意义。如:n 中 的“n”不代表字母 n 而作为“换行”符。(仍代表一个字符),以“”开头的特殊字符,常量、变量和标识符,2,3.2.1 常量,main()printf(%c,%cn,a,A);printf(%d,%dn,a,A);printf(%c,%cn,a-32,A+1);,程序输出结果是:a,A 97,65 A,B,由于字符常量存放的是ASCII码值,所以字符常量可以同数值常量一样参加算术运算。,常量、变量和标识符,2,字符常量与字符串常量不同,字符串常量定义:用双引号(“”)括起来的

6、零个或多个字符,简称:字符串 如“STRING”存储:每个字符串尾自动加一个 0 作为字符串结束标志,常量、变量和标识符,2,3.2.1 常量,main()printf(Computer);printf(nI am a boy!n);printf(%sn,STRING);,程序输出结果是:Computer I am a boy!STRING,双引号、单引号是字符常量和字符串常量的标记,字符串和字符常量是两个不同的概念。,常量、变量和标识符,2,3.2.1 常量,#define PI 3.14 main()float r,circle,area;r=2.4;circle=2*PI*r;area=

7、PI*r*r;printf(circle=%f,area=%fn,circle,area);,程序中用#define命令行定义PI代表常量3.14,此后凡在本文件中出现的PI都代表3.14,可以和常量一样进行运算。,符号常量 C语言中特殊常量符号常量 即 给常量起一个名。,3.2.1 常量,常量、变量和标识符,2,用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。规定标识符只能由字母、数字和下划线三种字符组成,并且第一个字符必须为字母或下划线。,例:判断下列标识符号合法性area、sum、a&b、$234、_above、PI、name、Name、class、C

8、LASS,标识符,3.2.2 变 量,常量、变量和标识符,2,3.2.2 变 量,#define PI 3.14 main()float r,c,area;r=2.4;printf(c=%f,area=%fn,c,area);,r、c和area就是变量名,命名规则应遵守标识符命名规则,变量的定义 程序运行过程中,值可改变的量称为变量。每一个变量都应该有一个名字作为标识。,常量、变量和标识符,2,变量定义的一般格式:数据类型 变量1,变量2,变量n;,C语言所允许的任何数据类型,包括基本数据类型及构造数据类型 等,合法标识符,例:int i;float data;,变量必须遵从“先定义,后使用”

9、的原则。,3.2.2 变 量,常量、变量和标识符,2,变量的赋值与初始化赋值格式:变量名表达式例:a=10;变量初始化定义变量时给变量赋初值,称为变量初始化。格式:类型符 变量1=值1,变量2=值2;例:int a=1;b=3;c=100;,3.2.2 变 量,常量、变量和标识符,2,整型数据在内存中的存放形式:数据在内存中是以二进制形式存放的。,一个int整数VC环境下通常用4个字节存放:其中最高位用来存放整数的符号,0表示正整数,1表示负整数 实际上,一个有符号整数在内存中,是以补码形式存放的。若说明为无符号整数,其中最高位不再用来存放整数的符号,二进制位全部用来存放整数数值,因此无符号整

10、数不可能是负数,3.3.1 整型数据,基本数据类型,3,数值的表示方法原码、反码和补码原码:最高位为符号位,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加1,基本数据类型,3,3.3.1 整型数据,负数补码转换成十进制数:最高位不动,其余位取反末位加1,例 补码:11111001 取反:10000110 末位加1:11000111=-7,基本数据类型,3,分类:归纳起来,可以用以下6种整型变量。即:有符号基本整型 signed int 有符号短整型 signed short

11、int有符号长整型 signed long int无符号基本整型 unsigned int无符号短整型 unsigned short int无符号长整型 unsigned long int,3.3.1整型数据,基本数据类型,3,实型数据在内存中的存放形式 一个实型数据在内存中占4个字节(32位)。实型变量的分类(注意其有效位)C实型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类。实型变量也应在使用前加以定义。如:floatx,y;(指定x、y为单精度实数)double z;(指定z为双精度实数),3.3.2 实型数据,基本数据类型,3,程序输

12、出结果是:s=314.000000,3.3.2 实型数据,main()float r,area;r=10;area=3.14*r*r;printf(“s=%fn,area);,基本数据类型,3,字符变量的定义:一个字符变量在内存中占一个字节 charc1,c2;c1=a;c2=b;/*对c1、c2赋值*/字符数据在内存中的存放及其使用方法:存放的是该字符相应的ASCII码。例如:字符a 的ASCII码为97,b为98,3.3.3 字符型数据,基本数据类型,3,#include main()char ch1,ch2;ch1=a;ch2=ch1-32;printf(ch1=%c,ch2=%c n,

13、ch1,ch2);printf(ch1=%d,ch2=%d n,ch1,ch2);,程序输出结果是:a,A 97,65,由于字符数据存放的是ASCII码值,所以字符数据可以同数值数据一样参加算术运算。,3.3.3 字符型数据,基本数据类型,3,字符输出函数putchar()作用:向终端输出一个字符。基本格式:putchar(ch)用法说明:参数ch可以是除字符串常量之外的字符、整型、实型常量、变量或各种表达式 在程序中使用putchar()函数时,该程序的开头必须用一条预编译命令“#include”。putchar()函数可以输出控制字符,如:putchar(n);,3.4.1 putchar

14、函数,例 在putchar函数中使用不同参数输出字符A。#include stdio.hmain()char ch=A;int i=65;putchar(ch);/*输出字符变量所代表的字符,*/putchar(i);/*输出以整型变量i的值为ASC码的字符,*/putchar(A);/*直接输出字符常量A*/putchar(65);/*输出以十进制整型常量65为ASC码的字符*/putchar(n);/*输出一个换行符*/,程序运行结果:AAAA,数据的输入、输出,4,字符输入函数getchar()作用:接收从终端(一般指键盘)输入的一个字符。基本格式:getchar()没有参数,3.4.2

15、 getchar函数,例 输入单个字符#include stdio.hmain()char ch;ch=getchar();/*从键盘上接收一个字符*/putchar(ch);/*在屏幕上输出该字符*/,数据的输入、输出,4,例 输入输出字符练习。#include main()char ch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();putchar(ch1);putchar(ch2);putchar(ch3);,ABCDEFGABC,ABC AB,返回,数据的输入、输出,4,格式:printf(“格式控制串”,输出项表)功能:按指定格

16、式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1),3.4.3 printf 函数,输出表项:要输出的数据(可以没有,多个时以“,”分隔)格式控制串:包含两种信息格式说明:%修饰符格式字符 用于指定输出格式普通字符或转义序列:原样输出格式字符,数据的输入、输出,4,说明:格式字符要用小写(除O、X可用大写外)格式字符与输出项个数应相同,按先后顺序一一对应,例 int a=3,b=4;printf(“%d%dn”,a,b);printf(“a=%d,b=%dn”,a,b);输出结果:3 4 a=3,b=4,数据的输入、输出,4,附加格式说明符,数据的输入、输出,4,3.4.4

17、 scanf函数,格式:scanf(“格式控制串”,地址表)功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束返值:正常,返回输入数据个数,地址表:变量的地址,常用取地址运算符&格式字符:d,i,o,x,u,c,s,f,e,例 scanf(“%d”,输入:10 则 a=10,例 scanf(“%x”,输入:11 则 a=17,数据的输入、输出,4,输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符时,输入时需原样输入。(上机调程时尤其注意),例 scanf(“%d%o%x”,输入 123 123 123 输出 a=123,b=83,c=291,例 s

18、canf(“%d:%d:%d”,输入 12:30:45 则12 h,30 m,45 s,例 scanf(“%d,%d”,&a,&b)输入 3,4 则3a,4 b,例 scanf(“a=%d,b=%d,c=%d”,输入 a=12,b=24,c=36,数据的输入、输出,4,说明:用“%c”格式符时,空格和转义字符作为有效字符输入,如 scanf(“%c%c%c”,若输入abc 则ac1,c2,b c3,表达式由运算符(例如:+*)、运算对象(也称操作数,可以是常量、变量等等)和括号组成。表达式运算所得到的结果值便是表达式的值。,例如:a+b xy,C语言的运算符丰富,几乎大部分操作都由运算符来完成

19、。归纳起来,C的运算符有以下几类:,运算符与表达式,5,运算符和表达式简介,运算符种类:,运算符与表达式,5,二元运算符(或双目运算符):运算符需要两个操作数使用形式为:操作数1 运算符 操作数2 一元运算符(或单目运算符):运算符需要一个操作数 优先级:决定表达式的运算顺序。结合性:是指当一个操作数左右两边的运算符优先级相同时,按什么样的顺序进行运算。包含自左向右,自右向左两种顺序。,运算符与表达式,5,算术运算符与算术表达式,基本算术运算符和表达式基本算术运算符:+-(正负)*/%+-(加减)结合方向:从左向右优先级:+-*/%-+(2)(3)(4)说明:“-”可为单目运算符时,右结合性两

20、整数相除,结果为整数;一侧为实型结果为实型%要求两侧均为整型数据,运算符与表达式,5,自增、自减运算符+-作用:使变量值加1或减1种类:前置+i,-i(先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1)说明:+-不能用于常量和表达式,如5+,(a+b)+-结合方向:自右向左优先级:-+-*/%-+-(2)(3)(4),例-i+-(i+)i=3;printf(“%d”,-i+);/-3,运算符与表达式,5,例 j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a

21、=3;b=5;c=(a+)*b;,运算符与表达式,5,自增、自减运算符+-,无论是作为前缀还是作为后缀运算符,对于变量本身来说自增1或自减1都具有相同的效果,但作为表达式来说却有着不同的值。,复合赋值运算符种类:+=-=*=/=%=&=|=含义:变量 op=表达式 变量=变量 op 表达式,例 a=10/*把常量10赋给变量a*/,简单赋值运算符符号:=格式:变量名=表达式作用:将一个数据(常量或表达式)赋给一个变量,运算符与表达式,5,赋值运算符和表达式,赋值表达式的值与变量值相等,且可嵌套,说明:结合方向:自右向左左侧必须是变量,不能是常量或表达式,例 int i;i=2.56;/结果i=

22、2;,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,运算符与表达式,5,赋值运算符和表达式,假设已有整型变量a,其值为3,试计算表达式:a+=a-=a*a的值。main()int a=3;printf(%dn,a+=a-=a*a);,程序的运行结果是:-12,1.先计算“a*a”;2.计算“a-=9”;3.计算“a+=-6”。,运算符与表达式,5,赋值运算符和表达式,说明:(1)逗号运算符的结合性为从左到右,因此逗号表达式将从左到右进行运算。,a=3*5,a*4,整个逗号表达式的值为60,(a=3*5,a*4),a+5,printf(%d,%d,%d,a,b,c);,(3)一个

23、逗号表达式又可以与另一个表达式组成一个新的逗号表达式。,(4)并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。,(2)逗号的运算优先级最低,形式:表达式1,表达式2,表达式n逗号表达式的值:等于表达式n的值,运算符与表达式,5,逗号运算符和逗号表达式,5,sizeof 运算符,运算符与表达式,形式:sizeof(类型)sizeof(表达式)功能:测试表达式值或某数据类型在计算机中分配的内存字节长度,例:sizeof(int)、sizeof(a+b),整型、实型可以混合运算。运算时不同类型的数据要先转换成同一类型,然后进行运算。(隐式转换),不同类型数据间的转换,6,强制类型转换运算符:一般形式:(类型名)(表达式)例(double)a(将a转换成double类型)(int)(x+y)(将x+y的值转换成整型)(float)(5%3)(将5%3的值转换成float型)说明:强制转换得到所需类型的中间变量,原变量类型不变。,强制类型转换。main()float x;int i;x=4.5;i=(int)x;/*强制类型转换*/printf(x=%f,i=%dn,x,i);,程序的运行结果是:x=4.500000,i=4,不同类型数据间的转换,6,谢谢!,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号