07C++选择结构(1)
一、基础知识
1、关系运算符
因为我们要对条件进行判断,必然会用到关系运算符:
| 名称 | 大于 | 大于等于 | 小于 | 小于等于 | 等于 | 不等于 |
|---|---|---|---|---|---|---|
| 符号 | > | >= | < | <= | == | != |
关系表达式的值是一个逻辑值,即“真”(True)或“假”(False)。如果条件成立,其值为“真”;如果条件不成立,其值为“假”。
2、逻辑运算符
| 基本运算 | 运算符号 | 举例 | 结果 |
|---|---|---|---|
| 非 | ! | !(1<2) | False |
| 与 | && | 3<4 && 4>5 | False |
| 或 | ll | 3<4 ll 4>5 | True |
注:
1)”与”运算中,只有”与”两边的表达式都成立,结果才为True,只要两边的表达式中有一个不成立的,结果为False.
2)”或”运算中,只要表达式两边的有一个成立,结果就为True;若两边的表达式均不成立,则结果为False.
3、程序流程图的基本符号


二、if语句
教学视频A
if语句格式:if(表达式){ 语句块1 } | if(表达式)语句1;


例程:试编一程序,输入一 个200以内的整数作为IQ值,判断是不是天才。

#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int iq;
cout<<"IQ:";
cin>>ip ;
if (iq>140) cout<<"天才!";
return 0;
}
练习:
(1)下列表达式的值为“真”的是( )。
A.7%2==0 B.'a'>'0' C.99<60 D.0
(2)阅读程序写X的结果。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int x;
cin>>x;
if (x>100) x-=10;
cout<<x;
return 0;
}
输入:110
输出:_______
(3)完善第12、13行程序。
输入一个整数,判断是不是偶数,若是就输出“偶数”。
6 #include <iostream> //包含输入输出流头文件iostream
7 using namespace std; //指明程序 使用命名空间std(标准)
8 int main()
9 {
10 int n;
11 cout<<"请输入一个整数:";
12 ;
13 if ( ) cout<<"偶数"; //除2余0,就是偶数。
14 return 0;
15 }
三、if-else 语句
教学视频A
格式:

流程图:

例程:
试编一程序,输入一分钟跳绳的次数,若大于等于200次,输出“跳绳达人!”,否则输出“继续努力!”。
流程图:

#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int n;
cout<<"请输入1分钟跳绳次数:";
cin>>n;
if (n>=200)
cout<<"跳绳达人!";
else
cout<<"继续努力!";
return 0;
}
练习:
(1)下列中合法的关系表达式是( )。
A.'a'<99 B.23.5!<20 C.12<>56 D.5<2X<14
(2)阅读程序写结果。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int x;
cin>>x;
if (x==10)
x++;
else
x--;
cout<<"x="<<x<<endl;
return 0;
}
输入:10
输出x为:__________
(3)完善第10、13行程序。。
输入一个整数,判断其奇偶。如输入24,输出“偶数”,输入25,输出“奇数”。
6 #include <iostream> //包含输入输出流头文件iostream
7 using namespace std; //指明程序 使用命名空间std(标准)
8 int main()
9 {
10 ;
11 cout<<"请输入一个整数:";
12 cin>>n;
13 if ( ) //除2余0,就是偶数;否则为奇数。
14 cout<<n<<"是偶数";
15 else
16 cout<<n<<"是奇数";
17 return 0;
18 }
四、if语句嵌套
在if语句中又包含一个或多个if语句,称为if语句嵌套

if与else的就近匹配原则:

几种嵌套样式:



例程:
试编写一个模拟“比尔庄园”登录的程序,输入正确的用户名和密码后,输出欢迎语句“亲爱的小朋友,欢迎你!”,否则输出“用户名错误!”或“密码错误!”。
假设用户名和密码均为六位数,如用户名:201701,密码:135790。流程图如下:

#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
const int USER=201701,PSW=135790;
int user,psw;
cout<<"用户名:";
cin>>user;
cout<<"密码:";
cin>>psw;
if (user==USER)
if(psw==PSW)
cout<<"亲爱的小朋友,欢迎你!";
else
cout<<"密码错误!";
else
cout<<"用户名错误!";
return 0;
}
注:在定义变量时,如果加上关键字const,则变量的值在程序运行期间不能改变,这种变量称为常变量,在c++中常变量又称为只读变量。
使用常变量好处:
(1)修改方便,无论程序中出现多少次常变量,只要在定义语句中对定义的常变量值进行一次修改,就可以全改。
(2)可读性强,常变量通常具有明确的含义。有时为了区别常变量和变量,程序中会把常变量名用大写字母表示。如上面程序。
练习:
(1)阅读程序写结果。
#include <iostream> //包含输入输出流头文件iostream
using namespace std; //指明程序 使用命名空间std(标准)
int main()
{
int x,y=0;
cin>>x;
if (x<10) y=1;
else if(x<100) y=2;
else y=3;
cout<<y;
return 0;
}
输入:10
变量x、y输出分别为:
(2)完善第14、16行程序。
输入一个整数,若大于零。则输出“正数”;若等于零,则输出“零”;若小于零,则输出“负数”。
7 #include <iostream> //包含输入输出流头文件iostream
8 using namespace std; //指明程序 使用命名空间std(标准)
9 int main()
10 {
11 float x; //浮点数
12 cout<<"x=";
13 cin>>x;
14 if ( ) //若x等于零,输出“零”。
15 cout<<"零";
16 else if ( )
17 cout<<"正数";
18 else
19 cout<<"负数";
20 return 0;
21 }
五、字符串类型string
字符串是夹在两个双撇号之间的一串字符,其字符个数可以是零个、一个或多个。如""、"a"、"Apple"、"312"、"apple311"等都是字符串。
要注意:
(1) ""(空串,零个字符)也是字符串。"a"是字符串,而'a'是字符。
(2) string不是C++语言本身具有的基本类型,使用时必须引入头文件string,见下例。
下面代码展示了如何在C++中使用std::string进行基本的字符串操作,包括创建字符串、连接字符串、获取字符串长度、比较字符串、查找字符串和替换字符串的一部分。
#include <iostream>
#include <string>
int main() {
std::string str1 = "Hello";
std::string str2 = "World";
// 字符串连接
str1 += " ";
str1 += str2;
// 输出字符串
std::cout << str1 << std::endl; // 输出: Hello World
// 获取字符串长度
std::cout << "Length: " << str1.length() << std::endl; // 输出: Length: 11
// 字符串比较
if (str1 == "Hello World") {
std::cout << "Strings are equal." << std::endl; // 输出: Strings are equal.
}
// 字符串查找
if (str1.find("World") != std::string::npos) {
std::cout << "Found 'World' in the string." << std::endl; // 输出: Found 'World' in the string.
}
// 字符串替换
str1.replace(6, 5, "C++");
std::cout << str1 << std::endl; // 输出: Hello C++
return 0;
}
扩展阅读:
(1)C++字符串
(2)C语言和C++中的字符串(string)
(3)C++中的字符编码方式
07C++选择结构(1)的更多相关文章
- 黑马程序员——C语言基础 流程控制 选择结构和循环结构
---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...
- C语言中的循环结构与选择结构
1. 为什么使用循环? 重复执行某段代码 2. while(条件){ 循环体: } 当条件成立的时候就执行循环体,条件不成立,就退出循环,继续执行while后面的语句 3. for ( 初始表达式 : ...
- C- 流程控制(顺序结构,选择结构,循环结构)
一.选择结构 1.if 特点: 同一时刻,只有一个大括号里面的代码会被执行 2,switch 特点 默认情况下,只有一个case后面的代码会被执行 如果一个case后面没有break,而且这个case ...
- 160809212田京诚C语言程序设计实验2 选择结构程序设计_进阶
实验2-6 猜数字游戏 实验要求: 编写一个C程序实现一个[1-100]以内的猜数字游戏. (1) 系统随机产生一个[1-100]之间的随机数. (2) 输入任意一个数字.数字 ...
- 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶
<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学 期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...
- Java 第四章 选择结构2
第四章 选择结构 (二) switch 选择结构的执行流程是怎样的? switch 选择结构中break关键字的作用? 本章目标 掌握 switch 选择结构 能够综合运用 if 选择结构 和 swi ...
- Java 第三章 选择结构1
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...
- Chrome弹窗的简单应用(选择结构与循环结构)
★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图 ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用 比较大小 ★ 判断成绩等级 ): : : : : alert(" ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- java中的if-Switch选择结构
字随笔走,笔随心走,随笔,随心.纯属个人学习分析总结,如有观者还请不啬领教. 1.if选择结构 什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构. 起语法是: if(判断条件){ 操作 ...
随机推荐
- SuperMap iServer数据动态更新刷新地图与数据服务
更新:2022年6月27日 SuperMap iServer 11i 底层修改逻辑,增加智能指针.11i版本不需要以下操作即可实现 一.使用背景 有这么一个需求,后端也就通过SuperMap iDes ...
- cobalt strike安装教程
将本地IP和密码填入:./teamserver 192.168.xx.xx 密码 启动成功
- Sqoop简介安装及使用
Sqoop简介 sqoop 是 apache 旗下一款"Hadoop 和关系数据库服务器之间传送数据"的工具. 核心的功能有两个: 导入.迁入 导出.迁出 导入数据:MySQL,O ...
- arm64 下内核 crash—— 非法地址
下面是在实际工作中遇到的一次内核(5.4.110)访问非法内存地址(空指针)导致出错的现场,在这里记录一下简单的分析流程为以后遇到类似的问题作为参考. [ 220.619861] Unable to ...
- 云原生周刊:2024 年 K8s 基准报告 | 2024.4.8
开源项目推荐 Argo CD Image Updater Argo CD Image Updater 是一个自动更新 Argo CD 管理的 Kubernetes 工作负载容器镜像的工具.简而言之,它 ...
- Nuxt.js 应用中的 builder:watch 事件钩子详解
title: Nuxt.js 应用中的 builder:watch 事件钩子详解 date: 2024/10/24 updated: 2024/10/24 author: cmdragon excer ...
- 蓝屏攻击 MS12-020
目录 1.蓝屏攻击 MS12-020 搜索对应活跃主机win7蓝屏漏洞端口 Nessus 执行漏洞扫描 Metasploit 漏洞利用 msfconsole Armitage 1.蓝屏攻击 MS12- ...
- Antlr4 语法解析器(下)
Antlr4 的两种AST遍历方式:Visitor方式 和 Listener方式. Antlr4规则文法: 注释:和Java的注释完全一致,也可参考C的注释,只是增加了JavaDoc类型的注释: 标志 ...
- .NET Core 泛型底层原理浅谈
简介 泛型参考资料烂大街,基本资料不再赘述,比如泛型接口/委托/方法的使用,逆变与协变. 泛型好处有如下几点 代码重用 算法重用,只需要预先定义好算法,排序,搜索,交换,比较等.任何类型都可以用同一套 ...
- 鸿蒙Navigation页面生命周期
Navigation作为路由容器,其生命周期承载在NavDestination组件上,以组件事件的形式开放.其生命周期大致可分为三类,自定义组件生命周期.通用组件生命周期和自有生命周期.其中,abou ...