1.输入课本各个例题,调试运行程序,并分析程序,将每一个程序改写2到3个版本,自己分析程序结果,然后再调试运行,核对分析结果的对错。
2.编写程序输入一个三角形的三条边,计算其面积和周长;
3.编写程序计算并输出课本本章习题3表达式的值并分析结果。
4.编写一个程序,输入一个一元二次方程的三个系数,并计算其方程的解,然后输出。
5.编写程序,自己确定一个加密算法,将自己的音标姓名(英文)加密,并输出加密后结果,请注释你的加密算法。
6.在一个自动控制设备中,控制字位数16位,控制设备产生机械动作(如削,压等)的是指令字的低8位,其中保护强制停机动作的控制命令是低8位是全为0,控制报警声音是指令的高第1位,0为报警,1为不报警。请编写程序,在紧急状况启动时,向控制器输入控制指令。
7.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)
课本例题:
( 一 )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.1;
cout<<"执行语句flag=0.1;后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;
}
将‘short'换成’long'以后:
输出流要特别注意输出的数据类型,防止数据溢出,不能显示出来。
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;
}
将++i换成i++后:
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;
}
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;
}
数据转换类型.
(三)三角形面积及周长:
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
float m,C,s;
printf("enter三角形的三边 a,b,c:"); //输入三个边长的值
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c,a-b<c) //判断是否构成三角形
{
m=(a+b+c)/2;
s= sqrt(m*(m-a)*(m-b)*(m-c)); //三角形的面积公式
C =a+b+c; //三角形的周长
printf ("m=%.2f\nn=%.2f\n",s,C);
}
else
{
cout<<endl; //若不构成三角形,结束
}
return 0;
}
课本习题:(1)
/***********************
******* 习题三 *****
***********************/
#include <math.h> //调用头文件<math.h> ,应后面用到平方根的数学计算
#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; //n的类型转换为doubhle型
cout<<"k = "<<k<<endl;
return 0;
}
(2)
/***************************
******** 习题三 *******/
#include <iostream>
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; //将(x+y)转换成int类型
return 0;
}
输入一元二次方程得瑟三个系数,输出解:
#include<math.h>
#include<iostream>
int main()
{
int a,b,c;
float x1,x2;
printf("输入一元二次方程的三个系数a,b,c:"); //输入一元二次方程的系数
scanf("%d,%d,%d",&a,&b,&c);
if(b*b-4*a*c>0) //判断根的三种情况
{
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("%.2f\n%f.2\n",x1,x2);
}
else if
(b*b-4*a*c==0)
{
x1=x2=(-b)/(2*a);
printf("%.2f\n%.2f\n",x1,x2);
}
else if
(b*b-4*a*c<0)
{
printf("方程无解!\n");
}
return 0;
}