07C++选择结构(1)

news/2024/11/8 16:58:32/文章来源:https://www.cnblogs.com/citStudy/p/18441582

一、基础知识

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<<"跳绳达人!";elsecout<<"继续努力!";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++;elsex--;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语句嵌套

教学视频A

在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<<"亲爱的小朋友,欢迎你!";elsecout<<"密码错误!";elsecout<<"用户名错误!";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++中的字符编码方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828890.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试开发通关秘籍五: 彻底搞懂map,reduce和filter高阶函数

热爱技术的小牛 测试开发通关秘籍五: 彻底搞懂map,reduce和filter高阶函数 map、r测试开发通关秘籍五: 彻底搞懂map,reduce和filter高阶函数 map、reduce 和 filter 是 Python 中用于处理可迭代对象(如列表、元组等)的高阶函数。它们分别用于不同的操作,适合于不同的场景…

2024.11.8 鲜花

sosdp,FMT,FWT 下Moon Halo Some deserts on this planet were oceans once 这颗星球上的一些沙漠曾是海洋 Somewhere shrouded by the night, the sun will shine 被黑夜笼罩的地方,也会迎来光明 Sometimes I see a dying bird fall to the ground 偶尔也会见到濒死的鸟跌落地…

DB157S-ASEMI小贴片整流桥DB157S

DB157S-ASEMI小贴片整流桥DB157S编辑:ll DB157S-ASEMI小贴片整流桥DB157S 型号:DB157S 品牌:ASEMI 封装:DBS-4 特性:贴片桥堆 正向电流:1.5A 反向耐压:1000V 恢复时间:>2000ns 引脚数量:4 芯片个数:4 芯片尺寸:50MIL 浪涌电流:50A 漏电流:>10uA 工作温度:-55…

数码管驱动控制器-VK1638 SOP28点阵数显驱动芯片LED驱动器原厂FAE技术支持

产品品牌:永嘉微电/VINKA 产品型号:VK1638 封装形式:SOP28 概述 VK1638是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3线 串行接口、数据锁存器、LED 驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴 极,可支持10SEGx8GRID的点阵LED显示面板,…

从消息中间件架构发展趋势,探讨物联网平台如何支持亿级设备推送?

华为云IoT不仅仅深度使用了Apache Pulsar,同时还积极参与Pulsar社区的发展,致力于提升Pulsar的安全性、可靠性和功能性。本文分享自《华为云DTSE》第五期开源专刊,作者:贺张俭 华为云IoT技术专家 随着物联网平台业务的快速增长,基于传统消息中间件构筑面临着处理亿级设备连…

docker desktop报错0x80070422

docker desktop报错0x80070422 deploying WSL2 distributionsensuring main distro is deployed: deploying "docker-desktop":importing WSL distro"无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。\r\n错误代码:Ws1/0x80070422\r\n"outpu…

SqlServer 分页学习

在B站上看到一个分页视频,老师讲的挺好 ,记录下来。想看原视频的可以去B站 --1.建立Students表CREATE TABLE students ( ID INT PRIMARY KEY IDENTITY(1,2), NAME NVARCHAR(50) NOT NULL, SEX CHAR(6) CHECK (SEX IN (Male, Female)));GO --2. 插入30条数据INSERT I…

TMC4671使用笔记

1、单向DC电机开环测试void TMC4671SinglePhaseDC_Test(){// 电机类型和PWM配置// TMC4671_MOTOR_TYPE_N_POLE_PAIRS 寄存器用于设置电机类型和极对数。// 高16位 (0x0001):电机类型。0: 无电机 1: 单相直流电机 2: 两相步进电机 3: 三相无刷电机// 低16位 (0x0002):电机的极…

KeilC51不编译未调用的函数

KeilC51不编译未调用的函数KeilC51不编译未调用的函数 在用 Keil C51 做开发时,难免会增删功能,出现定义了的函数未调用的情况。编译时会发出“UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS”的警告,还会浪费程序存储空间。 有一个办法,可以不用手动去删除,也不会将这部…

融合虚拟与现实,AR Engine为用户提供沉浸式交互体验

当今的应用市场中,传统的应用产品已经难以完全满足消费者的多样化需求。为了在竞争激烈的市场中脱颖而出,企业需要深入洞察用户需求,提供个性化的服务体验和差异化的产品创新,以吸引并留住消费者。 比如,购物类App通过虚实结合的方式实现虚拟穿搭;室内设计行业App可将虚拟…

牛顿法特殊形式——开方公式与二分逼近开方的

数值分析-开方公式// 开方公式 #include<bits/stdc++.h>using namespace std;int main() {double c, x0, jingdu;printf("请输入被开方数c:");scanf("%lf", &c);printf("请输入初值x0:");scanf("%lf", &x0);printf(&q…

90后斩获多家名企offer的小哥哥,做对了什么?

我本人的上一份工作,职级是高级测试开发工程师,平时的工作是以功能项目测试为主,接口自动化、web自动化、性能测试工作中都有涉及,接口自动化框架已经可以独立负责搭建并维护,性能测试也是公司内自己独立负责,可以支持公司内各种压测活动的进行。 我的短板是自动化框架的…