清华大学C教案c2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章C++简单程序设计清华大学锋面剑客C++语言程序设计C++语言程序设计清华大学郑莉2本章主要内容C++语言概述基本数据类型和表达式数据的输入与输出算法的基本控制结构自定义数据类型C++语言程序设计清华大学郑莉3C++语言的产生C++是从C语言发展演变而来的,首先是一个更好的C引入了类的机制,最初的C++被称为“带类的C”1983年正式取名为C++从1989年开始C++语言的标准化工作于1994年制定了ANSIC++标准草案于1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C++C++语言概述C++语言程序设计清华大学郑莉4C++的特点全面兼容C–它保持了C的简洁、高效和接近汇编语言等特点–对C的类型系统进行了改革和扩充–C++也支持面向过程的程序设计,不是一个纯正的面向对象的语言支持面向对象的方法C++语言概述C++语言程序设计清华大学郑莉5C++程序实例—例2-1//2_1.cpp#includeiostreamusingnamespacestd;voidmain(void){coutHello!\n;coutWelcometoc++!\n;}运行结果:Hello!Welcometoc++!C++语言概述C++语言程序设计清华大学郑莉6C++字符集大小写的英文字母:A~Z,a~z数字字符:0~9特殊字符:空格!#%^&*_(下划线)+=-~/\';.,()[]{}C++语言概述C++语言程序设计清华大学郑莉7词法记号关键字C++预定义的单词标识符程序员声明的单词,它命名程序正文中的一些实体文字在程序中直接使用符号表示的数据操作符用于实现各种运算的符号分隔符(){},:;用于分隔各个词法记号或程序正文空白符空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称C++语言概述C++语言程序设计清华大学郑莉8标识符的构成规则以大写字母、小写字母或下划线(_)开始。可以由以大写字母、小写字母、下划线(_)或数字0~9组成。大写字母和小写字母代表不同的标识符。C++语言概述C++语言程序设计清华大学郑莉9数据类型——常量与变量#includeiostreamusingnamespacestd;voidmain(void){constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;}常量变量变量先声明后使用符号常量Page9基本数据类型和表达式C++语言程序设计清华大学郑莉10#includeiostreamusingnamespacestd;voidmain(void){constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;}数据类型——整型数据整型常量shortunsignedshort2字节int、unsignedint4字节longunsignedlong4字节整型变量整型变量声明基本数据类型和表达式C++语言程序设计清华大学郑莉11数据类型—整型数据及取值范围类型说明符位数数值范围短整short16-32768~32767基本int32-231~(231-1)长整long32-231~(231-1)无符号unsignedshort160~65535unsigned[int]320~(232-1)unsignedlong320~(232-1)基本数据类型和表达式C++语言程序设计清华大学郑莉12#includeiostreamusingnamespacestd;voidmain(void){constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;}数据类型——实型数据实型常量float4字节3.4×10±387位有效数字double8字节1.7×10±30815位有效数字longdouble8字节1.7×10±30815位有效数字实型变量•缺省为double型•后缀F(或f)为float型•后缀L(或l)为longdouble型基本数据类型和表达式C++语言程序设计清华大学郑莉13数据类型——字符型数据(一)字符常量–单引号括起来的一个字符,如:'a','D','?','$'字符变量–用来存放字符常量例:charc1,c2;c1='a';c2='A';字符数据在内存中的存储形式–以ASCII码存储,占1字节,用7个二进制位Page13基本数据类型和表达式C++语言程序设计清华大学郑莉14字符数据的使用方法–字符数据和整型数据之间可以运算。–字符数据与整型数据可以互相赋值。字符串常量例:CHINAa'a'所以:charc;c=a;CHINA\0a\0aPage14数据类型——字符型数据(二)基本数据类型和表达式C++语言程序设计清华大学郑莉15数据类型——布尔型数据布尔型变量的说明:例:boolflag;布尔型数据的取值:只有false和true两个值基本数据类型和表达式C++语言程序设计清华大学郑莉16数据类型——变量初始化例:inta=3;doublef=3.56;charc='a';intc(5);Page16基本数据类型和表达式C++语言程序设计清华大学郑莉17数据类型—混合运算时的类型转换不同类型数据进行混合运算时,C++编译器会自动进行类型转换。为了避免不同的数据类型在运算中出现类型问题,应尽量使用同种类型数据。可以采用强制类型转换:例如:floatc;inta,b;c=float(a)/float(b);或c=(float)a/(float)b;基本数据类型和表达式C++语言程序设计清华大学郑莉18变量的存储类型auto–属于一时性存储,其存储空间可以被若干变量多次覆盖使用。register–存放在通用寄存器中。extern–在所有函数和程序段中都可引用。static–在内存中是以固定地址存放的,在整个程序运行期间都有效。基本数据类型和表达式C++语言程序设计清华大学郑莉19算术运算符与算术表达式基本算术运算符+-*/(若整数相除,结果取整)%(取余,操作数为整数)优先级与结合性先乘除,后加减,同级自左至右++,--(自增、自减)例:i++;--j;Page19基本数据类型和表达式C++语言程序设计清华大学郑莉20赋值运算符和赋值表达式简单的赋值运算符=举例n=n+5表达式的类型等号左边对象的类型表达式的值等号左边对象被赋值后的值Page20基本数据类型和表达式C++语言程序设计清华大学郑莉21赋值运算符和赋值表达式复合的赋值运算符有10种复合运算符:+=,-=,*=,/=,%=,=,=,&=,^=,|=例a+=3等价于a=a+3x*=y+8等价于x=x*(y+8)基本数据类型和表达式C++语言程序设计清华大学郑莉22赋值运算符和赋值表达式——赋值表达式举例a=5表达式值为5a=b=c=5表达式值为5,a,b,c均为5a=5+(c=6)表达式值为11,a为11,c为6a=(b=4)+(c=6)表达式值为10,a为10,b为4,c为6a=(b=10)/(c=2)表达式值为5,a为5,b为10,c为2a+=a-=a*a相当于a=a+(a=a-a*a)Page22基本数据类型和表达式C++语言程序设计清华大学郑莉23逗号运算和逗号表达式格式表达式1,表达式2求解顺序及结果先求解1,再求解2,最终结果为表达式2的值例a=3*5,a*4最终结果为60Page23基本数据类型和表达式C++语言程序设计清华大学郑莉24关系运算与关系表达式关系运算是比较简单的一种逻辑运算,优先次序为:====!=优先级相同(高)优先级相同(低)关系表达式是一种最简单的逻辑表达式其结果类型为bool,值只能为true或false。例如:ab,c=a+b,x+y==3基本数据类型和表达式C++语言程序设计清华大学郑莉25逻辑运算与逻辑表达式逻辑运算符!(非)&&(与)||(或)优先次序:高→低逻辑表达式例如:(ab)&&(xy)其结果类型为bool,值只能为true或false基本数据类型和表达式C++语言程序设计清华大学郑莉26条件运算符与条件表达式一般形式表达式1?表达式2:表达式3表达式1必须是bool类型执行顺序–先求解表达式1,–若表达式1的值为true,则求解表达式2,表达式2的值为最终结果–若表达式1的值为false,则求解表达式3,表达式3的值为最终结果例:x=ab?a:b;基本数据类型和表达式C++语言程序设计清华大学郑莉27条件运算符与条件表达式注意:–条件运算符优级高于赋值运算符,低于逻辑运算符–表达式2、3的类型可以不同,条件表达式的最终类型为2和3中较高的类型。例:x=ab?a:b;基本数据类型和表达式①②C++语言程序设计清华大学郑莉28sizeof运算符语法形式sizeof(类型名)或sizeof(表达式)结果值:“类型名”所指定的类型或“表达式”的结果类型所占的字节数。例:sizeof(short)sizeof(x)基本数据类型和表达式C++语言程序设计清华大学郑莉29位运算——按位与(&)运算规则–将两个运算量的每一个位进行逻辑与操作举例:计算3&53:000000115:(&)000001013&5:00000001用途:–将某一位置0,其它位不变。例如:将char型变量a的最低位置0:a=a&0376;–取指定位。例如:有charc;inta;取出a的低字节,置于c中:c=a&0377;基本数据类型和表达式C++语言程序设计清华大学郑莉30位运算——按位或(|)运算规则–将两个运算量的每一个位进行逻辑或操作举例:计算3|53:000000115:(|)000001013|5:00000111用途:–将某些位置1,其它位不变。例如:将int型变量a的低字节置1:a=a|0xff;基本数据类型和表达式C++语言程序设计清华大学郑莉31位运算——按位异或(^)运算规则–两个操作数进行异或:若对应位相同,则结果该位为0,若对应位不同,则结果该位为1,举例:计算071^052071:00111001052:(^)00101010071^052:00010011基本数据类型和表达式C++语言程序设计清华大学郑莉32位运算——按位异或(^)用途:–使特定位翻转(与0异或保持原值,与1异或取反)例如:要使01111010低四位翻转:01111010(^)0000111101110101基本数据类型和表达式C++语言程序设计清华大学郑莉33位运算——取反(~)单目运算符,对一个二进制数按位取反。例:025:0000000000010101~025:1111111111101010基本数据类型和表达式C++语言程序设计清华大学郑莉34位运算——移位左移运算()左移后,低位补0,高位舍弃。右移运算()右移后,低位:舍弃高位:无符号数:补0有符号数:补“符号位”基本数据类型和表达式C++语言程序设计清华大学郑莉35运算符优先级括号++,--,sizeof*,/,%+,-==,!=位运算&&||?:赋值运算逗号运算低高基本数据类型和表达式C++语言程序设计清华大学郑莉36混合运算时数据类型的转换——隐含转换一些二元运算符(算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符)要求两个操作数的

1 / 88
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功