一、数据输入与输出
标准输入输出 | cin(标准输入) |
cout(标准输出) | |
cerr(不带缓存的标准错误输出) | |
clog(带缓存的标准错误输出) | |
文件输入输出 | ifstream(读文件) |
ofstream(写文件) | |
fstream(读写文件) | |
字符串输入输出 | istringstream(字符串输入流) |
ostringstream(字符串输出流) | |
stringstream(字符串输入输出流) |
1、cout输出流
(1)头文件中
#include <iostream>
(2)应用
格式:cout<<表达式1<<表达式2<<表达式n;
cout<<"Hello World!"<<"welcome!\n";
cout<<"Hello World!"<<"Welcome!"<<endl;
cout输出内容也可分多行书写
cout<<"This is"
<<"an"
<<"apple!"
<<endl;
(3)输出数据的格式控制
引入头文件<iomainip>
控制符 | 有效期 | 用途 |
endl | 一次 | 相当于\n |
dec | 自设定后一直有效 | 设定数值按十进制输出 |
oct | 自设定后一直有效 | 设定数值按八进制输出 |
hex | 自设定后一直有效 | 设定数值按十六进制输出 |
fixed | 自设定后一直有效 | 浮点数按照定点方式输出 |
showpoint | 自设定后一直有效 | 浮点数输出时显示小数点 |
setw(...) | 一次 | 设定数值输出的位数 |
setprecision(...) | 自设定后一直有效 | 设定浮点数小数点后的位数 |
setfill(...) | 自设定后一直有效 | 设定数值前填充的字符 |
2、cin输入流的使用
(1)程序头文件
#include <iostream>
(2)应用
float a = -1;
int b = -1;
cin>>a>>b;
输入时,以空格隔开
字符型数据的输入:
char c1,c2;
int a;
float b;
cin>>c1>>c2>>a>>b;
cout<<c1<<endl<<c2<<endl<<a<<endl<<b<<endl;
输入:1234 56.78
输出:
1
2
34
56.78
字符串数据的输入:
char str1[16];
cin>>str1;
cout<<str1<<endl;
输入:Welcome to China!
输出:Welcome
二、选择语句
1、if选择语句基本形式
if (表达式)
语句1
else
语句2
多条语句时加{}
2、if选择语句嵌套选择结构
if(表达式1)
if(表达式2) 语句1
else 语句2
else
if(表达式3) 语句3
else 语句4
3、if...else if语句
if (表达式1) 语句1
else if (表达式2) 语句2
else if (表达式3) 语句3
...
else 语句n
4、switch语句
switch(表达式)
{
case 常量表达式1:语句1
case 常量表达式2:语句2
...
case 常量表达式n:语句n
deflaut: 语句 n+1
}
三、循环结构
1、while语句
while(表达式) {语句}
whlie(getchar()!="\n") n++;
getchar()!="\n"
从键盘输入字符
2、do-whlie
do
{语句}
while(表达式);
3、for
for(表达式1;表达式2;表达式3) 语句
4、break和continue
break:终止循环
continue:进行下一次循环
四、自定义数据类型
1、typedef声明
typedef 已知类型名 新类型名;
typedef double d1,d2;
2、枚举类型enum
enum 枚举类型名 {枚举常量值表列};
enum days{Mon,Tue,Wed,Thur,Fri,Sat,Sun};//定义一个枚举类型days
days today = Mon;//定义枚举类型days的变量today
3、结构体类型struct
struct 结构体类型名 {成员表列};
struct date
{
int month;
int day;
int year;
}
date.year = 1000;//引用结构体变量中一个成员的值
4、联合体类型union
联合体内的成员共享同一段内存,整个联合体占用内存单元的大小取决于最长的成员的大小
union 共用体类型名{成员表列};
union mix_t
{
long l;
struct
{
short hi;
short lo;
}s;
char c[4];
}mix;