C++概述与流程控制

1.C++是面向对象的程序设计语言,面向对象程序设计的基本概念是对象和类,源代码后缀为.cpp;
1.0-C++是利用流进行输入输出的,用于输入输出的流库包含在头文件iostream.h中;
1.1-在iostream.h中定义了用于输出的运算符<<,使用<<和输出流cout可进行如下操作:
(1)在屏幕上输入字符和数字;
a.输出整数时,默认是以十进制输出,可以使用修正符dec,oct或hex说明以何种进制输出数据;
b.用dec说明以十进制输出;
c.用oct说明以八进制输出;
d.用hex说明以十六进制输出;
例:数据以各种进制输出;
#include <iostream.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */

int main()
{
cout<<“将10输出为八进制数:”<<oct<<10<<endl;

cout<<“将10输出为十六进制数:”<<hex<<10<<endl;

cout<<“将10输出为十六进制数:”<<10<<endl;

cout<<“将10输出为十进制数:”<<dec<<10<<endl;

cout<<“将10输出为十进制数:”<<10<<endl;

return 0;

}

将10输出为八进制数:12
将10输出为十六进制数:a
将10输出为十六进制数:a
将10输出为十进制数:10
将10输出为十进制数:10


Process exited after 0.1167 seconds with return value 0
请按任意键继续. . .

注:一旦使用了进制修正符之后,该修正符的作用一直延续到程序的结束,或者遇到另一个修正符;
(2)可以利用修正符setw(int)指定数据或字符占用的宽度,可以利用修正符setprecision(int)指定浮点数的有效数字;
a.这些修正符的定义说明包含在iomanip.h文件中;
b.setw只对紧跟他的数值有效,因此,如果要为多个数值设定不同宽度必须多次使用setw;
例:
#include <iostream.h>
#include <iomanip.h>
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
using namespace std;
int main()
{
cout<<setw(2)<<“AB”<<setw(4)<<“AB”<<setw(5)<<“AB”<<endl;

cout<<setw(3)<<123<<setw(5)<<123<<setw(6)<<"123"<<endl;

cout<<setprecision(4)<<23.45678<<endl;
 	
cout<<setprecision(5)<<23.45678<<endl;
	
cout<<setprecision(5)<<setw(8)<<23.45678<<endl;

return 0;

}

AB AB AB
123 123 123
23.46
23.457
23.457


Process exited after 0.1205 seconds with return value 0
请按任意键继续. . .

(3)实现tab键,换行键等控制键的功能;
(4)可利用操作系统命令行的重定向运算符,将程序结果输出到文件或打印机上;
(5)利用输出流cerr,可将程序运行时出现的错误信息输出到记录错误的文件中;
1.2-使用输入流cin;
#include <iostream.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */

int main()
{
int first,second;
char letter;
cout<<“Type two numbers and press Enter:”;
cin>>first>>second;
cout<<“The type numbers were:”<<first<<“and”<<second<<endl;
cout<<“Type any character and press Enter:”;
cin>>letter;
cout<<“The typed numbers was”<<letter<<endl;
return 0;
}

Type two numbers and press Enter:2 6
The type numbers were:2and6
Type any character and press Enter:5
The typed numbers was5


Process exited after 10.66 seconds with return value 0
请按任意键继续. . .

2.C++包含面向对象的4个重要特征:
a.封装 b.数据隐蔽 c.继承 d.多态
在这里插入图片描述
例一:
#include <iostream.h>
using namespace std;//为了防止重名;
int main()
{
cout<<“学员们,你们好!”<< endl;//cout相当于printf;endl代表结束,换行;
return 1;
}

3.常量有不同的类型:如12,-23为整型常量,12.3为浮点常量,'A’为字符常量,“ABCD”为字符串常量,另外还可以用符号表示常量;其值为在程序运行中保持不变的量;

3.0-字符常量(占一个字节的存储空间):字符常量是用单引号括起来的一个字符;-‘a’,’%’,’!’字符常量可参与算术运算;
用于表示单个字符,可以直接在单引号中写出某个字符,或者用转义字符表示一些特殊字符,如回车,换行等,还可以用字符的编码表示字符,字符编码要写成三位八进制数形式或两位十六进制形式,如八进制数‘\101’和十六进制‘\x41’都代表字符A;

3.1-实型常量:表示带小数的数值常量,实型常量又称为浮点常量或实数,只有十进制形式,例0.123,-123.0,-12.3等都是实型常量,实型常量还可以用科学技术法(指数形式)表示,如1.23e2,-1.23E2;

3.2-转义字符:以反斜杠‘\’开头,后可跟一个或多个字符;
C++转义字符的表示方式和代表的含义(所有的转义字符都以反斜线\开始):
转义字符 含义 对应ASC码
\b 退格 \x08
\t 水平制表符tab \x09
\n 换行 \x0a
\f 换页 \x0c
\r 回车 \x0d
" 双引号 \x22
’ 单引号 \x27
\ 反斜线 \x5c
\ddd 用3位8进制数表示字符
\xff 用2位16进制数表示字符

3.3-字符串常量(存储时末尾自动生成’\0’)是由一对双引号括起来的字符序列;-“$12.5”;字符串中可以包含转义字符,可以用连接符(+)将多个字符串连接起来,组成更长的字符串,如:“ABC”+“DE”;

3.4-符号常量:用一个标识符表示数据,定义符号常量常用两种方法,一种是用#define定义,另外一种是用关键字const定义;
(1)#define 常量名 字符串
#define的作用是通知编译预处理程序,将程序中出现的常量名替换为对应的字符串,如,下面定义的含义是:用符号students表示字符串36,注意这里的36是字符串不是数值;
#define students 36
(2)const 类型 常量名=常数;
例如:const int students=36;

4.-变量说明形式:类型 <变量表>;
注:其中变量表是一个或多个标识符;

4.0-标识符:用来标识变量名,符号常量名,函数名,数组名,类型名,文件名等的有效字符序列,变量是存储数据的地方,变量中存储的数据可以被访问和修改;

4.1-C++中可以使用typedef语句为数据类型命名,即给某个数据类型再取一个名字;
typedef int ust;
ust length=38,width=10;

4.2-字符变量:
a.类型说明符char;
b.存储形式与整型数据的存储相似,可以以字符形式输出也可以以整数形式输出,甚至参与运算;

5.C++语言标准规定:
a.由字母,数字,下划线组成
b.第一个字符必须是字母或者下划线
c.不能使用保留字;

6.数据类型装换
相同类型的数据可以直接运算,不同类型的数据进行运算时,首先要将数据转换为同一类型,然后再进行运算,数据类型转换分为自动转换和强制转换两种,自动转换从低到高的转换规则
如下:低char-int-long-unsigned-float-double;自动转换只能按照规定的方向进行转换,通过强制转换可以转换成指定类型:(数据类型)数据;
例:int k=4;
double x=3.5,y;
y=x+(double)k;//首先将k强制转换成double类型,然后与x相加;

7.使用运算符需注意以下几点:
(1).只有整型数据才能进行取余(%)运算;
(2).两个整数做除法运算结果仍为整数,1/2=0,如果希望保留小数部分则需((float)1)/2;
(3).运算符==与!=的运算优先级低于其他关系运算符;
(4).优先级从大到小:!>&&>||;
(5).参与位运算的数据如果是负数则要用补码表示;
(6).赋值运算符=的运算顺序是从右向左
(7).条件运算符?:(表达式1?表达式2:表达式3)如果表达式1为真则整个表达式值为表达式2的值,反之为表达式3的值;

8.十进制小数形式:
8.1-必须有小数点,或者最后加上f或F;0.1;20.0;.5;300.;356f
8.2-指数形式:a E n(a为十进制小数,n为十进制整数)=a10的n次方;

例二:
#include<iostream.h>
using namespace std;

int main()
{
int a,b,c,d;
unsigned uf;//正整型
a=10;
b=-20;
uf=15;
c=a+uf;
d=b+uf;
cout<<“a+uf=”<<c<<endl;
cout<<“b+uf=”<<d<<endl;
return 0;
}

例三:
#include<iostream.h>
using namespace std;
class rect//建立计算矩阵面积的rect类
{
public:
int area(int a,int b)
{
return ab;
}
};
int main()
{
rect s;//建立rect类的对象s
cout<<s.area(3,9)<<endl;//通过对象s计算矩形面积
return 0;
}

9.class是面向对象中声明的类;类是一组数据和对这些数据的操作(函数)的封装;类中还可有访问的权限的控制,其中private只能由类外的成员函数访问;public可以由类外的成员函数访问;protected是受保护的数据成员,在他的子类中(从此类继承产生的类),protect相当于private,也就是其子类的成员函数可以访问,而其他的类中的成员函数不能访问;如果不进行声明,class默认的成员变量访问控制为private,struct默认的数据变量访问控制为public,总而言之,struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。

10.c++的字符集:
a.~:按位取反运算符
b.&:按地址或按位与运算符,也是引用说明符;
c.^:按位异或运算符;
d.?:条件表达式运算符;
e.#:预处理命令行的开始标记;
f.-:只在标识符中使用;
注:在c++的字符串中可以使用ASC码中的任何字符,即使是汉字也可以在c++的字符串中使用;

11.c++程序的执行
一个c++程序需要经过编写,编译,连接和执行等几个环节,常见的c++集成开发环境有Turbo C++,Borland C++,MS C++,GNU C++,visual C++等;
程序编写完后,要得到c++程序的运行结果,需要使用c++编译程序对程序进行编译,得到目标程序,再把程序连接成可执行文件。运行可执行程序,便能得到运行结果,ello在c++集成开发环境中,只要执行某个菜单命令
就可以完成这些工作,例如,将hello.cpp程序转变成可执行程序hello.exe,不同的UNIX开发环境有着不同的命令。
(1)在DOS操作系统中使用Turbo c++开发环境,可以输入命令:tcc hello.cpp
(2)在DOS操作系统中使用Borland C++开发环境,可以输入命令:bcc hello.cpp或者bc hello.cpp
(3)在UNIX(如Linux)操作系统下,可以输入命令:g++ hello.cpp或cc hello.cpp

12.用sizeof()运算符测试C++各种数字类型占用的字节数
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */

int main()
{
cout<<“the size of an int is:” <<sizeof(int)<<“bytes.\n”;

cout<<"the size of an short is:" <<sizeof(short)<<"bytes.\n";

cout<<"the size of an long is:" <<sizeof(long)<<"bytes.\n";

cout<<"the size of an char is:" <<sizeof(char)<<"bytes.\n";

cout<<"the size of an float is:" <<sizeof(float)<<"bytes.\n";

cout<<"the size of an double is:" <<sizeof(double)<<"bytes.\n";

return 0;

}

the size of an int is:4bytes.
the size of an short is:2bytes.
the size of an long is:4bytes.
the size of an char is:1bytes.
the size of an float is:4bytes.
the size of an double is:8bytes.


Process exited after 0.1398 seconds with return value 0
请按任意键继续. . .

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值