




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章基本数据类型和表达式C+数据类型整形基本类型实型(浮点型)空类型(void)数据类型数组类型()指针类型(*)结构体类型(struct)类(clas字符型(char)布尔型(bool)共用体类型(union) 枚举型(enum)基本整形(int)短整型(short)长整形(long)无符号型(unsigned),单精度型(float)双精度型(double)扩展双精度型(long double)工为什么要分数据类型不同的数据类型存储格式不同。不同的数据类型所实施的操作不同C+哪据类型1、整形数据各种整形数据的基本情况数据类型占用字节(跟编译器有关)数据范围short2 bytes-327
2、6832767unsigned short2 bytes0-65535int2bytes(16 位机)4 bytes(32 位机)-3276832767- (231) 231-1unsigned int2bytes(16 位机) 4bytes(32 位机)0-655350232-1long4bytes-(231) 231-1unsigned long4 bytes0232-1整形常量在整形常量后可加修饰符l或L表示长整型* 十进制整数:以非零的数字开始123/signed int65000/unsigned int123u/unsigned int123L/singed long int工 八
3、进制整数:以零开始0123=83/unsigned int011L=9/unsigned long int$十六进制整数:以0X或0 x开始0 x123=291/signed int0X123u=291/unsigned int整型变量类型修饰符变量名=表达式,变量名=表达式int x,y;int i=1,j=0;2字符型数据字符型数据的基本情况字符类型:在内部实现是个单字节长度的整型,因此常用字符型定义值较小的整数。 单引号括起来的一个字符如a:D,?;S字符数据在内存中的存储形式以ASCII码存储,占1字节,用7位用于表示竽符时存放的是竽符的ASCII码值。数据类型占用字节数据范围char
4、1Byte-128127unsigned char1Byte0255转义字符转义序列对应ASCII码值对应功能或字符转义序列对应ASCI码值对应功能或字符a7响铃92反斜线b8退格39单引号f12换页34双引号n10换行?63问好r13回车cccccc为八进制值该值对应的字符t9水平制表xhhhh为十六进制值该值对应的字符v11垂直制表0空字符(NULL)000字符变量用来存放字符常量例: char c1,c2;c1=a;c2=A;字符型和整形的关系字符数据和整形数据之间可以通用,可以按字符形式输出,也可以按整形输出。#include运行结果:a b97 98main()(char c1,c2
5、;c1=a;c2=b;printf( %c%cn”,c1,c2);printf( %d%dn”,c1,c2); #include void main()运行结果:65 66 65 66A B A Bint a,b;char c,d;a=a;b=b;c=97;d=98;c=a-32;d=b-32;a=a-32;b=b-32;couta b int(c) “int(d)endl;coutchar(a) “char(b)c dendl;枚举型将需要的变量值一一列举出来,构成一个枚举类型。enmu枚举名变量值类表;例如:enum weekdaysun,mom,tue,wed,thu,fri,sat;#
6、includevoid main()enum colorred,green,blue; red=0,greed=1,blue=2color paintbrush=red; /ok/color paintbrush=0;/error/color paintbrush; paintbrush=red;/ok/ paintbrush=0;/errorif(paintbrush=0)/ paintbrush=red/okcoutred paintbrushendl;)实型数据实行数据数据类型占用字节精度有效数字位数float4383.4 X 107double8士 3081.7X 1015long d
7、ouble10士 49234.3X 1019float实行变量列表double实型变量列表long double实型变量列表#define PRICE 30 #include void main() int num,total; float v,r,h; num=10;total=num*PRICE; couttotalendl;r=2.1;h=3.3;v=3.14159*r*r*h;coutvendl;)十进制形式: 425000指数形式:425E3 3、(425X 10 )不区分单双精 度,赋值时截取 有效长度。如v=45.71955927 ;七位有效数字45.7196符号常数与常值变量符
8、号常数:用制定名字代表的常数。#define MAXLINE 100可读性好,修改方便在预编译时将程序中凡出现MAXLINE的地方全部用100代替。尽管他具有常量的所有属性,但是在编译预处理完成后, MAXLINE就不属于程 序中的名字了,所以提不是一个具有一定类型的常量名(在 C+中只为了兼容 菜保留#define)。常值变量const float PI=3.141592653;/PI=3.141593const double PI=3.141592653;/ok定义成const后的变量,程序中对其只能读不能修改。因此常量定义是必须初始化const flout PI;PI=3.1415926
9、53;/error数值表达式算术运算符基本算术运算符:+-*/% (取余)强制类型转换:例:(double) a, double (a), (int) (x+y), (float) (5%3) 变量本身未变化.位运算符按位与:&将某一位置0,其他位不变。例:将char型变量啊的最低位置0.a=a&0376;/a&11 111 110B取指定位。例:有char c; int a;取出a的低字节,置于c中。 c=a&0377;/a&11 111 111B按位或:|将某些位置1,其他位不变。例:将int型变量a的低字节置1。a=a|0 xff;按位异或:人使特定位翻转(与。异或保持原值,与1异或取反
10、)。例:要使01111010B第四位翻转;01111010B(人)00001111B01110101B左移运算:右移后,低位舍去,高位无符号数补0;有符号数补0 ;(逻辑右移)有符号数补“符号位”(算术右移)取反:例:将int型数据a最低位置0;a=a&1;1=11 , 10B自增、自减运算表达式+表达式 表达式+-表达式 表达式- 具有副作用 int a=3;int b=+a;int c=a+;int b=-a;int c=a-; int b=+a+; int d=+a;int d=+3;int c=(+a)+; int c=(-a)-;/ a=a+1;b=a;/c=a;a=a+1;/a=a
11、-1;b=a;/c=a;a=a-1 ;/error , a+非左值/ok,d=5/error/ok,+a 为左值,c=4/ok,-a 为左值,c=2赋值类运算表达式赋值类运算符:=+= -= *= /= %= &= |= = = & new deletesizeof(类型名)或sizeof (表达式):求变量、类型所占的字节数。#includevoid main()coutsizeof(char)=sizeof(char)endlsizeof(int)= sizeof(int)endlsizeof(unsigned)=sizeof(unsigned int)endlsizeof(long)=s
12、izeof(long int)按位左移,按位右移,无符号右移6 小于,小于等于,大于.大于等于7= = ,!=等于.不等于H&按位与9A按位异或101按位或11&逻辑与121 1沏税或口条件运算符三目从右向左14=就值双目从右向左+ = ,=加Kt值,减赋值=, /=乘赋值,除赋值外, &-取余赋值,技位与赋值A.按位异或赋值1 =按位或赋值 =按位右移赋值159逗号运算符双目 |从左向右CM操作符的优先ts优先级运算符叙述示例里做性结合性1 全局作用域类作用域名?空间作用城:naneclass:camenameapace: :nane由左至右21婿迷巾i1后1递减i-if.U0的数盟用或受Q
13、的始化c.tor(int x. int y): _x(x). _y(y * 10) (口依阻访问array1 = 2;以对家方式防何成员obj. or JI;否-U指计方式访问成员pti-age = 34;dynamic.cast运行时检杳类型然怏(C-专旬Y4 y =dynaraiecast (x);ft$tatic-cost未经冷任的类型“帙(C-。4)Y& y static.c4st(x).含rexnterpret_C4ist改定义类串转换(CH。行)int const p = reinterpret_cast (0 x1231);含const.cast更改4常用R性(C”(/)int
14、q const_ct int (p);含typeid共取类型信息(Ci专9)std: zxype-info consrft x = typcid(x);3一前缀递纲Hi由右至左前缀的减i一元正号int i - *1;一兀负弓int i = -1;!not逻猊非!的备用拼写if (I done)一conpl按位取反、的备用掰号flagl s flag2.( We)也换为给定的类中im i = (int)floatNun;取指H指向的他int data tintPtr;1祟某的地始(参考)int intPtr = Adata;sizeof祟某的大小sizji s - sizeof (int;I4!
15、new动态内存分配9”。有)lone* pVax = new long;ne(动态数in内分阳屋什14)lon* array = new long20;delete动态内存糅放(ci16)delete pVar ;delete口动态故汛内存邛放鼠什。有)delete array;4或M对较选择(ci、)obj. *ar = 24;ft由左至右-*成员指针选择(c*专有,ptr-*var = 24;5乘法int i = 2 4;除法float f - 10. 0 / 3.0;、幔数(收余int rctn a 4 % 3;6加法int i = 2 3;减法int i = 5 - 1;7也左移int
16、 flags = 33 1;位右移int flags = 33 1;8小于关累if (i 42)小丁等于关系if (i 42)X大于等于关系if (i = 42).9sseq等于关系 口的招用拼。if (i = 42).!nojeq军0匕的备用拼写k (i - i)10ftbitand付AND女的番用拼玛flagl 二 flag2 t 12;11xor位MJR (强占or)的缶用拼flagl a flag2 - 12;121 bi tor位0R(包含or) 的善用挤写flag = flag2 I 12;13i&and电慑ANDH的法用捕与if (conditionA M conditionB)
17、 14IIorORII的招用拼号if conditionA 1 conditionB).17throw地出异常thrwElass( Message* 兀a18*逗号for G = ft j = G; i 坛单目,9个:! 长度(自右向左)+ -转(共44个运算符)指向结构体成员.结构体成员 负号(类型)*指针&取地址sizeof酸-算术, 味一位移, 灌一关系, 味一位逻, 落-逻辑, 跳-条件, 福-赋值,5个:2个:6个:3个:2个:1个,11个:* / % + - =&按位与A按位异或|按位或&逻辑与|逻辑或三目:?:(结合方向:自右向左)=+= -= *= /= %= = = &= A
18、= | =(结合方向:自右向左)豆逗号,1个:,结合方向自右向左的只有三类:赋值、单目和三目,其它的都是从 左至右结合。注意:自己今天写程序时候把关系运算符号和位逻辑的优先级弄反。尽量用括号,就不出问题。如:if (P1OUT&BIT0= 0P1OUT a=BIT0; / 判断P1OUT否输出为0,是就翻转,即点亮LED.这行程序是错误的。可两边加上括号,即if ( (P1OUT&BIT0=0),或是直接用:P1OUT|=BIT0C语言中,只有4个运算符规定了运算方向,它们是 &、| |、条件运算 符及赋值运算符。&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不计算右边表达式的值。如 a = 0 & b; &运算符 的左边位0,则右边表达式b就不再判断。在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。 赋值表达式则规定先 对右边的表达式求值,因此使a = b = c = 6成为可能。逻辑型数据与逻辑表达式关系、逻辑运算符关系运算符:=!=逻辑运算符:&|!关系成立,该关系式描述的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 柠条收购协议书
- 标准退车协议书
- 2025年中医会考的面试题及答案
- 2025年西职单招考试试题及答案
- 2025年sql试卷试题及答案
- 2025年ai面试初试题目及答案
- 树木移伐协议书
- 校企联谊协议书
- 校园养护协议书
- 校园防火协议书
- 2025风电项目EPC总承包工程合同
- 安检服务沟通技巧培训
- bizsim企业经营决策模拟总结报告
- 小学数学六年级上册知识点(全一册)
- 脑梗死恢复期康复的护理查房
- T∕SRX 002-2024 羊初乳粉规范
- 合作社农户种植协议书范本
- 做最勇敢的自己
- 胖东来管理制度
- 2025年上半年宁波农商发展集团限公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年山东能源集团权属企业兖矿新疆能化有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论