学习要求:
1.了解数据类型概念。
2.掌握常量和变量的使用。
3.掌握各种运算符的运算结合性和优先级,掌握各类表达式正确格式。
4.掌握数据类型转换。
5.进一步熟悉VC集成编程环境的使用,熟练掌握程序设计过程和步骤,积累程序调试经验。
实验作业
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.0;
cout<<"执行语句flag=0.0;后flag的值为:"<<boolalpha<<flag<<endl;
return 0;
}
例题2.2 赋值表达式
/************************************
** 功 能:赋值表达式语句使用 **
** 自动化 1121 郑泽鑫 **
************************************/
#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;
}
做这道题,第13行和14行的等号前为什么不能空格呢。搞不懂,课本呀,你在欺负我,我找个错误容易嘛我。摔。
例题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;
k+i++;
++i=1;
cout<<"i="<<i<<endl;
cout<<"j="<<j<<endl;
cout<<"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
<<"x= "<<x<<endl
<<"y= "<<y<<endl;
return 0;
}
<strong>
</strong>
例题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,p,area,perimeter;
cout<<"请你输入三角形的三个边长啊:";
cin>>a>>b>>c;
perimeter=a+b+c;
p=(a+b+c)/2;
area=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"介个三角形的周长是:"<<perimeter<<endl;
cout<<"介个三角形的面积是:"<<area<<endl;
return 0;
}
三、计算一元二次方程的解
/****************************
********计算一元二次方程*****
****************************/
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
float a, b, c;
double x1, x2, k;
cout<<"请输入二次项系数: "<<endl;
cin>>a;
cout<<"请输入一次项系数: "<<endl;
cin>>b;
cout<<"请输入常数项: "<<endl;
cin>>c;
k = b*b-4*a*c;
x1 = (-b+sqrt(k))/(2*a);
x2 = (-b-sqrt(k))/(2*a);
if(k>=0)
{
if(x1==x2)
{
cout<<"一元二次方程的解只有1个,x= "<<x1<<endl;
}
else
{
cout<<"一元二次方程的解有2个,x1= "<<x1
<<" x2= "<<x2<<endl;
}
}
else
{
cout<<"一元二次方程有虚根,x1=i* "<<x1
<<" x2=i* "<<x2<<endl;
}
return 0;
}
用if语句的嵌套,解的各种情况就可以分类的比较清楚了。
加密的、自控的,不行了,智商不够用了,整个人都不好了……容我缓一缓……
至于错误信息杂而多的原因。首先是因为自己没有C语言基础,C++是我们学的第一门计算机语言,没有基础入门还是有点挑战的。
第二,就是还是自身问题没有经常敲敲程序涨涨姿势。最后呀,我觉得明哥你让我们做的好多作业都和后边要讲的知识点相关,学不到位真难做到每题都会,都能解决。