青岛理工大学实验2 数据类型、运算符、表达式、基本输入输出与结构控制

实验2  数据类型、运算符、表达式、基本输入输出与结构控制

这个过于简单我就不用写了,把题目先写上,有问题私聊我

一、实验目的

  1. 了解C++语言中数据类型的意义。
  2. 理解常用运行符的意义,C++语言表达式的运行规则。
  3. 掌握C++的基本输入输出格式。
  4. 掌握各种选择语句的使用。
  5. 掌握各种循环语句的使用。
  6. 掌握各种转向语句的使用。
  7. 学会综合运用控制语句进行简单的编程。
  8. 掌握中止语句和预处理语句。

二、知识要点

        1. C++语言中数据类型

        1. 基本输入/输出

C++中有2个预定义的流对象:

(1)cin是标准输入流对象,键盘为标准设备;

(2)cout是标准输出流对象,显示器为标准设备;

 “<<”和“>>”本来在C++中是被定义为左移位运算符和右移位运算符的,由于在iostream头文件中对它们进行了重载,使它们能用作标准类型数据的输入和输出运算符,所以,在出现它们的程序中必须用#include<iostream>

如果想将“<<”和“>>”用于自己声明的类型的数据中,就不能简单地采用包含iostream头文件来解决,必须对“<<”和“>>”进行重载。

        1. 结构控制

C++语言中结构化算法的基本控制结构有3种:顺序结构、选择结构和循环结构。另外还有多个转向语句,如break、continue、goto语句等。

(1)顺序结构

语句1

语句2

……

语句n+1

(2)选择结构

实现选择结构可用if和switch语句。

① 简单if选择语句

if(表达式)

{

语句组

}

当语句组织有一个语句时,可以省略大括号。

② 双重if选择语句

if(表达式)

{

语句组1

}

else

{

语句组2

}

③ 多重if选择语句

if(表达式)

{

语句组1

}

else if(表达式2)

{

语句组2

}

else if(表达式3)

{

语句组3

}

……

else

{

语句组n+1

}

④ switch语句

switch(表达式)

{

case 常量表达式1:语句组1;break;

case 常量表达式2:语句组2;break;

……

case 常量表达式3:语句组3;break;

default: 语句组n+1;break;

}

(3)循环结构

① while语句

while(表达式)

{

语句组

}

② do-while语句

do

{

语句组

}

while(表达式);

③ for语句

for(表达式1; 表达式2; 表达式3)

{

语句组

}

(4)break语句

break语句用于switch语句或循环语句中,其作用是跳出switch语句或内层循环,继续执行其后面的语句。

(5)continue语句

continue语句用于循环语句中,其作用是结束本次循环开始判断是否继续执行下一次循环。

(6)goto语句

goto语句是非结构化语句,其作用是使程序的执行流程跳转到语句标号所指定的语句。由于goto语句的使用会破坏程序结构,所以应该尽量少或不用。

三、实验内容和步骤

1. 使用C++的输入输出流

【实例1】从键盘上输入数值时,两个值之间一般用空格分隔,也可以用Tab键或换行符。输入如下程序。

#include <iostream>

using namespace std;

void main()

{

     int a,b;

     cin>>a>>b;

     cout<<a<<endl;

     cout<<b<<endl;

}

2. 用if语句编写多重选择程序

【实例2】比较两个实数的大小,要求输出相等、大于、小于等情况。

本题练习的是用if语句编写多重选择程序,即if-else if-else结构。比较两个实数的大小,有3种可能结果。其关系表达式非常简单,方法也较多,除了if-else if-else结构,还可以用if-else的嵌套结构。

#include <iostream>

using namespace std;

void main()

{

double x,y;

cout<<"请输入两个实数:";

cin>>x>>y;

if(x>y)

cout<<"x>y"<<endl;

else if(x<y)

cout<<"x<y"<<endl;

else

cout<<"x=y"<<endl;

}

注意:C++的相等运算符是“

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 =”。

3. 用switch语句编写程序

【实例3】实现两个整数的简单四则运算。

本题练习的是用switch语句编写多重选择程序,简单四则运算有加(+)、减(-)、乘(*)、除(/),我们可以设一个字符型变量,通过比较这个变量,选择相应运算。

#include <iostream>

using namespace std;

void main()

{

int data1,data2;

char op;

cout<<"输入一组运算:";

cin>>data1>>op>> data2;

switch(op)

{

case '+':cout<<data1<<op<<data2<<"="<<data1+data2<<endl;break;

case '-':cout<<data1<<op<<data2<<"="<<data1-data2<<endl;break;

case '*':cout<<data1<<op<<data2<<"="<<data1*data2<<endl;break;

case '/':cout<<data1<<op<<data2<<"="<<data1/data2<<endl;break;

default: cout<<"输入有错!"<<endl;

}

}

注意:当程序输入不是“+”、“-”、“*”、“/”的时候,则显示“输入有错!”。实验人员可能输入整数时也可以运行,此时注意此数据类型的转换。

4. 用while语句编写实现循环的程序

【实例4】用while语句编写程序,求自然数50至100之和。

本题练习的是用while语句编写程序。可用累加算法,累加过程是一个循环过程。

#include <iostream>

using namespace std;

void main()

{

int i=50,sum=0;

while(i<=100)

{

sum+=i;

i++;

}

cout<<"50至100之和为:"<<sum<<endl;

}

注意:注意累加运算的起点和终点,避免遗漏和重复。

5. 用do-while语句编写实现循环的程序

【实例5】用do-while语句编写程序,求自然数50至100之和。

本题练习的是用do-while语句编写程序。它与while循环语句的区别是do语句必需至少执行一次循环体,而while循环可能一次都没有执行就跳出循环。

#include <iostream>

using namespace std;

void main()

{

int i=50,sum=0;

do

{

sum+=i;

i++;

}while(i<=100);

cout<<"50至100之和为:"<<sum<<endl;

}

注意:do-while语句中,while行结束出有分号“;”,不要遗漏。

6. for语句编写实现循环的程序

【实例6】用for语句编写程序,输入一个整数,求出它所有的因子。

本题练习的是用for语句编写循环程序。所谓正数i的因子是指所有能够整除i的整数。可以通过穷举法,对1~i之间的全部整数进行判断。

#include <iostream>

using namespace std;

void main()

{

int i,j;

cout<<”请输入一个正的整数:”;

cin>>i;

cout<<”整数”<<i<<”的因子有:”<<endl;

for(j=1;j<i;j++)

if(i%j==0)

cout<<j<<”  ”;

cout<<endl;

}

注意:for语句的下一行是循环体,如果循环体有多行语句,应使用大括号“{}”。

7. 转向语句的使用

【实例7】用continue语句编写程序,输入10个实数,求出其中正数之和。

本题练习的是用continue语句编写程序。continue语句只能用在循环语句的循环体中结束本次循环,接着在判断是否执行下一次循环。在输入得10个实数中,可能有负数。可以通过if语句来判断正负;如果为负数就结束这次循环,如果为正数就累加求和。

#include <iostream>

using namespace std;

void main()

{

const int N=10;

float num,sum=0;

cout<<”请输入10个实数:”;

for(int i=0;i<N;i++)

{

cin>>num;

if(num<0)

continue;

sum+=num;

}

cout<<”其中正数之和为:”<<sum<<endl;

}

注意:continue语句只能用在循环语句的循环体内,用来结束本次循环,不能用在switch语句中。

猜你喜欢

转载自blog.csdn.net/CSDNwbdream/article/details/82191897