这些只是本蒟蒻的一些见解,还望各位神犇积极评论提出宝贵意见,万分感谢!!!!!!!!!!
第三篇啊,给点关注和赞吧,以后会写更多的!!!!!!!!!!!!!!!!!!!!!!!!!
之前我们学的是C++最基础的语言设计,今天我们来学习一下一种新的语言结构——选择结构。先来看一道例题
编程求解数学中的分段函数。
.............x+1 (当x>0)
y=f(x)=...0 (当x=0)
.............x-1 (当x<0)
上面描述的意思是:当x>0时y=x+1; 当x=0时y=0; 当x<0时y=x-1
让我们先来理解一下题意:这道题根据判断x的取值来求出y的值
再来梳理一下具体步骤:
1.先写下基本结构,定义并输入x;
2.再判断并输出相应的值(也可定义y,判断完再输出);
3.恢复到0,终止程序。
大家可能会发现,这道题里需要判断,所以要用到选择结构,那么先让我来简单介绍一下选择结构的模板
1.if选择语句
if(需要达到的条件){//当达到括号中的条件时,执行花括号中的语句;单个句子不需要花括号,下面也一样
需要执行的语句;//可有多句,但需要有花括号
}
2.if-else选择语句
if(需要达到的条件){//当达到括号中的条件时,执行花括号中的语句;单个句子不需要花括号,下面也一样
需要执行的语句;//可有多句,但需要有花括号
}
else{//如果上面所描述的条件都达不到,就执行花括号里的语句
需要执行的语句;
}
3.多分支选择语句
if(需要达到的条件){//当达到括号中的条件时,执行花括号中的语句;单个句子不需要花括号,下面也一样
需要执行的语句;//可有多句,但需要有花括号
}
else if(需要达到的条件){//如果上面所描述的条件都达不到且达到当前句子的条件,就执行花括号里的语句,这条句子可以多句
需要执行的语句;
}
else{//如果上面所描述的条件都达不到,就执行花括号里的语句
需要执行的语句;
}
代码如下:
#include
using namespace std;
int main(){
int x,y;//基本结构,定义
cin>>x;//输入
if(x<0)
y=x-1;//选择结构,if(条件) (达到条件后的运行结果)
else if(x==0)
y=0;//不用花括号,达到条件后的运行结果语句多才要,加else是因为语句不是单独存在的
else if(x>0)//也可直接else
y=x+1;//列举第三种情况
cout<
PS:这些是重要结构,需要实记,可这样记,if是如果的意思,如果后肯定加条件,然后执行;else是否则的意思,就是以上条件不符合
接下来再来学另外一种选择语句,再来一道例题
输入某个整数,如果输入的整数在1-9范围内,则输出相对应的单词,否则输出'out'
让我们先来理解一下题意:这道题根据判断输入整数的取值来输出英文单词
再来梳理一下具体步骤:
1.写下基本结构(包括定义,返回值)
2.再判断并输出相应的单词;
同理,这道题也需要循环语句,但是大家可能会发现,和上面一样道理的代码比较复杂,那么就有另外一种较为方便的选择语句——switch语句,模板如下:
switch(表达式)
{
case 常量表达式1://以上表达式的值
case 常量表达式1.5://1.5与1达到其中一个,都执行语句序列1
语句序列1;//如达到上一行的情况所需执行的内容
break;//与多分支选择语句相同,如果if没有前加else,就没有所有句子连在一起,如果下面句子也满足情况,那么下面的句子也会执行,所以需要跳出这个语句(break为跳出,跳出花括号括着的语句),以下皆同
case 常量表达式2:
语句序列2;
break;
……
case 常量表达式n:
语句序列n;
break;
default://相等于else
语句序列n+1;
}
代码如下:
#include
using namespace std;
long long a;
int main(){
cin>>a;//基本结构
switch(a){//判断a的取值
case 1://如果a为1,执行以下操作
cout<<"one"<
PS:可以这样记,switch是开关的意思,case是情况的意思,说明有多种情况,如果以上情况都不符合,就默认(default,这有点像电脑用语,与开关对应)执行某项操作。
这是语句,但是还有一种更方便的符号,相当于if-else选择语句
c++有一个常用来代替if else 语句的操作符,这个操作符被称为三目运算符(?:),它是c++中唯一一个需要3个操作数的操作符。该操作符的通用格式如下:
b?a:c
如果 b为 true ,则整个表达式的值为 a;否则,整个表达式的值为c。下面两个语句演示了该操作符是如何工作的:
x=5>3?10:12 // 5>3为true,所以 x=10;
x=3==9?25:18 // 3==9为false,所以 x=18;
现给大家介绍几道题:
http://oj.jzxx.net/problem.php?cid=1547&pid=9
http://oj.jzxx.net/problem.php?cid=1570&pid=2
http://oj.jzxx.net/problem.php?cid=1547&pid=15
http://oj.jzxx.net/problem.php?id=1067
https://www.luogu.org/problemnew/show/P1089
PS:这一章主要讲选择结构,所以不讲基本结构,如果有不懂,可以看我的上两篇博客《语言C++之基础知识(拓展) 》《语言C++之简单C++语言介绍 》