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

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

不废话,直接开整

数据类型

常用数据类型

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
  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值