版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据类型及其应用BBACK2本章讲授要点介绍C语言的数据类型,常量 与变量,运算符与表达式,数据的输入和输 出等。重点:掌握数据类型及各种类型数据混合运 算规则和数据的输入和输出等。3.1常量3.2变量运算符和表达式+ 3.4数据的输出+ 3.5数据的输入1其值不可再分解!基本构造类指针类r数组结构体struct 枚举类型enum 共用体union实型(浮点型),字符类型char数据类型由一个或 多个数据 类型构造 而成。是一种特殊而重 要的数据类型。空类型voidBBACK双精度型double基本数据类型短整型short 整型int,长整型long单精度型float所占tfc致n宓(sign
2、ed) int16-32768-32767(signed)short16-32768-32767(sig ned)l ong32-2147483648-2147483647无unsigned short160-65535unsigned int160-65535unsigned long320-4294967295实float32-3.4e-38-3.4e38double6417e-30817e3088-128-127夭unsiK80-255long double 128-1 2c4932 1.2e 4932:数摒典夂所占字节数超机輕碳件不同而不间,上表以IBM PC机为例:BBACK553.
3、1常量-标识符定义:用来标识变量、常量、函数等的字符序列。组成:只能由字母、数字、下划线组成,且第一个字母必须是字母或 下划线;-大小写敏感;-不能使用关键字。长度:最长32个字符。举例:判断下列标识符号合法性。 sum Sum IMIJXJohih day Date Saaysstudent_namelotus_l_2_3char ab above $1233.1常量-常量分类:分类实型(浮点业)常姑转义字苻字苻半常址习惯上符号常量的标识符用大写字母;变录标识符用小写字母。一応3, 01(5.丿指数形式0. 618, 3. 14e2具有待定含义MHello!,“12345”#define P
4、I 3.14159八进制例n , t常定义,程序运行时其值不能改变的量(即常数)。符号常址BBACK63.1常量整型常量(整常数) 三种形式:十进制整数:由数字0-9和正负号表示,例如:123,-456,0;八进制整数:由数字0开头,后跟数字0-7表示,例如:0123,011;十六进制整数:由Ox开头,后跟0-9,a-f,A-F表示,例如:0x123, OXff.BBACK9问题:0123 =()100x123 =(),0OXff =()10问题:0123 = (83),00x123 = (291)wOXff = (255)w整型常量根据其值所在范围确定其数据类型,其中 在整常量后加字母1或L
5、,认为它是long int型常量。例:30000 为int型65536 为 long int 型例:12与12LBBACK3.1常量实型常量(实数或浮点数)两种形式:十进制数形式:(必须有小数点)例如:0.123,. 123, 123. 0, 0. 0, 123;指数形式:(e或E之前必须有数字;指数必须为整数)例 如:123e3, 123E2, 1. 23e4,e-5, 1. 2E-3. 5O实型数据在内存中按指数形式存放,例如:3.141594个字节 314159实型常量的类型默认为double型,在实型常量后加字 母f或F,认为它是float型。含义(IBBACKM运行结來:(屏幕显示)
6、i ABCJ I say:How are you?n3.1常量字符常量定义:用单引号括起来的单个普通字符或转义字符。 字符例如:转义閥迓斜巒理aa,人?、仙A转义字符举例: #include void main()printf(M101 x42 CnM); printf(ftI say:MHow are you?MnM); printf(f,C ProgramnM);printf(MTurbo VCtM);I C ProgramTurbo Cdckr3位8进制数代表的字帘Whh2位16进制数代表的字符31常量字符串常量定义:用双引号(S)括起来的字符序列。存储:每个字符串尾自动加一个0,作为字
7、符串结束标志例如:学符串“hello”在内存中例如:空串”回字符常量与字符串常量不同he11o01举例:举例:char ch;| ch=“A;乂char ch; ch=A;Z” 一J a | 0BBACK3.1常量符号常量:用标识符代表常量。定义格式:#define 符号常量 常量两点说明:1) 一般用大写字母;2) 是宏定义预处理命令例如:#define PI实例33符号常量的使用。#define PI 3.14159 void main()float s,r;r=10; s=PI*r*r;printf(s=%fn,s);运行结果:s=314.158997IB6ACK13.2变量定义:其值可
8、以改变的量。三要素:变量名、变量类型和变量值。变量定义的一般格式:数据类型 变量1,变量2,,变量n;BBACK13实型变量oa short in 举例:可用 sizeo float a;a=llllll.111;/*a=l 11111.1*/榆出结某3.2变量整型变量上学节数I華知.窖;7;同而不同一 一無上一水*几罢学double:占8字节,提供15-16位有效数字; long double:占16字节,提供18-19位有效数 字。字符型变量|没有字符串变量:用字符数组存放!字符变量存放字符ASCII码;char与int数据间可进 行算术运算幽 D,;/* a=68;*/x=A+5;/*
9、x=65+5; */冃一siL+G, /*s=33+71: */#d efine PRICE 12.5#include void main() -int nu m=3;float total;卜交量定义char chl,ch2=Dz; total = num* PRICE;chl=ch2-W+xa,;-p ri n tf (u to ta l=%f,chl=%c n total,chi);运行结果:tota1=37. 500000, chl=dBBACK153.2变量变量的地址一指针指针的基本概念内存单元的编号叫做地址,通常也把这个地址称为 指针。在C语言中,允许用一个变量来存放指针,这种变
10、量称为指针变量。指针变量的定义类型说明符 指针变量名;举例:IBBACKint *pl; 表示pl是一个指针变量,它的值是某个整 型变量的地址。BBACK163.3运算符和表达式算术运算符: 关系运算符: 逻辑运算符: 位运算符: 赋值运算符: 条件运算符: 逗号运算符: 指针运算符: 求字节数:仝于/小于专于/夸于/大于/大于( */% + -例如:5/2= 2例如:5%2 = 15/20 = -2.5-5%2=11 %10 = 15%1= 05.5%2(x)说明:“”可为单目运算符吋,采用右结合性;两整数相除,结果为整数;求余数要求两侧均为整型数据。BBACK19i=i+l; j=i1=1
11、-1; =13.3运算符和表达式自增、自减运算符:+ 作用:使变量值加1种类:前置+i, i (先执行i+1或i-l,再 使用i值;后置i+二一(先使用i值,再执行例如:j = 3; k=+j;j = 3; k=j+;j = 3; pintf(%d,+j); j = 3; printfC%d;j+); a=3;b=5;c=(4-+a)*b;o a=3;b=5;c=(a+4-)*b;/k=4,j=4/k=3,j=4/4/3 /c=20,a=4学会拆分!BBACK21+ 结合方向:自右向左优先级:+*/% +-例如:- i +i=3; printHSi+); -3、i+(i+)例如: j+k; (
12、j+) +k;j+k; j=j+l;3.3运算符和表达式赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符二表达式213.3运算符和表达式自增自减运算符:+ 说明:+ 不能用于常量和表达式,例如:5+, (a+b)+BftACK22a+=3x*=y+8x%=3作用:将一个数据(常量或表达式)赋给一个变量。复合赋值运算符种类:+= -= *= / = %= = = &= A= | = 含义:cxpl op= cxp2 e cxpl = cxpl op cxp2a=a+3 x=x*(y+8) x=x%33.3运算符和表达式赋值运算符和表达式说明:结合方向:自右 向左;左侧必须是变量, 不能是
13、常量或表达式 赋值转换规则:使赋值号右边表达 式值自动转换成其左边变量的类型。例如:int i; i=2. 56;/i=2BBACK25仔 9 汝口: 3=x-2*y; a+b=3;23例如:a=12;a+=a-=a*a;/a=-264例如:float f; inti; i = 10; f=i;/f=10. 0赋值表达式的值与变量值相等,且可嵌套!例如:a=b=c=5;/表达式值为5, a, b, 为5a=(b=5);/ b-5, a-5a=5+ (c=6) ;/表达式值 11, c=6, a=lla=(b=4) + (c=6); /表达式值 10, a=10, b=4, c=6 a=(b=1
14、0)/(C=2); 表达式值5, a-5,b-10, c-2IBBACK3.3运算符和表达式赋值运算符和表达式al=a*a;a2=a-al;a=a2;a3=a+a2; a=a3;/al=144;a2=12-144=-l32; a=-l32;j a3=-l32+(-132)=-264; a=-2643.3运算符和表达式逗号运算符和表达式形式:表达式1,表达式2,表达式n结合性:从左向右逗号表达式的值:等于表达式n的值 用途:常用于循环。厂语句中例如:例如:例如:a=3*5, a*4/a=i5,表达式值60a=3*5,a*4,a+5 /a.15 表达式值20 x=(a=3, 6*3) /賦值表达式
15、,表达式值18, x=18 蔦爲逗号表达式,表达式1*3 pr intf ( %d, %d, %d , a, b, c); 1,2,3 pr intf ( %d,%d,%d , (a, b, c), b, “3,2,3IBBACK3.3运算符和表达式关系运算符和表达式 种类: =结合方向:自左向右 优先级别:例如:若a=0; b=0. 5; x=0. 3; 则a=x278在C中是允许的, 值为07%4=3; 3!=0個为 1; a=l+l=2例如:int i=l, j=7, a; a=i+(j%4!=0)2例如:a097大于0,结果为1 165大于100,结果为00大 1002525BBACK
16、263.3运算符和表达式关系运算符和表达式应避免对实数作相等或不等的判断!例如:1. 0/3. 0*3. 0=1 0可改写为:fabs(L 0/3. 0*3. 0-1. 0)le-6注意区分“二”与“=”!例如:int a=0, b=l;if (a=b) printf Ca equa 1 to bJ ;elseprintf (a not equal to b);a=b3.3运算符和表达式逻辑运算符和表达式种类:! & I | |请牢记!逻辑运算真值表/127ab!a /厂!ba&ba|b假1R1BL1BL個A假個1R其1R假C语言中,运算量:0表示“假”,非0表示“真”O运算结果:0表示“假”
17、,1表示“真”。BBACK293.3运算符和表达式逻辑运算符和表达式优先级:结合方向:高& (11)II (12)例如:a=x & xb&xy a=bI|x=y !aI Iab:从右向左& :从左向右|:从左向右/ (a=x) & (xb)&(xy) /(a=b)ll(x=y)(他)11 (ab)IBBACK3.3运算符和表达式逻辑运算符和表达式短路特性:逻辑表达式求解时,并非所有的逻辑运算符 都被执行,只是在必须执行下一个逻辑运算符才能求出 表达式的解时,才执行该运算符。29例如:a&b&c/只在a为真时,才判别b的值;即&为假时,值为假/只在肛b都为真时,才判别c的值。例如:al IbI
18、|c只在a为假时,才判别b的值;即&为真时,值为真只在a. b都为假时,才判别c的值。例如:a=l; b=2; c=3; d=4; m=l; n=l;(m=ab)/结果n=l先计算m值,由于为假(0),则不再继续计算下去!IBBACK303.3运算符和表达式条件运算符和表达式般形式:exprl ? cxpr2 : cxpr3功能:相当于条件语句,但不能取代一般if语句 执行过程:例如:x?X: b /x=0,表达式值为b,; xJO,表达式值为xy?l:1.5 xy,值为l0;xy,值为i5IBBACKJ不同类型数据间的转换隐式转换运算转换不同类型数据混合运算时;赋值转换把一个值赋给与其类型不
19、同的变量时; 输出转换输出时转换成指定的输出格式; 函数调用转换实参与形参类型不一致时转换。运算转换规则:不辰例如:#include void main ()强制转一般形式:G 例如:(int)说明:强制转换得结果:float x;int i;x=3. 6;i= (int) x;pr intf Cx=%f, i=%d,x, i); )x=3. 600000, i=3BBACK33333.4数据的输出printfQ格式输出函数一般形式为:printfC4格式控制字符串”,输出表列);其中:格式控制字符串可由格式字符串和非格式字符串 组成。格式字符串是以开头的字符串,在后可跟各种 格式字符,以说明输出数据的类型、形式、长度、小数 位数等。格式字符串的一般形式为:标志输出最小宽度.精度长度类型3.4数据的输出【实例3-16 printfQ函数使用示例。void ma in () int a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册安全工程师考试化工(初级)安全生产实务试卷及答案
- 2025年注册土木工程师岩土专业真题(附答案)
- 2025预防艾滋病梅毒和乙肝母婴传播技术培训试题含答案
- 2026 年草原保护试题及答案
- 2026年《职业病防治法》宣传周主题知识竞答考试题库(含答案)
- 2026年储能电站电池舱消防应急处置综合测评卷及答案
- 2型心肾综合征的研究进展
- 2026下半年初中化学教资面试有机题库
- 血气胸健康宣教
- 应急安全标准指南讲解
- 2025年大学《缅甸语》专业题库- 缅甸语口译实践与案例分析
- 蔗渣锅炉培训课件教学
- 安格斯MAX市场计划
- 子宫宫腔常见病变
- 长江存储培训课件
- 非标设备项目管理制度
- 《热学(第二版)》杨体强编-李椿 第9章 相变学习资料
- 世界文化知识竞赛题库及答案
- 梦想启航励志前行主题班会课件
- 《塑料聚乙烯》课件
- (高清版)DZT 0368-2021 岩矿石标本物性测量技术规程
评论
0/150
提交评论