首页 > 编程语言 >07C++选择结构(1)

07C++选择结构(1)

时间:2024-11-08 16:46:26浏览次数:3  
标签:std 07 int 程序 C++ 选择 字符串 include cout

一、基础知识

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语句嵌套

教学视频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<<"亲爱的小朋友,欢迎你!";
        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++中的字符编码方式

标签:std,07,int,程序,C++,选择,字符串,include,cout
From: https://www.cnblogs.com/citStudy/p/18441582

相关文章

  • 羊大师:明目行动派,羊奶护眼新选择
    在繁忙的都市生活中,我们的眼睛常常因为长时间面对电子屏幕、阅读或工作而感到疲惫不堪。随着生活节奏的加快,保护眼睛健康已成为我们不可忽视的重要议题。在这样的背景下,“明目行动派”应运而生,旨在倡导一种全新的护眼理念,而羊奶,正是这一行动中的一颗璀璨明星。羊奶,这一源自自......
  • docker desktop报错0x80070422
    dockerdesktop报错0x80070422deployingWSL2distributionsensuringmaindistroisdeployed:deploying"docker-desktop":importingWSLdistro"无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。\r\n错误代码:Ws1/0x80070422\r\n"output="docker-desktop":e......
  • 【C++进阶】智能指针的使用及原理(1)
    1.智能指针的使用场景分析下面程序中我们可以看到,new了以后,我们也delete了,但是因为抛异常导,后面的delete没有得到执行,所以就内存泄漏了,所以我们需要new以后捕获异常,捕获到异常后delete内存,再把异常抛出,但是因为new本身也可能抛异常,连续的两个new和下面的Divide都可能会抛异......
  • c++执行shell操作
     message("----->>>>>shelldemo/CMakeLists.txt")#收集当前目录下所有的.cpp文件aux_source_directory(.DIR_SRCS)#添加可执行文件add_executable(shelldemo${DIR_SRCS})#链接需要的库target_link_libraries(shelldemo${LIB_LIB})/shelldemo/CMakeList......
  • 【C++篇】无序中的法则:探索 STL之unordered_map 与 unordered_set容器的哈希美学
    文章目录C++`unordered_map`和`unordered_set`容器详解前言第一章:`unordered_map`和`unordered_set`的概念1.1`unordered_map`和`unordered_set`的定义1.2与`map`、`set`的区别第二章:`unordered_map`和`unordered_set`的构造方法2.1`unordered_map`......
  • 虚假新闻检测:CSV格式数据集的预处理与模型选择
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • Chromium 进程降权和提权模拟示例c++
     一、背景知识概念参考微软链接:强制完整性控制-Win32应用程序|Microsoft学习授权)(模拟级别-Win32apps|MicrosoftLearnDuplicateTokenEx函数(securitybaseapi.h)-Win32apps|MicrosoftLearn本文主要演示 low,medium,high,andsystem四种权限创建......
  • C++之OpenCV入门到提高004:Mat 对象的使用
    一、介绍今天是这个系列《C++之Opencv入门到提高》得第四篇文章。这篇文章很简单,介绍如何使用Mat对象来实例化图像实例,了解它的构造函数和常用的方法,这是基础,为以后的学习做好铺垫。虽然操作很简单,但是背后有很多东西需要我们深究,才能做到知其然知其所以然。OpenCV具......
  • C++ 模板参数的两种类型转换
    与非模板函数一样,我们在一次调用中传递给函数模板的实参被用来初始化函数的形参。如果一个函数形参的类型使用了模板类型参数,那么它采用特殊的初始化规则。只有很有限的几种类型转换会自动地应用于这些实参。编译器通常不是对实参进行类型转换,而是生成一个新的模板实例。与往常一......
  • C++ 模板显式实例化
    //template.hpptemplate<typenameT>classDylan{public:Dylan(Tt);Tm_data;};//template.cpp#include"template.hpp"template<typenameT>Dylan<T>::Dylan(Tt){m_data=t;}templateclassDylan<int&g......