一、C++语言的控制语句分为三类: 顺序控制语句 选择控制语句 循环控制语句

1.顺序语句

1)赋值号“=”,与逻辑等号“==”区别。

例题1:求 2x2 + 8x + 6 = 0的根

根据求根公式x1,2 =−b±√b^2−4ac/2a,先对常量a、b、c赋值,然后再计算x1和x2

#include<iostream>
using namespace std;
int main()
{
double a = 2, b = 8, c = 6;
double x1, x2;    x1 = ( -b + sqrt(b * b – 4 * a * c )) / ( 2 * a );
x2 = ( -b - sqrt( b * b – 4 * a * c )) / ( 2 * a );
cout << "x1 =" << x1 << "\t  x2 =" << x2 <<endl;     r
eturn 0;
}

例题2:交换两个变量的值

注:需要一个中间变量temp;

#include<iostream>
using namespace std;
int main()
{int a = 3, b = 5, temp;temp = a; a = b;b = temp;cout << "a = " << a << "\tb = " << b <<endl;return 0;
}
//使用库函数实现交换
#include<iostream>
using namespace std;
int main()
{int a = 3, b = 5;swap(a, b);cout << "a = " << a << "\tb = " << b <<endl;return 0;
}

例题3:提取一个整数n的百位a、十位b和个位c

#include<iostream>
using namespace std;
int main()
{int n;cout << "输入一个整数:";cin >> n;int a = (n / 100) % 10;int b = (n / 10) % 10;int c = n)% 10;cout << "百位数是" << a << endl;cout << "十位数是" << b << endl;cout << "个位数是" << c << endl;return 0;
}

2.选择语句

选择控制语句——单分支选择结构 双分支选择结构 多分支的if-else-if结构 switch语句

例题1:单分支选择结构——给定的三个数,求最大数的平方

if(条件表达式)

{     若干语句1;

}

若干语句2

#include<iostream>
using namespace std;
int main()
{ int a = 5, b = 9, c = 7, max;max = a;if (b>max) {max = b; }if (c>max) { max = c; }cout << "最大数的平方为:" << max * max <<endl;return 0;
}

2.双分支选择结构

if(条件表达式)

{     语句块1; }

else

{     语句块2; }

语句块3;

例题:计算: y =

#include<iostream>
using namespace std;
int main()
{double x, y;cin >> x;if( x < 5 && x > -5 )y = sqrt(25 - x * x);elsey = sqrt(x * x - 25);cout << "y = " << y << endl;return 0;
}

3.多分支的if-else-if结构

if (条件表达式1)

{程序段1;}

else if (条件表达式2)

{程序段2;}

else if (条件表达式n)

{程序段n;}

else

{程序段n+1;}

例题:根据月份判断季节

#include<iostream>
using namespace std;
int main()
{ int month ;cin>>month;if(month == 12 || month == 1 || month == 2) cout << month << "月是冬天" << endl;else if(month == 3 || month == 4 || month == 5) cout << month << "月是春天" << endl;else if(month == 6 || month == 7 || month == 8) cout << month << "月是夏天" << endl;else if(month == 9 || month == 10 || month == 11) cout << month << "月是秋天" << endl;else cout << "不合法的月份";return 0;
}

4.switch语句

定义:switch语句是一个多分支选择语句,也叫开关语句。它可以根据一个整型表达式有条件地选择一个语句执行。

switch(变量名称或表达式)

{

case 常量1:

语句1;

break;

case 常量2:

语句2;

break;

default:

语句N;

break;

}

  • switch小括号中的控制表达式结果必须是整型或字符
  • case后面可以为常数,也可以是常数计算的表达式。但不能是变量, 整形变量也不可以!
  • break表示跳出整个switch语句,不要把它丢了!!!

三、循环语句

  • for循环语句
  • while循环语句
  • 循环嵌套

1.for循环语句

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

{

循环体语句块;

}

表达式1:循环变量赋初值   表达式2:循环条件   表达式3:增量表达式

例题1:计算从1加到100的和

#include<iostream>
using namespace std;
int main()
{int sum=0; for(int i = 1; i <= 100; i++){sum = sum + i;}cout << "1 + 2 + 3 + ... + 100 = " << sum << endl;return 0;
}

例题:输入10个整数,统计偶数个数

#include<iostream>
using namespace std;
int main()
{int x, cnt = 0;for (int i=0; i<=9; i++){cin>>x;if ( x % 2 == 0 ){cout << x << "是偶数" << endl;cnt++;}}cout << "共有" << cnt << "个偶数" << endl;return 0;
}

while循环语句

1)while语句

2)do-while语句

1)例题:老汉卖瓜

老汉卖西瓜,第一天卖西瓜总数的一半多一个,第二天卖剩下的一半多一个
以后每天都是卖前一天剩下的一半多一个,到第10天只剩下一个。求西瓜总数是多少? 算法分析:
设共有x个西瓜,卖一半多一个后,还剩下x/2 - 1个
每天的西瓜数可以用迭代表示: xn = (xn+1 + 1) * 2
卖了9天之后(第10天),x = 1
这是可以用循环来处理的迭代问题#include<iostream>
using namespace std;
int main()
{//第10天的西瓜是1个,x代表前一天的西瓜数,y代表今天的西瓜数,//由y=x-x/2-1得x=2*(y+1)int i=1, x=1;//循环9次,每次都求出前一天的西瓜数while(i<=9){x=(x+1)*2; //求出前一天的西瓜数i++;}cout << " x = " << x << endl;return 0;
}

转向语句

1)break语句

跳出switch结构,继续执行后续语句

终止整个循环,继续执行后续语句

2)continue语句

终止单次循环,继续执行下一次循环

———————————————————————————————————————————

例题练习:

求3位数所有的“水仙花数”
水仙花数是指一个 3 位数 ( n≥3 )
它的每个位上的数字的 3 次幂之和等于它本身
(例如:1^3 + 5^3 + 3^3 = 153) #include<iostream>
using namespace std;
int main()
{for(int i=100;i<=999;i++){int a=i/100;int b=(i/10)%10;int c=i%10;if(i==a*a*a+b*b*b+c*c*c)cout<<i<<endl;}return 0;
}
用*打印三角形int main()
{for (int i = 1; i <= 6; i++) //6次循环输出6行{ //每次循环,输出6-i个空格for (int j = 1; j <= 6 - i; j++)cout << " "; //每次循环,输出2*i-1个*for (int j = 1; j <= 2 * i - 1; j++)cout << "*"; cout << endl;}return 0;
}
【例】求2~100之间的素数
算法分析:判断数字n是否为素数
只需检验n是否能被2、3、4、…、n1/2整除。
n % k == 0 (k = 2,3,4,……,sqrt(n))
#include<iostream>
using namespace std;
int main()
{for (int i = 2; i <= 100; i++)      //依次判断2~100是否为素数{bool isPrime = true;for (int j = 2; j <= sqrt(i); j++) //判断i是否能被某个因数整除{if (i % j == 0){isPrime = false;break;}}if (isPrime)     //如果isPrime仍为真,说明i是素数cout << i << '\t';}cout << endl;return 0;
}

C++1——控制语句章节相关推荐

  1. python神经网络多元函数_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...

    小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...

  2. 逻辑性不好可以学python吗_如果本文若未能让你学会“Python”,可能真的不适合学习Python...

    很多小伙伴们会问学习Python难学吗? python就是以他简单易学出名的.几乎是现在最简单,却可塑性最高的语言了.一般有其它编程语言基础的,自学,三小时左右就能学会.现在Python都有给小朋友的 ...

  3. python基础教程-北大学霸自学这套Python教程,7天开发12款游戏,堪称宝藏教程

    下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 学习Python的人,总会到处寻找资料,比如这里看点视频,那里看点文章,但最后依然学不好Python.因为缺乏 ...

  4. 逐条讲解python_名校教授推荐:Python458集大型视频,从正确的方向出发学习

    在家办公的那段日子,原以为是快乐摸鱼的开始,可是问了一圈身边的朋友,基本都处于"007"的状态.好多次明明已经合上电脑了,微信上来个需求就得立马处理. 最近开始复工,也依然不能准时 ...

  5. python基础教程价格范围_价值18980元的968集Python教程,在此透露给大家!速度来拿哇...

    我是完全自学的,看完这条回答你就不用花钱学了.一千多的课程也就是基础课,并不会给你有多深入.如果要是学基础的话,看看下面的学习线路图以及相关的学习方法足够了.贴一个我之前自学的路径图和方法. 小白学P ...

  6. 40天python新手入门教程_自律改变自我!努力40天轻松从入门到精通Python

    我是完全自学的,看完这条回答你就不用花钱学了.一千多的课程也就是基础课,并不会给你有多深入.如果要是学基础的话,看看下面的学习线路图以及相关的学习方法足够了.贴一个我之前自学的路径图和方法. 小白学P ...

  7. 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...

    小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...

  8. 浙大python教材_浙大学霸用这套Python教程自学,8天开发12款游戏,堪称经典课程...

    学习Python的人,总会到处寻找资料,比如这里看点视频,那里看点文章,但最后依然学不好Python.因为 缺乏系统的学习 ,对于基础较差的学习者总是不那么容易的. 我今天介绍的这本书会对刚刚入门的P ...

  9. python循环语句-python----循环语句及循环控制语句

    原标题:python----循环语句及循环控制语句 本章节将向大家介绍Python中的条件控制语句及循环控制语句,希望本篇文章对你有所帮助. 一.while 语句 1.while语句的基本形式: [w ...

最新文章

  1. Detail-Preserving Pooling in Deep Networks
  2. 安卓微软雅黑字体ttf_618巨献丨精致的悦黑5字重小字体
  3. NSURLConnection 下载数据 -- IOS(实例)
  4. 2017.5 期中考试 完挂
  5. java基础_集合List与Set接口
  6. CCAI 2017 | 日本理化学研究所杉山将:弱监督机器学习的研究进展
  7. 超级计算机比赛规则,介绍围棋的规则与玩法
  8. 修改jsp文件刷新网页没有更新
  9. jQuery自定义动画animate函数的step属性
  10. 旷世巨作!20 多位架构师携手打造的“Java 面试核心宝典”限时开源
  11. 华为数通笔记-NDP原理
  12. 首届中阳验方节即将举办,失传多年的国宝级验方重见天日
  13. 赤霉素3β-羟化酶的下调增强了大豆的光合作用并提高了种子产量
  14. 助你编程能力「突飞猛进」的干货分享
  15. twig模板引擎使用php,Twig模板引擎
  16. 绝对正确!解释“超键、候选键和主键”之间的关系
  17. 用C#开发带农历的日历
  18. SSM实现登录注册的小案例(手把手喂饭)
  19. WIN10笔记本插入鼠标关闭触摸板设置
  20. 2022-4-19 同时读取带外数据和正常数据《Linux高性能服务器》笔记

热门文章

  1. JProfiler10: 功能介绍
  2. Cookie报错java.lang.IllegalArgumentException
  3. 我最近一个项目的架构与演变过程
  4. oracle视图能否编辑数据,视图可以修改数据吗?
  5. Unity 植物大战僵尸(一)
  6. FPGA-图像处理-仿真
  7. 【物联网毕业设计】 寝室宿舍门禁刷卡系统设计与实现 - 树莓派 单片机 嵌入式
  8. SQL MySQL 笔记
  9. ADS-B模拟信号源
  10. 343_S32K144 CRC模块的使用