第四章程序段的重复执行
4.1for语句
例4.1对于给定的任意正整数n,输出1~n的平方数。
1 2 3 4 5 6 7 8 9 10 | #include<iostream> using namespace std; int main() { int i,n; cin>>n; for (i=1;i<=n;i++) cout<<i*i<< " " ; return 0; } |
4.1.1for语句的格式与功能
格式1
for(循环变量初始化;循环条件;循环变量增量) 语句
格式2
for(循环变量初始化;循环条件;循环变量增量) {复合语句}
功能
对于循环条件成立的每一个循环变量的取值,都要执行一次循环体。
例4.2写程序结果
1 2 3 4 5 6 7 8 9 | #include<iostream> using namespace std; int main() { int i; for (i=1;i<=5;i++) cout<<i<< " " ; return 0; } |
例4.3写程序结果
1 2 3 4 5 6 7 8 9 | #include<iostream> using namespace std; int main() { int i,j; for (i=0,j=10;i<j;i++,j--) cout<<i<< " " <<j<<endl; return 0; } |
例4.4写程序结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include<iostream> using namespace std; int main() { int i,sum; sum=0;i=1; for (;i<=100;) { sum+=i; i++; } cout<<i<< " " <<sum<<endl; return 0; } |
4.1.2for循环语句的应用
例4.5输出100以内的所有偶数
方法一
1 2 3 4 5 6 7 8 9 10 11 12 | #include<iostream> using namespace std; int main() { int i; sum=0;i=1; for (i=1;i<=100;i++) { if (i%2==0) cout<<i<< " " ; } return 0; } |
方法二
1 2 3 4 5 6 7 8 9 10 11 | #include<iostream> using namespace std; int main() { int i; for (i=2;i<=100;i+=2) { cout<<i<< " " ; } return 0; } |
例4.6分别计算1~100中偶数和奇数的和
方法一
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<iostream> using namespace std; int main() { int i,sum1=0,sum2=0; for (i=1;i<=100;i++) { if (i%2==0) sum1+=i; else sum2+=i; } cout<< "偶数和" <<sum1<< " 奇数和" <<sum2<<endl; return 0; } |
方法二
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<iostream> using namespace std; int main() { int sum1=0,sum2=0; for ( int i=1;i<=100;i++) { if (i%2==0) sum1+=i; else sum2+=i; } cout<< "偶数和" <<sum1<< " 奇数和" <<sum2<<endl; return 0; } |
方法三
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<iostream> using namespace std; int main() { int i,j,sum1,sum2; for (i=2,j=1;i<=100;i+=2,j+=2) { sum1+=i; sum2+=j; } cout<< "偶数和" <<sum1<< " 奇数和" <<sum2<<endl; return 0; } |
例4.7已知n个人的身高,求出其中的最大值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include<iostream> using namespace std; int main() { int i,n; float x,max=0; cin>>n; for (i=1;i<=n;i++) { cin>>x; if (x>max) max=x; } cout<<max<<endl; return 0; } |
例4.8Fibonacci数列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include<iostream> using namespace std; int main() { int i,a=0,b=1,c; cout<<a<< " " <<b; for (i=3;i<=40;i++) { c=a+b; cout<< " " <<c; if (i%10==0) cout<<endl; a=b;b=c; } return 0; } |
4.2while语句
例4.9成绩统计
4.2.1while语句的格式与功能
格式1
while(表达式)语句
格式2
while(表达式){复合语句}
例4.10写程序结果
例4.11写程序结果
4.2.2while语句的应用
例4.12用户密码
例4.13素数判定
例4.14整数的位数
例4.15最大公约数
4.3do while语句
例4.16满足条件的i的最小值
4.3.1do while语句的格式与功能
格式1
do语句while(表达式)
格式2
do {复合语句} while(表达式)
功能
重复执行循环体,直到条件表达式的值为0,与while相比,do while循环是先执行循环体,后判断条件表达式的当型循环。
例4.17写程序结果
例4.18写程序结果
例4.19写程序结果
4.2.2while语句的应用
例4.20计算值
例4.21整数拆分
例4.22二进制数
4.4多重循环
例4.231~n的所有素数
4.4.1多重循环的使用说明
例4.24写程序结果
例4.25写程序结果
4.4.2多重循环的应用
例4.26直角三角形
例4.27百元百鸡
例4.28水仙花数
例4.29素因数分解
4.5在循环结构中应用位运算
4.5.1位运算符的含义
& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 左移
>> 右移
4.5.2位运算的应用
4.6循环结构程序设计实例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库