第一章:C++概述
1.2 简单的C/C++程序实例
- 例:输入圆的半径,求面积
//输入圆的半径,求面积
#include <iostream>
using namespace std;
#define PI 3.14
int main()
{
double r;
cin>>r;
double s=PI*r*r;
cout<<s<<endl;
system("pause");
return 0;
}
第二章 基本数据类型、运算符和表达式
例:符号常量的应用
#include <iostream>
#define PI 3.14
using namespace std;
int main()
{
float r = 3.0, s, l;
l = 2 * PI * r;
s = PI * r * r;
cout << "l=" << l << ",s=" << s << endl;
system("pause");
return 0;
}
例:逻辑运算
#include <iostream>
using namespace std;
int main()
{
int m, n = 10;
m = 2 && n++;
cout << "m=" << m << ",n=" << n;
system("pause");
return 0;
}
输出结果:
m=1,n=11请按任意键继续. . .
#include <iostream>
using namespace std;
int main()
{
int m, n = 10;
m = 0 && n++;
cout << "m=" << m << ",n=" << n;
system("pause");
return 0;
}
输出结果:
m=0,n=10请按任意键继续. . .
例:条件运算
对n个人进行分班,每班k>0个人,最后不足k人也编成一个班,问要编成几个班?
\\先算n/k 再加1的
n%k>0?n/k+1:n/k
例:要求输入的直角三角形的斜边和一条直角边,求三角形另外一条直角边、周长和面积
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
float a,b,c;
double l,s;
cout<<"输入斜边、直角边长:";
cin>>c>>a;
b=sqrt(c*c-a*a);
l=a+b+c;
s=(a*b)/2;
cout<<"计算结果L:"<<endl;
//setw()用于输出间隔
cout<<setw(8)<<"另一直角边="<<b<<endl<<setw(11)<<"周长"<<l<<endl<<setw(11)<<"面积"<<s<<endl;
system("pause");
return 0;
}
例:输入三位数,依次输入该数的正(负)号和百位、十位、个位数字
include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
int c1,c2,c3;
char c4;
int x;
cin >>x;
c4=x>=0?'+':'-';//x符号存入C4
x=abs(x);
c3=x%10;
x=x/10;
c2=x%10;
c1=x/10;
cout<<"数符 百位数 十位数 个位数"<< endl;
cout<<setw(2)<<c4<<setw(8)<<c1<<setw(8)<<c2<<setw(8)<<c3<<endl;
system("pause");
}
第三章 结构化程序设计
3.1 顺序结果
例:输入x,y,使得x>y 大的数存放在x中小的数存放在y 中
if语句
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
int x,y,t;
cout<<"输入x y"<< endl;
cin >> x>>y;
if (x>y)
{
t=x;x=y;y=t;
}
cout<<"小:"<<x<<"大:"<<y<<endl;
system("pause");
return 0;
}
if else 语句
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
int x,y,max,min;
cout<<"输入x y"<< endl;
cin >> x>>y;
if (x>y)
{
max=x;min=y;
}
else
{
max=y;min=x;}
cout<<"min:"<<min<<"max:"<<max<<endl;
system("pause");
return 0;
}
例:计算分段函数
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
int x = 0, y;
cout << "x,y=" << endl;
cin >> x;
if (x != 0)
{
y = sin(x) + sqrt(x * x + 1);
}
else
{
y =cos(x) - x * x + 3 * x;
}
cout << "y=" << y << endl;
}
例:40岁以下男教工——A组;40岁以上男教工——B组;40岁以下女教工——C组;40岁以上女教工——D组;输入某教工的性别及年龄,输出其组别。
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
char sex,group;
int age;
cout<<"input'f'or'm'and age="<<endl;
cin>>sex>>age;
if (sex=='m')
if (age<40)
group ='A';
else
group ='B';
else
if (age<40)
group='c';
else
group='D';
cout<<"group="<<group<<endl;
}
例:已知x,y,z三个数使得x>y>z 用if 和嵌套的if语句实现
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
int x,y,z,t;
cout<<"x,y,z="<<endl;
cin>>x>>y>>z;
if(x<y)
{
t=x;x=y;y=t;}
if(y<z)
{
t=y;y=z;z=t;
if(x<y)
{
t=x;x=y;y=t;}
}
cout<<"x="<<x<<"y="<<y<<"z="<<z<<endl;
}
例:用switch语句实现百分制成绩向五级制成绩的转换
#include<iostream>
#include<iomanip>
#include "math.h"
using namespace std;
int main()
{
int mark;
char grade;
cout<<"input mark(0-100):"<<endl;
cin>>mark;
switch (mark/10)
{
case 10:
case 9:grade='A';break;
case 8:grade='B';break;
case 7:grade='C';break;
case 6:grade='D';break;
default:grade='E';
}
cout<<"mark:"<<mark<<",grade="<<grade<<endl;
system("pause");
return 0;
}
4.1 循环语句的基本形式
例:求1-99奇数和,即s=1+3+5+…+99
(while 语句)
#include<iostream>
#