1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。
2.编写程序输入一个三角形的三条边,计算其面积和周长;
3.编写程序计算并输出课本本章习题3表达式的值并分析结果。
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。
5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。
6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。
7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。
#include<iostream>
using namespace std;
int main()
{
cout<<"整型:"<<sizeof(int)<<endl;
cout<<"长整型:"<<sizeof(long)<<endl;
cout<<"短整型:"<<sizeof(short)<<endl;
cout<<"单精度:"<<sizeof(float)<<endl;
cout<<"双精度:"<<sizeof(double)<<endl;
cout<<"扩展双精度:"<<sizeof(long double)<<endl;
cout<<"字符型:"<<sizeof(char)<<endl;
cout<<"布尔型:"<<sizeof(bool)<<endl;
cout<<"空类型:"<<sizeof(void)<<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.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
<<"n="<<n<<endl;
long a,b,c,d;
a=1000;
b=1000;
c=a+b;
d=a*b;
cout<<"c="<<c<<endl
<<"d="<<d<<endl;
return 0;
}
例2.4
#include<iostream>
using namespace std;
int main()
{
int i=6,j,k,temp;
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<<"a=:"<<a<<endl;
cout<<"x=:"<<x<<endl;
cout<<"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;
cout<<"ab="<<ab<<endl;
cout<<"c="<<c<<endl;
cout<<"ac="<<ac<<endl;
return 0;
}
三角形周长与面积
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float a,b,c,t;
double D,S;
shuru:
cout<<"输入三角形的三条边:";
cin>>a>>b>>c;
if (a+b<c||a+c<b||b+c<a)
{
cout<<"不能构成三角形!"<<endl;
goto shuru;
}
else
{
D=a+b+c;
t=D/2;
S=sqrt(t*(t-a)*(t-b)*(t-c));
cout<<"直径="<<D<<endl
<<"面积="<<S<<endl;
}
return 0;
}
#include<iostream>
#include<cmath>
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;
}
k为13.7
#include<iostream>
using namespace std;
int main()
{
float x=2.5,y=4.7,g;
int a=7;
g=x+a%3*(int(x+y)%2)/4;
cout<<"g=:"<<g<<endl;
return 0;
}
g为2.5
一元二次方程
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a,b,c,x1,x2,D,p,q,F,G;
cout<<"请输入a,b,c的值:";
cin>>a>>b>>c;
D=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(D)/(2*a);
x1=p+q;
x2=p-q;
if(D<0)
{
F=sqrt(-D)/(2*a);
G=-b/(2*a);
cout<<"方程的虚根为:"<<endl;
cout<<"x1= "<<G<<"+"<<"("<<G<<")"<<"*i"<<endl;
cout<<"x2= "<<G<<"-"<<"("<<G<<")"<<"*i"<<endl;
}
else
cout<<"方程的实根为:"<<x1<<'\t'<<x2<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int i;
char name[20],m;
cout<<"输入名字的拼音:"<<endl;
cin.get(name,20);
for (i=strlen(name);i>0;i--)
{
m=name[i]+5;
cout<<"结果:"<<m<<endl;
}
return 0;
}
完成三角形的那道题,自学到挺多东西的,例如goto语句和if语句,下次遇见有循环结构的程序设计会尝试使用while语句。当要用到sqrt函数时,还要在源文件添加<cmath>预处理命令。
编写求解一元二次方程的根时,根本不知道从何开始下手,但在书上还是找到了求解过程,并自学求解虚根的语句,C++学起来还是挺充实的,对于我这些小虾。
错误基本都是漏了“;”,及缺少预处理命令,使得函数不起作用。