《C++程序设计02-简单程序.ppt》由会员分享,可在线阅读,更多相关《C++程序设计02-简单程序.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C+程序设计02-简单程序C+语言概述C+是从C语言发展演变而来的,首先是一个更好的C。引入了类的机制,最初的C+被称为“带类的C”。1983年正式取名为C+。从1989年开始C+语言的标准化工作。于1994年制定了ANSI C+标准草案。于1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C+。数据类型 整型数据及取值范围整型数据及取值范围类型类型 说明符说明符 位数位数数值范围数值范围布尔布尔布尔布尔bool false,truebool false,truebool false,truebool false,true字节字节字节字节charcharcharchar8 -
2、1288 -1288 -1288 -128127127127127短整数短整数短整数短整数shortshortshortshort16161616-32768-32768-32768-3276832767327673276732767-2-2-2-215151515(2 2 2 215151515-1-1-1-1)长整数长整数长整数长整数longlonglonglong32323232-2-2-2-231313131(2(2(2(231313131-1)-1)-1)-1)无符号无符号无符号无符号bytebytebytebyte8 8 8 80 0 0 0256256256256unsigned
3、 shortunsigned shortunsigned shortunsigned short161616160 0 0 065535655356553565535(2 2 2 216161616-1-1-1-1)unsigned intunsigned intunsigned intunsigned int323232320 0 0 0(2(2(2(232323232-1)-1)-1)-1)unsigned longunsigned longunsigned longunsigned long323232320 0 0 0(2(2(2(232323232-1)-1)-1)-1)数据类型 i
4、nt int 类型类型int 类型与操作系统有关有关。Windows 3.0 内核,为 16位Win32 内核,为32位未来 64系统中(Vista),将为 64位int 有关的数据类型int unsigned int 数据类型 浮点数据及取值范围浮点数据及取值范围 float 32位位#define FLT_MAX 3.402823466e+38F/*max value*/=3.402823466 1038F表示单精度浮点数:保证小数点后表示单精度浮点数:保证小数点后7位精度位精度 double 64位位#define DBL_MAX 1.7976931348623158e+308=1.79
5、76931348623158 10308双精度数:保证小数点后双精度数:保证小数点后15位精度位精度数据类型的转换整数间转换byte a=100;unsigned long b =(unsigned long)a;/强制类型转换强制类型转换byte c=(byte)b;/需要注意精度损失的问题需要注意精度损失的问题浮点数与整数转换float a=3.1415926f;int b=(int)a;/b=3如何实现四舍五入?int b=(int)(a+0.5f);变量的存储类型auto属于一时性存储,其存储空间可以被若干变量多次覆盖使用。register存放在通用寄存器中。extern在所有函数和程
6、序段中都可引用。static在内存中是以固定地址存放的,在整个程序运行期间都有效。关系运算与关系表达式关系运算是比较简单的一种逻辑运算,优先次序为:=!=优先级相同(高)优先级相同(低)关系表达式是一种最简单的逻辑表达式其结果类型为 bool,值只能为 true 或 false。例如:a b,c b)&(x y)其结果类型为 bool,值只能为 true 或 false条件运算符与条件表达式一般形式表达式表达式1 1?表达式表达式2 2:表达式表达式3 3表达式1 必须是 bool 类型执行顺序先求解表达式1,若表达式1的值为true,则求解表达式2,表达式2的值为最终结果若表达式1的值为fa
7、lse,则求解表达式3,表达式3的值为最终结果例:x=(ab)?a:b;sizeof 运算符语法形式sizeof(类型名)或 sizeof(表达式)结果值:“类型名”所指定的类型或“表达式”的结果类型所占的字节数。例:sizeof(short)sizeof(x)位运算按位与(&)AND运算规则将两个运算量的每一个位进行逻辑与操作举例:计算 3&5 3:0 0 0 0 0 0 1 1 5:(&)0 0 0 0 0 1 0 13&5:0 0 0 0 0 0 0 1用途:将某一位置0,其他位不变。例如:将char型变量a的最低位置0:a=a&0376;取指定位。例如:有char c;int a;取出
8、a的低字节,置于c中:c=a&0377;位运算按位或(|)OR运算规则将两个运算量的每一个位进行逻辑或操作举例:计算 3|5 3:0 0 0 0 0 0 1 1 5:(|)0 0 0 0 0 1 0 13|5:0 0 0 0 0 1 1 1用途:将某些位置1,其他位不变。例如:将 int 型变量 a 的低字节置 1:a=a|0 xff;位运算按位异或()XOR运算规则两个操作数进行异或:若对应位相同,则结果该位为 0,若对应位不同,则结果该位为 1,举例:计算 071052 071:0 0 1 1 1 0 0 1 052:()0 0 1 0 1 0 1 0 071052:0 0 0 1 0 0
9、 1 1位运算按位异或()XOR用途:使特定位翻转(与0异或保持原值,与1异或取反)例如:要使 01111010 低四位翻转:0 1 1 1 1 0 1 0 ()0 0 0 0 1 1 1 10 1 1 1 0 1 0 1 位运算取反()NOT单目运算符,对一个二进制数按位取反。例:025:0000000000010101 025:1111111111101010位运算移位 SHIFT左移运算()左移后,低位补0,高位舍弃。例:83 3 0 x53 3 0101 0011)右移后,低位舍弃,高位补0或补“符号位”例:1524 0 x984 1001 1000 4 0000 1001 9高位舍弃
10、高位舍弃低位舍弃低位舍弃低位补低位补0高位补高位补0运算符分类1.算术运算符 加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+)、自减(-)共七种。2.关系运算符 大于()、小于(=)、小于等于(=)和不等于(!=)六种。3.逻辑运算符 与(&)、或(|)、非(!)三种。4.位操作运算符 位与(&)、位或(|)、位非()、位异或()、左移()六种。5.赋值运算符 赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,,.)等几种。运算符优先级括号+,-,sizeof*,/,%+,-=,!=位运算&|?:赋值运算=逗号运算,思考:i
11、nt x=1,y=0;bool z=!x&x+y&+y;高低bool z=(!x)&(x+y)&(+y);(!1)&(1+0)&(1)0#include using namespace std;int main()int year;bool IsLeapYear;cout year;IsLeapYear=(year%4=0&year%100!=0)|(year%400=0);if(IsLeapYear)cout year is a leap year“endl;else cout year is not a leap year“endl;例2-2:输入一个年份,判断是否闰年运行结果:运行结果:
12、Enter the year:2000Enter the year:20002000 is a leap year2000 is a leap year#include using namespace std;int main()int day;cin day;switch(day)case 0:coutSundayendl;break;case 1:coutMondayendl;break;case 2:coutTuesdayendl;break;case 3:coutWednesdayendl;break;case 4:coutThursdayendl;break;case 5:coutF
13、ridayendl;break;case 6:coutSaturdayendl;break;default:coutDay out of range Sunday.Saturdayendl;break;例2-4:输入一个06的整数,转换成星期运行结果:运行结果:2 2Tuesday例2-7:用 do-while 语句编程程序程序1 1:#includeusing namespace std;int main()int i,sum(0);cini;while(i=10)sum+=i;i+;coutsum=sum endl;程序程序2 2:#includeusing namespace std;i
14、nt main()int i,sum(0);cini;do sum+=i;i+;while(i=10);coutsum=sum endl;break 和 continue 语句break 语句使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。continue 语句结束本次循环,接着判断是否执行下一次循环。C+编译器Microsoft Visual C+6.0bloodshed dev-c+,使用gnugcc 编译,可以和cygwin等基于gcc的编译器。正式版本最新4.9.9.2 http:/ 此此课件下件下载可自行可自行编辑修改,修改,仅供参考!供参考!感感谢您的支持,我您的支持,我们努力做得更好!努力做得更好!谢谢!