作业一:
课本例题1:
/*************************************************************
* 名称 :sizeof的使用例题
* 功能 :显示输出各种整型变量所占的字节数
* 输入 :无
* 输出 :无
**************************************************************/
# include<iostream> //编译预处理命令
using namespace std; //使用标准名空间std
int main() //主函数
{
cout<<"number of bytes in int is: "<<sizeof(int)<<endl;
cout<<"number of bytes in long int is: "<<sizeof(long int)<<endl;
cout<<"number of bytes in short int is: "<<sizeof(short int)<<endl;
return 0;
}
课本例题2:
/***********************************************
** 功能 :布尔类型使用举例 **
************************************************/
# include<iostream> //编译预处理命令
# include<iomanip> //使用控制符boolalpha需使用此头文件
using namespace std; //使用标准名空间std
int main()
{
bool flag = true; //定义布尔类型变量flag,并初始化为true
cout<<flag<<endl; //默认情况下为非bool字母(noboolalpha),输出整型值1
cout<<boolalpha<<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;
}
//将5, 3,3.2,代入。得到的都是true
//结论 :将flag赋予除去0的其他值,布尔型值都为true。
课本例题3:
/*********************************************
** 功能 :赋值表达式语句的使用 **
**********************************************/
# 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;
}
课本例题4:
# 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;
}
课本例题5:
/*******************************************
**** ++运算符使用举例 ****
********************************************/
# 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;
cout<<"i = "<<i<<endl
<<"j = "<<j<<endl
<<"k = "<<k<<endl;
return 0;
}
课本例题6:
/**********************************************************
**** 功能:把一个小写字母字符转换成大写 ****
***********************************************************/
# 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;
}
课本例题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<math.h>
using namespace std;
/************************************************
* 名称 :area(double a, double b, double c)
* 功能 :求一个三角形的面积
* 输入 :三角形的三个边
* 输出 :三角形的面积
*************************************************/
void area(double a, double b, double c)
{
double t, S;
t = (a+b+c) / 2;
S = sqrt(t*(t-a)*(t-b)*(t-c));
cout<<"三角形的面积是:"<<S<<endl;
}
/************************************************
* 名称 :circumference(double a, double b, double c)
* 功能 :求一个三角形的周长
* 输入 :三角形的三个边
* 输出 :三角形的周长
*************************************************/
void circumference(double a, double b, double c)
{
double C;
C = a + b + c;
cout<<"三角形的周长是:"<<C<<endl;
}
int main()
{
double a, b, c;
cout<<"请输入要计算的三角形的三个边"<<endl;
cin>>a>>b>>c;
if((a+b<c) & (a+c<b) & (b+c<a)) //构成三角形的条件,两边之和大于第三边
{
area(a, b, c);
circumference(a, b, c);
}
else
cout<<"不能构成三角形"<<endl;
return 0;
}
/************************************************
**** 功能 :求一个三角形的面积及周长 ****
*************************************************/
# include<iostream>
# include<math.h>
using namespace std;
/************************************************
* 名称 :area(double a, double b, double c)
* 功能 :求一个三角形的面积
* 输入 :三角形的三个边
* 输出 :三角形的面积
*************************************************/
void area(double a, double b, double c)
{
double t, S;
t = (a+b+c) / 2;
S = sqrt(t*(t-a)*(t-b)*(t-c));
cout<<"三角形的面积是:"<<S<<endl;
}
/************************************************
* 名称 :circumference(double a, double b, double c)
* 功能 :求一个三角形的周长
* 输入 :三角形的三个边
* 输出 :三角形的周长
*************************************************/
void circumference(double a, double b, double c)
{
double C;
C = a + b + c;
cout<<"三角形的周长是:"<<C<<endl;
}
int main()
{
double a, b, c;
cout<<"请输入要计算的三角形的三个边"<<endl;
cin>>a>>b>>c;
if((a+b<c) & (a+c<b) & (b+c<a)) //构成三角形的条件,两边之和大于第三边
{
area(a, b, c);
circumference(a, b, c);
}
else
cout<<"不能构成三角形"<<endl;
return 0;
}
/*****************************************************
**** 功能 :对英文名字加密 ****
******************************************************/
# include<string>
# include<iostream>
using namespace std;
/*****************************************************
* 名称 :jiami
* 功能 :对英文名字加密
* 输入 :英文名字
* 输出 :加密后的名字
******************************************************/
void jiami( char name[])
{
int i;
for(i=1; i<20; i++)
{
name[i] = name[i] >> 5;
}
cout<<"姓名 :"<<name<<endl;
}
int main()
{
int i;
char name[20];
cout<<"请输入你的英文名字:"<<endl;
for(i=0; i<20; i++)
{
cin>>name[i];
jiami(name);
}
return 0;
}
//结论:只需将英文所对应的ASCII码打乱就可以达到目的。
解密程序未完成,不知道怎么解密
/*****************************************************
**** 功能 :用一个16位数来控制机器 ****
******************************************************/
# include<iostream>
using namespace std;
int main()
{
int a, zhiling;
a = 0x8888; //用一个16进制码来表示16位,其作用是控制机器
cout<<"(1为削,2为压,3为强制停机,4为报警)请输入编号:"<<endl;
cin >> zhiling;
if(zhiling == 1)
{
a = 0x8880; //用指令0x8880控制机器削
}
else if(zhiling == 2)
{
a = 0x8808; //用指令0x8808控制机器压
}
else if(zhiling == 3)
{
a = 0x8800; //后八位为零的时候机器强制停机
}
else
{
a = 0x0888; //当首位为零时报警
}
return 0;
}
这样的控制程序可行吗?