本次实验安装了DEV-C++、CODE、VS2017三种编程软件,了解了其编写、运行方法。并且运行了教材示例2-4、2-6。
一、实验结论
1.以下是编程练习(1)的源代码及运行结果截图:
1 #include <iostream>
2 using namespace std;
3 int main()
4 {
5 int day;
6 cin >> day;
7 if(day<1||day>7)
8 cout << "Day out of range Sunday .. Saturday" << endl;
9 else
10 if(day>=1&&day<=5)
11 cout<<"workday.Let‘s work hard!";
12 else
13 cout<<"weekend.Let‘s have a rest!";
14 return 0;
15 }
分别输入2和6测试:
运行结果正确!
2.以下是编程练习(2)的源代码及运行结果截图:
1 #include <iostream>
2 using namespace std;
3 int main()
4 {
5 int n, m, newnum = 0;
6 cout << "Enter the number: ";
7 cin >> n;
8 cout << "The number in reverse order is ";
9 do
10 {
11 m=n%10;
12 newnum=newnum*10+(m*10);
13 n /= 10;
14 }
15 while (n!=0);
16 cout << newnum/10 <<endl;
17 }
输入365和543654进行验证:
运行结果正确!
二、实验总结与体会
1.在教材示例2-4的实验中,发现break会中断当前控制流,对于switch来说,break语句将跳出switch语句,执行switch后的第一个语句。case 和它所关联的值成为case标号。
switch表达式的值决定选择哪个case分支,如果找不到相应的分支,就直接从"default" 开始输出。
当程序执行一条case语句后,因为例子中的case分支中没有break 和return ,无论再遇到什么case(不符合也执行),default都执行。直到遇到break;
如果程序发现匹配的case标号,那么程序从标号后面的第一个语句开始依次执行各个程序,直到遇到break为止。
如果程序匹配了一个case 标号,执行其相关联的语句后 并没有遇到break那么,程序会跨越其之后的case标号,直接继续执行后续标号关联的语句。
2.若多种判断情况放在一起,可以用:
switch(x)
case ‘a‘: case‘b‘: case ‘c‘:
i++;
break;
以上并未在编程练习(1)中体现,用的是if语句。
3.case 标号必须是常量表达式,就是编译时就能计算出结果的整形表达式。
case X: switch(x) x 要为int 或char 类型。
4.break语句用于结束最近的 while、do while 、for 、switch 语句。并将程序执行权传递给紧接着被终止语句之后的语句。
当有嵌套时,break只终止最里层。
break只能出现在循环语句里 或者 switch 语句里, 出现在其他地方则会报错。
5.break语句对if-else的条件语句不起作用。
6.关于算数表达式的一些问题总结:
(1)关系操作符:> >= < <= != ==
注:== 相等 = 赋值 ,二者易混淆,需注意。
(2)逻辑操作符:&& 逻辑与 || 逻辑或
注:逻辑与、逻辑或是判断真假的,按位与、按位或是对二进制数进行操作的。
对逻辑与操作,只要有一个为假,便不必再进行后边的计算;对逻辑或操作,只要有一个为真,便不必再进行后边的操作。
(3)条件操作符(三目操作符):表达式1?表达式2:表达式3 先计算表达式1的值,如果表达式1为真,整个表达式的值就是表达式2的值,如果为假,整个表达式的值就是表达式3的值。
(4)逗号表达式:从左向右依次执行,整个表达式的结果是最后一个表达式的结果。
7.可以把for语句改写成while语句,for语句和while语句都能实现循环。for语句和while语句都是在循环前先判断条件,只有条件满足才会进入循环。
8.程序中用负数作为输入的结束标志。
9.do-while语句先执行循环体,后判断循环条件。
10.当循环结构中出现多个循环条件时,可以由循环语句中的表达式和break语句共同控制。continue语句的作用是跳过循环体中的continue后面的语句,继续下一次循环,continue语句一般也需要与if语句配合使用。continue语句和break语句的区别在于,break结束循环,continue只是跳过后面的语句继续循环。break除了可以中止循环外,还用于switch语句,而continue只能用于循环。
11.实验过程中遇到的问题:
(1)在实验中,还是会分不清什么时候用for语句,什么时候用while语句,什么时候用do-while语句。
解决方法:用于循环的语句主要有for语句,while语句,do-while语句。其中for语句和while语句都是在循环前先判断条件,只有条件满足才会进入循环。do-while语句先执行循环体,后判断循环条件。事先给定循环次数首选for语句,通过其他条件控制循环,考虑while语句和do-while语句。
(2)在求解一个式子的时候,例如:不太会写这种式子的程序。
解决方法:用循环语句编写。