首页 > 编程语言 >程序设计:C++入门教程(速成) + 15道经典例题(附带例题解析)

程序设计:C++入门教程(速成) + 15道经典例题(附带例题解析)

时间:2024-07-25 15:55:56浏览次数:17  
标签:例题 15 int 代码 入门教程 value include using main

本文章以实用为主,若实在是不明白文字所表达的内容,无脑复制代码,自己动手运行一下,实验一下即可理解文章内容,放心,代码是全的,全选复制粘贴即可

不废话,直接开整

数据类型

常用数据类型

int:整数类型,用于表示整数值。例如:1, 2, -3, 0等。

float:单精度浮点数类型,用于表示带有小数点的数值。例如:3.14f, -0.5, 1.23f等。

double:双精度浮点数类型,具有比float更高的精度和范围。例如:3.141592653589793, -0.5, 1.23e-4等。

char:字符类型,用于表示单个字符。例如:'a', 'B', '1', '中'等。

string:字符串类型,用于表示一系列字符组成的文本。例如:"hello", "world", "你好"等。

bool:布尔类型,用于表示真(true)或假(false)。例如:true, false。

#include <iostream>
using namespace std;

int main()
{
	int value_0 = 1;
	float value_1 = 3.1415926535897f;
	double value_2 = 3.1415926535897;

	char text_0 = 'A';
	string text_1 = "Ahjol_3.1415926";

	bool vote_0 = false;
	bool vote_1 = true;

	cout << "整型类型:" << value_0 << endl;
	//在此双精度和单精度的输出是一样的,原因是因为cout是默认使用双精度浮点数格式输出的
	//实际上double的精度比float的精度高
	cout << "单精度浮点类型:" << value_1 << endl;
	cout << "双精度浮点类型:" << value_2 << endl;

	cout << "字符型类型:" << text_0 << endl;
	cout << "字符串类型:" << text_1 << endl;

	cout << "布尔类型_0:" << vote_0 << endl;
	cout << "布尔类型_1:" << vote_1 << endl;

	return 0;
}

常用数据类型内存大小

int:通常占用4字节。

float:通常占用4字节。

double:通常占用8字节。

char:通常占用1字节。

string:字符串的大小取决于实际存储的文本长度。在C++中,每个字符通常占用1字节,但字符串对象本身还会有额外的开销,通常是用于存储字符串长度和容量的内部数据结构。

bool:在C++中,bool类型通常被实现为1字节,但只存储truefalse值。在某些实现中,它可能只使用一位内存。

这些大小可能会因编译器、目标操作系统和硬件架构的不同而有所不同。例如,某些系统可能在特定条件下使用不同大小的int。要获取确切的大小,可以使用C++的sizeof运算符

#include <iostream>
using namespace std;

int main() 
{
    cout << "int 类型大小: " << sizeof(int) << " 字节" << endl;
    cout << "float 类型大小: " << sizeof(float) << " 字节" << endl;
    cout << "double 类型大小: " << sizeof(double) << " 字节" << endl;
    cout << "char 类型大小: " << sizeof(char) << " 字节" << endl;
    cout << "bool 类型大小: " << sizeof(bool) << " 字节" << endl;
    cout << "string 类型大小: " << sizeof(string) << " 字节" << endl;
    return 0;
}

上述代码中我们利用sizeof运算符得到了常用数据类型的内存大小

常用数据类型的定义

局部变量:局部变量定义在函数内部,只能在该函数内部使用。当函数执行完毕,局部变量会被销毁

#include <iostream>
using namespace std;

void fun()
{
	int value_0 = 1;
}

int main()
{
	cout << "局部变量:" << value_0 << endl;//
	return 0;
}

例如上述代码中value_0局部变量存在于函数fun()中,而它的输出在主函数main()中,所以若复制此代码并运行的话会触发报错,这是正常的,因为局部变量是无法被局部以外的函数所访问

全局变量:全局变量定义在所有函数之外,可以被任何函数访问。它的生存期从程序启动到程序结束

#include <iostream>
using namespace std;

int value_0 = 1;

int main()
{
	cout << "全局变量:" << value_0 << endl;
	return 0;
}

例如上述代码中,value_0,value_1,value_2全局变量,虽然它们存在于mian()函数以外的区域中,但是它们并不存在于其他函数中,因此它们可以被包括main()函数以内的所有函数所访问

宏定义:一旦定义,其值不能改变,因为它在预处理阶段就已经被替换掉了

#include <iostream>
using namespace std;

#define value_0 1280

int main()
{
	cout << "宏定义:" << value_0 << endl;
	return 0;
}

上述代码中heightwidth宏定义,它们在整个程序当中一旦被定义则不可修改,除非在宏定义处进行修改

判断和选择

if语句

if语句是编程语言中用于判断给定条件是否满足的语句,根据判断结果(真或假)执行相应的操作。

基本语法

if (判定条件)
{
	//执行代码
}
else if (判定条件)
{
	//执行代码
}
else //除了else if与if以外的所有情况
{
	//执行代码
}

例:

#include <iostream>
using namespace std;

int main()
{
	int value_0 = 4;
	if (value_0 > 5)
	{
		cout << "value_0大于5";
	}
	else if(value_0 == 5)
	{
		cout << "value_0等于5";
	}
	else
	{
		cout << "value_0小于5";
	}
	return 0;
}

if函数后的括号内写入的是判定条件,若满足则执行,否则跳过

在上述代码中value_0为4,进入判断语句if时if会判定其不满足要求所有不会执行if内的代码,接着将会进入第二个if语句直至找到满足条件的if语句

siwtch语句

switch语句是一种多分支选择结构,用于根据表达式的值来执行不同的代码块

基本语法

switch (expression) 
{
    case constant1:
        // 代码块1
        break;
    case constant2:
        // 代码块2
        break;
    ...
    default:
        // 默认代码块
}

例:

#include <iostream>
using namespace std;

int main()
{
    int num = 2;

    switch (num) 
    {
    case 1:
        cout << "数字是1" << endl;
        break;
    case 2:
        cout << "数字是2" << endl;
        break;
    case 3:
        cout << "数字是3" << endl;
        break;
    default:
        cout << "数字不是1、2或3" << endl;
    }

    return 0;
}

在这个例子中,变量num的值为2,所以会进入case 2,因此程序会输出"数字是2"

循环

for循环

基本语法

for (初始化语句; 条件表达式; 更新语句) 
{
    // 循环体(需要重复执行的代码)
}

例:

#include <iostream>
using namespace std;

int main() 
{
    for (int i = 1; i <= 10; i++) 
    {
        cout << i << endl;
    }
    return 0;
}

上述代码中for循环从1开始至10结束,在此期间输出i的数值,也就是1~10

while循环

while循环是一种控制流语句,用于重复执行一段代码块,直到指定的条件不再满足为止

基本语法

while (condition) 
{
    // 循环体,当条件为真时执行
}

condition是一个布尔表达式,用于判断循环是否继续执行。只要condition的结果为真(非零),循环体内的代码就会被执行。每次执行完循环体后,再次检查condition的值,如果仍然为真,则继续执行循环体;否则,跳出循环。

例:

#include <iostream>
using namespace std;

int main()
{
	int value_0 = 0;
	while (value_0 < 5)
	{
		cout << value_0 << endl;
		value_0 += 1;
	}
	return 0;
}

在上述代码中,while会在value_0满足小于5时持续进行循环,直至value大于等于5为止

常用操作符

算数操作符

用于执行基本的数学运算,如加法(+)、减法(-)、乘法(*)、除法(/)和取余(%)。

#include <iostream>
using namespace std;

int main()
{
	int value_0 = 11;
	cout << "加法:" << value_0 + 2 << endl;
	cout << "减法:" << value_0 - 2 << endl;
	cout << "乘法:" << value_0 * 2 << endl;
	cout << "除法:" << value_0 / 2 << endl;
	cout << "取余:" << value_0 % 2 << endl;
	return 0;
}

这里住着重说一下除法和取余

除法:int类型被除以某个数若结果不为int类型的话,那么程序就会选择向下取整

取余:取余运算就是除数被被除数除于之后去其余数的运算

关系操作符

用于比较两个值之间的关系,如等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。

#include <iostream>
using namespace std;

int main()
{
	int value_0 = 4;
	if (value_0 > 5)
	{
		co

标签:例题,15,int,代码,入门教程,value,include,using,main
From: https://blog.csdn.net/Ahjol171/article/details/140634427

相关文章

  • 钢铁百科:15#钢材质解析,15号钢四切,NB二探保材质保性能
    一、15#钢执行标准:   -GB/T711-2017:这是目前关于15#钢板的主要执行标准,该标准确保了钢板的质量、生产流程和性能均达到国家规定的要求。二、15#钢化学成分:*碳(C):0.12~0.18%*硅(Si):0.17~0.37%*锰(Mn):0.35~0.65%*硫(S)和磷(P)的含量均不超过0.035%此外,还可能含有少量的铬(Cr)、......
  • leetcode 1555 银行账号概要(postgresql)
    需求用户表:Users±-------------±--------+|ColumnName|Type|±-------------±--------+|user_id|int||user_name|varchar||credit|int|±-------------±--------+user_id是这个表的主键。表中的每一列包含每一个用户当前的额度信息。交易......
  • leetcode 1549 每件商品的最新订单(postgresql)
    需求表:Customers±--------------±--------+|ColumnName|Type|±--------------±--------+|customer_id|int||name|varchar|±--------------±--------+customer_id是该表主键.该表包含消费者的信息.表:Orders±--------------±--------+|......
  • P2671 [NOIP2015 普及组] 求和 题解
    题目:P2671NOIP2015普及组求和题意给定一个带有颜色和数字的序列,我们要寻找三元组\((x,y,z)\)满足以下条件:\(y\)为\(x\)和\(z\)的中点且都为整数。\(color[x]=color[z]\)。我们命这样一个三元组对答案的贡献为\((x+z)*(num[x]+num[z])\)。整个序列的总价值为每个......
  • 华为路由器漏洞CVE-2017-17215
    固件获取https://github.com/Vu1nT0tal/IoT-vulhub/tree/master/HUAWEI/CVE-2017-17215/firmware提取binwalk-MerHG532eV100R001C01B020_upgrade_packet.bin启动qemu-systemsudoqemu-system-mips-Mmalta-kernelvmlinux-3.2.0-4-4kc-malta-hdadebian_wheezy_mips......
  • Windows下cmake入门教程-利用cmake创建Visual Studio工程
    希望我们不仅把编程当成一份工作,更要将其当成一份热爱!!!                                                                 -----潜意......
  • C++自学笔记15(数组)
    指针是C++中数组的工作方式,没有指针基础可以看笔记6。数组就是一堆变量的集合,有没有感觉与结构体很相似?让我们来考虑下在结构体中我们仅仅是定义了几个变量例如定义x,y坐标与speed速度。如果我们需要64个变量表示某个东西的64种状态,那么你会看到inta0=0;inta1=1;inta2......
  • 图的最短路径算法(SPFA,Dijkstra,Bellman_Ford)(迪杰斯特拉算法,Spfa算法,贝尔曼-福特算
    目录Dijkstra迪杰斯特拉算法写法时间复杂度例题描述输入描述输出描述样例输入用例输出用例写法Spfa算法例题描述输入描述输出描述样例输入用例输出用例写法Bellman_Ford算法(贝尔曼-福特算法)写法例题描述输入描述输出描述样例输入样例输出样例......
  • 15-while循环嵌套
    五.while循环嵌套----5.1应用场景---故事梗概:有天女朋友又生气了,惩罚:说三遍:“媳妇我错了”,这个程序是不是循环即可?但是如果女朋友说:还要刷今天的碗,这个程序该怎么写?```pythonwhile条件:   print('媳妇我错了')print('刷今天的碗')```但是女朋友还生气,把这套惩罚......
  • 线段树(区间操作,例题:洛谷P3372 线段树 1)
    在上一节线段树(原理、构造和区间查询,例题:BalancedLineup)中介绍了线段树的构造,下面就来说一下它的区间操作。区间操作与Lazy-Tag有关,如果修改操作是对区间内的每个元素一一修改,就会比较繁琐低效,目前的解决办法是线段树的tree[i].data记录的是区间i的值(详细见上节),可以再定义一......