C++1——控制语句章节
一、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——控制语句章节相关推荐
- python神经网络多元函数_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...
- 逻辑性不好可以学python吗_如果本文若未能让你学会“Python”,可能真的不适合学习Python...
很多小伙伴们会问学习Python难学吗? python就是以他简单易学出名的.几乎是现在最简单,却可塑性最高的语言了.一般有其它编程语言基础的,自学,三小时左右就能学会.现在Python都有给小朋友的 ...
- python基础教程-北大学霸自学这套Python教程,7天开发12款游戏,堪称宝藏教程
下载好向圈APP可以快速联系圈友 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 学习Python的人,总会到处寻找资料,比如这里看点视频,那里看点文章,但最后依然学不好Python.因为缺乏 ...
- 逐条讲解python_名校教授推荐:Python458集大型视频,从正确的方向出发学习
在家办公的那段日子,原以为是快乐摸鱼的开始,可是问了一圈身边的朋友,基本都处于"007"的状态.好多次明明已经合上电脑了,微信上来个需求就得立马处理. 最近开始复工,也依然不能准时 ...
- python基础教程价格范围_价值18980元的968集Python教程,在此透露给大家!速度来拿哇...
我是完全自学的,看完这条回答你就不用花钱学了.一千多的课程也就是基础课,并不会给你有多深入.如果要是学基础的话,看看下面的学习线路图以及相关的学习方法足够了.贴一个我之前自学的路径图和方法. 小白学P ...
- 40天python新手入门教程_自律改变自我!努力40天轻松从入门到精通Python
我是完全自学的,看完这条回答你就不用花钱学了.一千多的课程也就是基础课,并不会给你有多深入.如果要是学基础的话,看看下面的学习线路图以及相关的学习方法足够了.贴一个我之前自学的路径图和方法. 小白学P ...
- 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...
- 浙大python教材_浙大学霸用这套Python教程自学,8天开发12款游戏,堪称经典课程...
学习Python的人,总会到处寻找资料,比如这里看点视频,那里看点文章,但最后依然学不好Python.因为 缺乏系统的学习 ,对于基础较差的学习者总是不那么容易的. 我今天介绍的这本书会对刚刚入门的P ...
- python循环语句-python----循环语句及循环控制语句
原标题:python----循环语句及循环控制语句 本章节将向大家介绍Python中的条件控制语句及循环控制语句,希望本篇文章对你有所帮助. 一.while 语句 1.while语句的基本形式: [w ...
最新文章
- Detail-Preserving Pooling in Deep Networks
- 安卓微软雅黑字体ttf_618巨献丨精致的悦黑5字重小字体
- NSURLConnection 下载数据 -- IOS(实例)
- 2017.5 期中考试 完挂
- java基础_集合List与Set接口
- CCAI 2017 | 日本理化学研究所杉山将:弱监督机器学习的研究进展
- 超级计算机比赛规则,介绍围棋的规则与玩法
- 修改jsp文件刷新网页没有更新
- jQuery自定义动画animate函数的step属性
- 旷世巨作!20 多位架构师携手打造的“Java 面试核心宝典”限时开源
- 华为数通笔记-NDP原理
- 首届中阳验方节即将举办,失传多年的国宝级验方重见天日
- 赤霉素3β-羟化酶的下调增强了大豆的光合作用并提高了种子产量
- 助你编程能力「突飞猛进」的干货分享
- twig模板引擎使用php,Twig模板引擎
- 绝对正确!解释“超键、候选键和主键”之间的关系
- 用C#开发带农历的日历
- SSM实现登录注册的小案例(手把手喂饭)
- WIN10笔记本插入鼠标关闭触摸板设置
- 2022-4-19 同时读取带外数据和正常数据《Linux高性能服务器》笔记