n 实验作业
1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。
2.编写程序输入一个三角形的三条边,计算其面积和周长;
3.编写程序计算并输出课本本章习题3表达式的值并分析结果。
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。
5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。
6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。
7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)
1例题分析
2.1
/*******************************
** 功能:布尔类型使用举例 **
*******************************/
#include<iostream> //编译预处理命令
#include<iomanip> //使用控制符 boolalpha 需使用此头文件
using namespace std; //使用标准名空间 std
int main () //主函数
{
bool flag =true; //定义布尔型变量 flag,并初始化为ture
cout<<flag<<endl; //默认情况下为非bool字母(noboolalpha),输出整型数值1
cout<<boolalpha<<flag<<endl; //使用输出格式控制符boolalpha,输出布尔型值
cout<<flag+5<<endl; //在算术运算中,吧布尔型数据当作整型数据,输出6
flag=0; //可以给bool类型的变量赋任意类型的值
cout<<"执行语句flag=0;后flag的值为:"<<boolalpha<<flag<<endl;
flag=0.0; //0.0为double类型的数值
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;
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,temp;
j=++i; //先把变量i的值自增,i的值变为7,之后把i的值7赋给变量j
k=i++; //先把变量i的值7赋给变量k,然后i的值自增,i的值变为8
++i=1; //++1可以作为左值,执行完该语句后变量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;
//上述语句等价于ch=ch>='a'&&ch<='z'?ch-32:ch;
cout<<"The rusult is:"<<ch<<endl;
return 0;
}
2.6
#include<iostream>
using namespace std;
int main()
{
char ch='c'; //定义字符型变量ch,并进行初始化
int a,b=13; //定义基本整型变量a和b,并对变量b进行初始化
float x,y; //定义float型变量x和y
x=y=2.0; /*变量x和y均赋值为float型的2.0,此处把double类型的2.0自动转换成float型的2.0,编译时会有警告信息*/
a=ch+5; /*a赋值为104,ch先转化为int型(即取字符c的ASCII值),再参与运算*/
x=b/2/x; //x赋值为3.0,先做整除运算,然后再转换成double与x运算
y=b/y/2; /*y赋值为3.25,b和y先转换成double型再做除法,同时2也转化成double型,然后做除法运算*/
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;
}
2三角形的面积和周长
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float a,b,c,d;
double s,C;
one:
cout<<"输入三角形的三条边"<<endl;
cin>>a>>b>>c;
if(a+c>b&&a+b>c&&c+b>a) //判断输入的边是否构成三角形
{
d=(a+b+c)/2;
s=sqrt(d*(d-a)*(d-b)*(d-c)); //计算面积
C=a+b+c; //计算周长
cout<<"该三角形的面积为"<<s<<endl //输出结果
<<"该三角形的周长为"<<C<<endl;
goto one; //返回one
}
else
{
cout<<"不能构成三角形,计算不出结果"<<endl;
goto one;
}
return 0;
}
3习题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;
double k;
k=(e+f)/g+sqrt((double)n)*1.2/g+m; //sqrt是一个开平方数学函数
cout<<"k="<<k<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
double z;
float x=2.5,y=4.7;
int a=7;
z=x+a%3*(int(x+y)%2)/4;
cout<<"z="<<z<<endl;
return 0;
}
4求一元二次方程的解
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float a,b,c,d,x1,x2;
cout<<"输入一元二次方程的系数"<<endl;
cin>>a>>b>>c;
d=b*b-4*a*c;
if(d>0)
x1=((-b)+sqrt(d))/(2*a);
x2=((-b)-sqrt(d))/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
if(d<0)
cout<<"原方程无解"<<endl;
return 0;
}
5、6尚且不懂
7
(1)error C2065: 'sqrt' : undeclared identifier
执行 cl.exe 时出错.在最前面加#include<math.h>就行了
执行 cl.exe 时出错. 忘了在}前加;
(3)error C2873: 'nanespace' : symbol cannot be used in a using-declaration 写错了名字空间的英文