c++简单程序设计(二)
1.数据的输入与输出
(1)I/O流
标准输出设备
cout<<表达式<<表达式
标准输入设备
cin>>表达式>>表达式
(1)if语句的语法形式
if(表达式)语句
例:if(x>y)cout <<x;
if (表达式) 语句1 else 语句2
例:if(x>y) cout << x;
else cout <<y;
if(表达式1) 语句1
else if(表达式2) 语句2
......
else 语句 n
例子:输入两个整数,比较两个数的大小
#include"iostream"
using namespace std;
int main(){
int x,y;
cout<<"Enter x and y:";
cin >>x>>y;
if(x!=y)
if(x>y)
cout<<"x>y"<<endl;
else
cout<<"x<y"<<endl;
else
cout<<"x=y"<<endl;
return 0;
}
(2)嵌套的if结构
语法形式:
if( )
if( )语句1
else 语句 2
else
if( )语句3
else 语句 4
3.switch语句
例子:
#include"iosteram"
using namespace std;
int main(){
int day;
cin >>day;
switch (day){
case 0:cout<<"Sunday"<<endl; break;
case 1:cout<<"Monday"<<endl; break;
case 2:cout<<"Tuesday"<<endl; break;
case 3:cout<<"Wednesday"<<endl; break;
case 4:cout<<"Thursday"<<endl; break;
case 5:cout<<"Friday"<<endl; break;
case 6:cout<<"Saturday"<<endl; break;
default:
cout<<"Day out of rang Sunday ..Saturday"<<endl; break;
}
return 0
}
switch语句的语法
switch 语句的语法:
switch (表达式)
{
case 常量表达式1: 语句1
case 常量表达式2: 语句2
case 常量表达式n: 语句n
default: 语句n+1
}
4.循环结构——while语句
例:求自然数1~10之和
#included"iostream"
using namespace std;
int main()
{
int i=1,sum=0;
while(i<=10){
sum+=i;//相当于sum=sum+i;
i++;
}
cout <<"sum="<<sum<<endl;
return 0;
}
while语句的语法形式
while(表达式) 语句
执行顺序
先判断表达式的值,若为true时,执行语句。
5.for语句
例:输入一个人整数,求出它的所有因子
#include"iostream"
using namespace std;
int main()
{
int n;
cout<<"Enter a positive integer:";
cin>>n;
cout<<"Number"<<n<<"Factor";
for(int k=1;k<=n;k++)
if(n%k==0)
cout<<k<<" ";
cout << endl;
return 0;
}
运行结果1:
Enter positive integer:36
Number 36 Factors 1 2 3 4 6 9 12 18 36
运行结果2:
Enter positive integer:7
Number 36 Factors 1 7
for(初始语句;表达式1;表达式2)语句
6.do–while
例:输入一个数,将各位数字反转后输出
#include"iostream"
using namespace std;
int main(){
int n,rigth_digit,nwenum=0;
cout<<"Enter the number:";
cin>>n;
cout<<"The number in reverse order is";
do{
right_dight=n%10;
cout<<right_digit;
n/=10;
}while(n!=0);
cout<<endl;
}
运行结果:
Enter the number:365
The number in reverse order is 563
do----while语句的语法形式
do 语句
while(表达式)
执行顺序
先执行循环体语句,后判断条件。
表达式为true时,继续执行循环体
7.嵌套的控制结构、其他控制语句
例:输入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束
#include"iostream"
using namespace std;
int mian(){
int i=0,j=0,n;
cout<<"Enter some integers please(enter 0 to quit):"<<endl;
cin >> n;
while(n!=0){
if(n>0) i+=1;
if(n<0) j+=1;
cin >> n;
}
cout<<"count of positive integers:"<< i << endl;
cout<<"Count of negative integers:"<< j << endl;
return 0;
}
其他控制语句
break语句
使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。
不宜用在别处
continue语句
结束本次循环,接着判断是否执行下一次循环
8.自定义类型
类型别名:为已有类型另外命名
typedef 已有类型名 新类型名表
typedef double Area,Volume;
typedef int Natual;
Natural i1,i2;
Area a;
Volum v;
枚举类型
定义方式:
将全部可取值———列举出来
语法方式:
enum 枚举类型名 {变量值列表}
enum Weekday
{SUN,MON,TUE,WED,THU,FRI,SAT}
#include"iostream"
using namespace std;
enum GameResult{WIN,LOSE,TIE,CCANCEL};
int main(){
GeamResult result;
ebum GameResult omit =CANCEL;
for(int count=WIN;count<=CANCLE;count++){
result=GameResult(count);
if(result==omit)
cout<<"The game was cancelled"<<endl;
else{
cout<<"The game was played";
if(result==WIN) cout <<"and we won!";
if(result==LOSE) cout<<"and we lost.";
cout<<endl;
}
}
return 0;
}
auto类型与dacltype类型
auto:编译器通过初始值自动推断变量的类型
例如:auto val =val1+val2
如果val1+val2时int类型,则val是int类型
如果val1+val2是double类型,则val是double类型
```c
t<<"The game was played";
if(result==WIN) cout <<"and we won!";
if(result==LOSE) cout<<"and we lost.";
cout<<endl;
}
}
return 0;
}
auto类型与dacltype类型
auto:编译器通过初始值自动推断变量的类型
例如:auto val =val1+val2
如果val1+val2时int类型,则val是int类型
如果val1+val2是double类型,则val是double类型