1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错
/*****************************************
**功能:显示输出各种整型变量所占的字节数**
******************************************/
#include<iostream>
using namespace std;
int main()
{
cout<<"number of bytes in int is:"<<sizeof(int)<<endl;
cout<<"number of bytes long int is:"<<sizeof(long)<<endl;
cout<<"number of bytes short int is:"<<sizeof(short)<<endl;
return 0;
}
例2.1
/*****************************************
** 功能:布尔类型使用举例 **
******************************************/
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
bool flag=true;
cout<<flag<<endl;
cout<<boolalpha<<flag<<endl;
cout<<flag+5<<endl;
flag=0;
cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
flag=0.0;
cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
return 0;
}
例2.2
/*****************************************
** 功能:赋值表达式语句举例 **
******************************************/
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
a=4;
b=a;
a=5;
c=d=6;
c*=a;
d%=a+b;
cout<<"a="<<a<<endl
<<"b="<<b<<endl
<<"c="<<c<<endl
<<"d="<<d<<endl;
return 0;
}
例2.3
/*****************************************
** 数据溢出举例 **
******************************************/
#include<iostream>
using namespace std;
int main()
{
short i,j,m,n;
i=1000;
j=1000;
m=i+j;
n=i*j;
cout<<"m="<<m<<endl;
cout<<"n="<<n<<endl;
return 0;
}
例2.4
/*****************************************
** ++运算举例 **
******************************************/
#include<iostream>
using namespace std;
int main()
{
int i=6,j,k;
j=++i;
k=i++;
++i=1;
cout<<"i="<<i<<endl
<<"j="<<j<<endl
<<"k="<<k<<endl;
return 0;
}
例2.5
/*****************************************
程序要求用户输入一个字符,如果这个字符是小写
字母,将这个字符转换成大写字母,否则字符不变
******************************************/
#include<iostream>
using namespace std;
int main()
{
char ch;
cout<<"please input a character:";
cin>>ch;
ch=ch>='a'&&ch<='z'?ch-'a'+'A':ch;
cout<<"The result is:"<<ch<<endl;
return 0;
}
例2.6
/*****************************************
**指出下列程序代码段中每条语句的执行结果**
******************************************/
#include<iostream>
using namespace std;
int main()
{
char ch='c';
int a,b=13;
float x,y;
x=y=2.0;
a=ch+5;
x=b/2/x;
y=b/y/2;
cout<<"ch="<<ch<<endl
<<"a="<<a<<endl
<<"b="<<b<<endl
<<"x="<<x<<endl
<<"y="<<y<<endl;
return 0;
}
例2.7
/*****************************************
** 强制类型转换示例 * *
******************************************/
#include<iostream>
using namespace std;
int main()
{
int ab,ac;
double b=3.14;
char c='A';
ab=int(b);
ac=int(c);
cout<<"b="<<b<<endl
<<"ab="<<ab<<endl
<<"c="<<c<<endl
<<"ac="<<ac<<endl;
return 0;
}
2. 编写程序计算并输出课本本章习题 3 表达式的值并分析结果。
(1)
#include<iostream>
#include<math.h>
using namespace std;
int main()
{ int e=1,f=4,g=2;
float m=10.5,n=4.0,k;
k=(e+f)/g+sqrt((double)n)*1.2/g+m;
cout<<"k="<<k<<endl;
return 0;
}/*结果为13.7*/
(2)
#include<iostream>
#include<math.h>
using namespace std;
int main()
{ float x=2.5,y=4.7;
int a=7;
cout<<x+a%3*(int(x+y)%2)/4<<endl;
return 0;
}
/*最后结果为2.5*/
3. 编写程序输入一个三角形的三条边,计算其面积和周长;
#include<iostream>
#include<math.h>
using namespace std;
int main()
{double a,b,c, s,p;
cout<<"请输入三角形的三条边:"<<endl;
cin>>a>>b>>c;
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"三角形的周长是:"<<endl;
cout<<p*2<<endl;
cout<<"三角形的面积是:"<<endl;
cout<<s<<endl;}
else
cout<<"输入的三条边不能形成三角形,请重新输入"<<endl;
return 0;
}
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出
#include<iostream>
#include<math.h>
using namespace std;
int main()
{float a,b,c,p,x1,x2;
cout<<"请输入一元二次方程的三个系数:"<<endl;
cin>>a>>b>>c;
p=b*b-4*a*c;
if(p<0)
cout<<"该方程无解"<<endl;
if(p==0)
cout<<"x1=x2="<<(-b+sqrt(p))/(2*a)<<endl;
if(p>0)
{x1=(-b+sqrt(p))/(2*a);
x2=(-b-sqrt(p))/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;}
return 0;
}
5.加密
#include<iostream>
using namespace std;
int main()
{
char a[50],b[50];
int i;
cout<<"输入姓名拼音"<<endl;
cin.get(a,50);
cout<<"加密后"<<endl;
for(i=0;i<50;i++)
{
if(a[i]==0)
{
break;
}
b[i]=a[i];
b[i]=b[i]+5;
cout<<b[i];
}
cout<<endl;
return 0;
}