查看“︁Cpp class exercise 2”︁的源代码
←
Cpp class exercise 2
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE: “C++ 编程入门班” 练习二}} == 练习说明 == 初学时,不要复制示例代码,请全部都自己输入一遍。 (在自己刚完成的实例基础上扩展时,可以复制) C++ 入门知识手册 https://www.kancloud.cn/wizardforcel/w3school-cpp/100716 软件相关问题请附屏幕图片 (参考:屏幕抓图方法汇总 https://mp.weixin.qq.com/s/llhievU1S_Zw6IxCGGqqDg) == 分支结构:简单单分支 == 例2.1 <syntaxhighlight lang="C++" line> #include <iostream> using namespace std; int main() { int i; cout << "请输入一个任意整数:" << endl; cin >> i; if(i % 2 == 0) cout << "这是一个偶数。"; //分支部分只有一个语句 return 0; } </syntaxhighlight> === 小知识:整除 === % 是整除符号,结果是0(可以除尽时)或者余数(除不尽时) 例如: 10 % 2 , 除得尽,结果是0(没有余数) 10 % 3 , 除不尽,结果是余数1 === 小知识: =与==的区别 === = 是赋值运算符,用来给变量一个特定的值 == 是关系运算符,是用来比较两边大小的 在条件表达式(判断真假)中要使用 == == 分支结构:简单双分支 == <syntaxhighlight lang="C++" line> //例2.2 #include <iostream> using namespace std; int main() { int i; cout << "请输入一个任意整数:" << endl; cin >> i; if(i % 2 == 0) cout << "这是一个偶数。";//分支1部分只有一个语句 else cout << "这是一个奇数。";//分支2部分只有一个语句 return 0; } </syntaxhighlight> == 分支结构:复杂分支 == 例2.3 <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; 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; } return 0; } </syntaxhighlight> === 小知识:引用头文件=== 也叫包含(include)头文件 我们可以把经常使用的函数写成函数库,以方面重复调用 一个函数库可以分成两个文件, .h 文件 和 .cpp 文件 .h 文件里写的是函数的声明,.cpp 文件里写的是具体的函数代码 当我们需要使用一个函数库时,只需要把函数声明部分,即头文件引用过来就可以了 注意有两种引用格式,带.h 的,和不带的 例2.3 的2、3行也可以写成: <syntaxhighlight lang="C++"> #include <cstdlib> #include <ctime> </syntaxhighlight> 请注意观察它们有什么区别? == 循环结构:“当”型循环 == “当”条件成立(为真)时,执行循环体里的代码。 例2.4 <syntaxhighlight lang="C++" line> #include <iostream> using namespace std; int main() { int i =0; while(i<3) { cout << "i=" << i <<endl; i++; } return 0; } </syntaxhighlight> == 循环结构:“直”型循环 == 执行循环体里的代码,然后检查条件,如果成立继续循环执行,“直”到条件不成立 例2.5 <syntaxhighlight lang="C++" line> #include <iostream> using namespace std; int main() { int i =0; do { cout << "i=" << i <<endl; i++; }while(i<3); return 0; } </syntaxhighlight> == 扩展1:“当”型 和 “直”型循环结构的区别 == 例2.4、例2.5的运行结果都一样,那两种结构有什么区别呢? 请大家把 例2.4、例2.5 第6行改为 <syntaxhighlight lang="C++"> int i =3; </syntaxhighlight> 运行结果会有什么不同呢?从中可以看出 “当”型 和 “直”型结构的区别是什么呢? == 循环结构:计次循环 == 例2.6 <syntaxhighlight lang="C++" line> #include <iostream> using namespace std; int main() { for(int i=0;i<3;i++) { cout << "i=" << i <<endl; } return 0; } </syntaxhighlight> === 小知识 === 在C/C++ 中计数时,习惯多是从0开始,而不是1。 在循环计数、数组索引中多是从0开始。 == 结构嵌套 == 在循环结构中嵌套选择结构 例2.7 <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> == 扩展2 == 请使用“直”型循环结构 改写 例2.7 == 扩展3 == 请使用计次循环结构 改写 例2.7 == 扩展4 == 请使用计次循环结构,写一个判断质数(只能被1和本身整除的数)的小程序
返回
Cpp class exercise 2
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
页面信息
联系我们
微信公众号