C++语法基础及入门使用案例

C++语法基础及使用案例

1. 第一个C++程序

#include <iostream>
using namespace std;
int main() {cout << "Hello World" << endl;
}

2. 输出不同类型(十进制、八进制、十六进制、浮点型、字符型)

#include <iostream>
using namespace std;
int main() {cout << "十进制的数字: "<< dec << 15 << endl;cout << "八进制数字: " << oct << 15 << endl;cout << "十六进制数字: " << hex << 15 << endl;cout << "浮点型数字: "<< 3.14159 << endl;cout << "字符: "<< char(188) << endl;
}

3. 控制台输入

#include <iostream>
using namespace std;
int main() {int number;cout << "输入一个数字: ";cin >> number;cout << "八进制 = 0" << oct << number << endl;cout << "十六进制 = 0x" << hex << number << endl;
}

4. 调用其他程序

#include <cstdlib>
using namespace std;
int main() {system("Hello");
} 

5. 初始化字符串

#include <string>
#include <iostream>
using namespace std;
int main() {string s1, s2;string s3 = "Hello, World.";string s4("I am");s2 = "Today";s1 = s3 + " " + s4;s1 += " 8 ";cout << s1 + s2 + "!" << endl;
}

结果:Hello, World. I am 8 Today!

6. 文件的读写

#include <string>
#include <fstream>
using namespace std;
int main() {ifstream in("Scopy.cpp");ofstream out("Scopy2.cpp");string s;while(getline(in, s))out << s << "\n";
}

7. Vector的简单使用

vector底层本质就是一个顺序表,它是一个可变长的数组,采用连续存储的空间来存储数据,它的元素类型也可以是任意的内置类型或者自定义类型。

和数组类似,vector采用的连续存储空间来存储元素。可以采用下标对vector的元素进行访问。与数组不同的是,它的大小是可以动态改变的,而且它的大小会被容器自动处理。

vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。

与其它动态序列容器相比,vector在访问元素的时候更加高效,在末尾添加和删除元素相对高效。对于其它不在末尾的删除和插入操作,效率更低。

#include <iostream>
#include <vector>
using namespace std;
int main() {vector<int> v;for(int i = 0; i < 10; i++)v.push_back(i);for(int i = 0; i < v.size(); i++)cout << v[i] << ", ";cout << endl;for(int i = 0; i < v.size(); i++)v[i] = v[i] * 10;for(int i = 0; i < v.size(); i++)cout << v[i] << ", ";cout << endl;
}

8. 控制语句

#include <iostream>
using namespace std;
int main() {int i;cout << "输入一个数字:" << endl;cin >> i;if(i > 5)cout << "这个数字大于5" << endl;else if(i < 5)cout << "这个数字小于5" << endl;elsecout << "这个数字等于5" << endl;cout << "在输入一个数字:" << endl;cin >> i;if(i < 10)if(i > 5)cout << "5 < i < 10" << endl;elsecout << "i <= 5" << endl;else // Matches "if(i < 10)"cout << "i >= 10" << endl;
}

9. while语句

#include <iostream>
using namespace std;
int main() {int secret = 15;int guess = 0;while(guess != secret) {cout << "你猜个数: ";cin >> guess;if (guess > secret) {cout << "你猜大了。" << endl;} else if (guess < secret) {cout << "你猜小了。" << endl;} else {cout << "你猜对啦!" << endl;}}
}

10. do-while语句

#include <iostream>
using namespace std;
int main() {int secret = 15;int guess;do {cout << "猜一个数字呀: ";cin >> guess;if (guess > secret) {cout << "你猜大了。" << endl;} else if (guess < secret) {cout << "你猜小了。" << endl;}}   while(guess != secret);cout << "你猜对啦!" << endl;
}

11. for语句

#include <iostream>
using namespace std;
int main() {for(int i = 0; i < 128; i++)if (i != 26)cout << " value: " << i << " character: " << char(i)<< endl;
}

12. break和continue关键字

#include <iostream>
using namespace std;
int main() {char c;while(true) {cout << "主菜单:" << endl;cout << "l: 左, r: 右, q: 退出 -> ";cin >> c;if(c == 'q')break;if(c == 'l') {cout << "左侧菜单:" << endl;cout << "选择 a or b: ";cin >> c;if(c == 'a') {cout << "你选择的是 'a'" << endl;continue;}if(c == 'b') {cout << "y你选择的是 'b'" << endl;continue;}else {cout << "你选择的非 a or b!"<< endl;continue;}}if(c == 'r') {cout << "右侧菜单:" << endl;cout << "选择 c or d: ";cin >> c;if(c == 'c') {cout << "你选择的是 'c'" << endl;continue;}if(c == 'd') {cout << "你选择的是 'd'" << endl;continue;}else {cout << "你选择的非 c or d!" << endl;continue;}}cout << "你必须选择 l or r or q!" << endl;}cout << "已退出..." << endl;
}

13. switch语句

#include <iostream>
using namespace std;
int main() {bool quit = false;  // Flag for quittingwhile(quit == false) {cout << "选择 a, b, c or q to quit: ";char response;cin >> response;switch(response) {case 'a' : cout << "你选择的是 'a'" << endl;break;case 'b' : cout << "你选择的是 'b'" << endl;break;case 'c' : cout << "你选择的是 'c'" << endl;break;case 'q' : cout << "已退出" << endl;quit = true;break;default  : cout << "请你选择 a,b,c or q!"<< endl;}}
}

14. 递归

#include <iostream>
using namespace std;
void removeHat(char cat) {for(char c = 'A'; c < cat; c++)cout << "  ";if(cat <= 'Z') {cout << "cat " << cat << endl;removeHat(cat + 1);} elsecout << "VOOM!!!" << endl;
}
int main() {removeHat('A');
}

输出:

cat Acat Bcat Ccat Dcat Ecat Fcat Gcat Hcat Icat Jcat Kcat Lcat Mcat Ncat Ocat Pcat Qcat Rcat Scat Tcat Ucat Vcat Wcat Xcat Ycat ZVOOM!!!

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

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

相关文章

【操作系统】知识补漏

进程之间的关系&#xff1a; 1.独立 2.交互关系 2.1 竞争关系----互斥锁【解决】 2.2 协作关系----信号量【解决】 Linux调度策略的过程 linux 分为两个模型&#xff1a; 1 Normal 模式 sched_other[RR] 2. real-time 模式 real -time模式的进程优先级永远高于Normal模型 查…

springboot3整合swagger

JDK17 SpringBoot3.2.2 引入依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.1.0</version> </dependency>现在已经可以使用&#xff0c;访问 …

2401Idea用GradleKotlin编译Java控制台中文出乱码解决

解决方法 解决方法1 在项目 build.gradle.kts 文件中加入 tasks.withType<JavaCompile> {options.encoding "UTF-8" } tasks.withType<JavaExec> {systemProperty("file.encoding", "utf-8") }经测试, 只加 tasks.withType<…

正则表达式(RE)

什么是正则表达式 正则表达式&#xff0c;又称规则表达式&#xff08;Regular Expression&#xff09;。正则表达式通常被用来检索、替换那些符合某个规则的文本 正则表达式的作用 验证数据的有效性替换文本内容从字符串中提取子字符串 匹配单个字符 字符功能.匹配任意1个…

0130-2-秋招面试—HTML篇

2023 HTML面试题 1.src和href的区别 scr用于替换当前元素&#xff0c;href用于在当前文档和外部资源之间建立联系。 <script src"main.js"></script><link href"style.css" rel"stylesheet" />2.对HTML语义化的理解 根据内…

数列极限一基础篇-重点习题记录

海涅定理与函数连续 首先证明函数在X0处连续&#xff1a; X 利用归结原则&#xff08;海涅定理&#xff09;证明函数 在x&#xff01;0处不连续&#xff1a; 收获&#xff1a; 数列极限单调有界应用 题1 题2 题3

8个硬核的python入门项目

大家好&#xff0c;Python是一种通用编程语言&#xff0c;被广泛用于Web开发、数据分析、机器学习和自动化。提高Python技能的最佳方式之一是从事实际项目。本文将探索8个带有代码的Python项目&#xff0c;其涵盖了各种主题和难度级别&#xff0c;帮助大家增强编程能力。 1. U…

华为---STP(二)---STP报文和STP端口状态

目录 1. STP报文简介 1.1 Configuration BPDU 1.2 TCN BPDU 2. STP交换机端口状态 2.1 STP交换机端口状态表 2.2 STP交换机端口状态迁移过程图 2.3 STP交换机端口状态变化举例说明 3 引起的STP网络拓扑改变的示例 3.1 根桥出现故障 3.2 有阻塞端口的交换机根端口所在…

web worker

&#xff08;1&#xff09;同源限制 分配给 Worker 线程运行的脚本文件&#xff0c;必须与主线程的脚本文件同源。&#xff08;2&#xff09;DOM 限制 Worker 线程所在的全局对象&#xff0c;与主线程不一样&#xff0c;无法读取主线程所在网页的 DOM 对象&#xff0c;也无法使…

爬虫学习笔记-selenium交互

1.导包 from selenium import webdriver import time from selenium.webdriver.common.by import By 2.打开浏览器访问百度页面,睡眠2秒 url https://www.baidu.com browser webdriver.Chrome() browser.get(url) time.sleep(2) 3.获取输入框,输入搜索的内容,睡眠2秒 i…

6.1 内存模式概述

Bruce Powel Douglass大师介绍-CSDN博客 嵌入式软件开发从小工到专家-CSDN博客 C嵌入式编程设计模式源码-CSDN博客 “内存管理模式”介绍了几种内存管理的模式&#xff0c;每种模式都针对特定的系统需求和约束设计。 6.2 静态分配模式&#xff08;Static Allocation Patter…

[嵌入式系统-6]:龙芯1B 开发学习套件 -3-软件层次架构

目录 一、龙芯软件架构 1.1 通用软件架构 1.2 龙芯软件架构 1.3 龙芯各种应用程序 1.4 龙芯SOC芯片硬件&#xff1a;龙芯1B 1.5 PMON软件 1.6 龙芯IDE管辖的软件 &#xff08;1&#xff09;CPU Core驱动程序 &#xff08;2&#xff09;SOC芯片外设驱动程序 &#xff…

Linux(CentOS7)与用户电脑传输文件(sz与rz)云与云(scp)

rz和sz是Linux/Unix同Windows进行Zmodem文件传输的命令工具 rz和sz中的z为Zmodem文件传输协议的首字母 s为send发送 r为receive接收&#xff0c;都是相对与Linux来看的接收和发送 Linux发送文件到电脑&#xff1a; sz命令 把文件发送到Windows sz 文件直接按回车就可以选择发送…

数据结构:大顶堆、小顶堆

堆是其中一种非常重要且实用的数据结构。堆可以用于实现优先队列&#xff0c;进行堆排序&#xff0c;以及解决各种与查找和排序相关的问题。本文将深入探讨两种常见的堆结构&#xff1a;大顶堆和小顶堆&#xff0c;并通过 C 语言展示如何实现和使用它们。 一、定义 堆是一种完…

利用操作符解题的精彩瞬间

下面是链接为了解释练习2的并且还有与操作符相关的知识。 C语言与操作符相关的经典例题-CSDN博客 操作符详解&#xff08;上&#xff09;-CSDN博客 操作符详解&#xff08;下&#xff09;-CSDN博客 目录 练习1&#xff1a;在一个整型数组中&#xff0c;只有一个数字出现一…

Vue学习笔记(二)快速入门

Vue学习笔记&#xff08;二&#xff09;快速入门 vue小试牛刀 hello-vue3.html <body><div id"app"><h1>{{msg}}</h1></div><script type"module">import {createApp} from https://unpkg.com/vue3/dist/vue.esm-b…

本地python部署onnx模型,使用c++通过http访问

python服务器端 from flask import Flask, request from gevent import pywsgi import os os.environ["CUDA_VISIBLE_DEVICES"] = "0"import onnxruntime as ort import numpy as np import SimpleITK as sitkimport math

超强的AI写简历软件

你们在制作简历时&#xff0c;是不是基本只关注两件事&#xff1a;简历模板&#xff0c;还有基本信息的填写。 当你再次坐下来更新你的简历时&#xff0c;可能会发现自己不自觉地选择了那个“看起来最好看的模板”&#xff0c;填写基本信息&#xff0c;却没有深入思考如何使简历…

Opencv——图片卷积

图像滤波是尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 线性滤波是图像处理最基本的方法,它允许我们对图像进行处理,产生很多不同的效果。首先,我们需要一个二…

k8s学习-通过Service访问Pod

假设Pod中的容器很可能因为各种原因发生故障而死掉。Deployment等Controller会通过动态创建和销毁Pod来保证应用整体的健壮性。换句话说&#xff0c;Pod是脆弱的&#xff0c;但应用是健壮的。 每个Pod都有自己的IP地址。当Controller用新Pod替代发生故障的Pod时&#xff0c;新…