Cpp class exercise 2:修订间差异
外观
无编辑摘要 |
|||
| 第1行: | 第1行: | ||
{{DISPLAYTITLE: “C++ 编程入门班” 练习二}} | {{DISPLAYTITLE: “C++ 编程入门班” 练习二}} | ||
| 第17行: | 第14行: | ||
== 分支结构:简单单分支 == | == 分支结构:简单单分支 == | ||
例2.1 | |||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
#include <iostream> | #include <iostream> | ||
| 第26行: | 第24行: | ||
cout << "请输入一个任意整数:" << endl; | cout << "请输入一个任意整数:" << endl; | ||
cin >> i; | cin >> i; | ||
if(i % 2 == 0) | if(i % 2 == 0) | ||
cout << "这是一个偶数。"; | cout << "这是一个偶数。"; //分支部分只有一个语句 | ||
return 0; | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 小知识:整除 === | |||
% 是整除符号,结果是0(可以除尽时)或者余数(除不尽时) | |||
例如: | |||
10 % 2 , 除得尽,结果是0(没有余数) | |||
10 % 3 , 除不尽,结果是余数1 | |||
== 分支结构:简单双分支 == | == 分支结构:简单双分支 == | ||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
//例2.2 | |||
#include <iostream> | #include <iostream> | ||
using namespace std; | using namespace std; | ||
| 第44行: | 第52行: | ||
cin >> i; | cin >> i; | ||
if(i % 2 == 0) | if(i % 2 == 0) | ||
cout << "这是一个偶数。"; | cout << "这是一个偶数。";//分支1部分只有一个语句 | ||
else | else | ||
cout << "这是一个奇数。"; | cout << "这是一个奇数。";//分支2部分只有一个语句 | ||
return 0; | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 第53行: | 第62行: | ||
== 分支结构:复杂分支 == | == 分支结构:复杂分支 == | ||
例2.3 | |||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
#include <iostream> | #include <iostream> | ||
| 第73行: | 第83行: | ||
if(answer == k) | if(answer == k) | ||
{ | { | ||
//分支部分有多个语句时,需要使用{} | |||
cout << "回答正确!"<< endl; | cout << "回答正确!"<< endl; | ||
cout << i <<"+" <<j <<"=" << k << endl; | cout << i <<"+" <<j <<"=" << k << endl; | ||
| 第87行: | 第98行: | ||
== 循环结构:“当”型循环 == | == 循环结构:“当”型循环 == | ||
例2.4 | |||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
#include <iostream> | #include <iostream> | ||
| 第108行: | 第117行: | ||
== 循环结构:“直”型循环 == | == 循环结构:“直”型循环 == | ||
例2.5 | |||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
#include <iostream> | #include <iostream> | ||
| 第126行: | 第135行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == 扩展1:“当”型 和 “直”型循环结构的区别 == | ||
例2.4、例2.5的运行结果都一样,那两种结构有什么区别呢? | |||
<syntaxhighlight lang="C++" | 请大家把 例2.4、例2.5 第6行改为 | ||
<syntaxhighlight lang="C++"> | |||
int i =3; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
运行结果会有什么不同呢?从中可以看出 “当”型 和 “直”型结构的区别是什么呢? | |||
== 循环结构:计次循环 == | == 循环结构:计次循环 == | ||
例2.6 | |||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
#include <iostream> | #include <iostream> | ||
| 第150行: | 第165行: | ||
== 结构嵌套 == | == 结构嵌套 == | ||
在循环结构中嵌套选择结构 | 在循环结构中嵌套选择结构 | ||
例2.7 | |||
<syntaxhighlight lang="C++" line> | <syntaxhighlight lang="C++" line> | ||
#include <iostream> | |||
#include <stdlib.h> | |||
#include <time.h> | |||
#define random(x) (rand()%x) | |||
using namespace std; | |||
int main() | |||
{ | |||
int i,j,k; | |||
int n =0; | |||
while(n<3); | |||
{ | |||
srand((int)time(0));//用系统时间来做种子 | |||
i = random(100); | |||
j = random(100); | |||
k = i + j ; | |||
int answer; | |||
cout << i <<"+" <<j <<"= ?" << endl; | |||
cin >> answer; | |||
if(answer == k) | |||
{ | |||
cout << "回答正确!"<< endl; | |||
cout << i <<"+" <<j <<"=" << k << endl; | |||
} | |||
else | |||
{ | |||
cout << "回答错误!"; | |||
cout << i <<"+" <<j <<"=" << k << endl; | |||
} | |||
n++; | |||
} | |||
return 0; | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 扩展2 == | |||
请使用“直”型 改写 例2.7 | |||
== 扩展3 == | |||
请使用计次循环结构 改写 例2.7 | |||