IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【c++】c++基础入门 -> 正文阅读

[C++知识库]【c++】c++基础入门

C++基础入门

C++初识

第一个程序

头尾部

#include <iostream>
using namespace std;

int main()
{
	system("pause");
	return 0;
}

hello world

#include <iostream>
using namespace std;

int main()
{
	cout << "hello world" << endl;

	system("pause");
	return 0;
}

注释

单行注释

  1. // 描述信息
  • 通常放在一行代码的上方,或者—条语句的末尾,对该行代码说明

多行注释

  1. /* 描述信息 */
  • 通常放在一段代码的上方,对该段代码做整体说明

变量

作用:给一段指定的内存空间起名,方便操作这段

内存语法:数据类型 变量名 = 初始值

#include <iostream>
using namespace std;

int main()
{
	// 变量的定义
	// 语法:数据类型 变量名 = 初始值

	int a = 10;

	cout << "a = " << a << endl;

	system("pause");
	return 0;
}

常量

作用:用于记录程序中不可更改的数据

  1. #define宏常量:#define 常量名 常量值
  • 通常在文件上方定义,表示—个常量
  1. const修饰的变量 const 数据类型 常量名 = 常量值
  • 通常在变量定义前加关键字const。修饰该变量为常量,不可修改
#include <iostream>
using namespace std;

/*
常量的定义方法
1、#define 宏常量
2、const修饰的变量
*/

//1、#define 宏常量
#define day 7

int main()
{
	//day = 14; //错误,day是常量,一旦修改就会报错
	cout << "一周总共有:" << day << "天" << endl;

	//2、const修饰的变量
	const int month = 12;
	//month = 24; //错误,const修饰的变量也称为常量

	cout << "一年总共有:" << month << "个月份" << endl;

	system("pause");
	return 0;
}

关键字

作用:关键字是C++中预先保留的单词(标识符)

  • 在定义变量或者常量时候,不要用关键字
asmdoifreturntypedef
autodoubleinlineshorttypeid
booldynamic_castintsignedtypename
breakelselongsizeofunion
caseenummutablestaticunsigned
catchexplicitnamespacestatic_castusing
charexportnewstructvirtual
classexternoperatorswitchvoid
constfalseprivatetemplatevolatile
const_castfloatprotectedthiswchar_t
continueforpublicthrowwhile
defaultfriendregistertrue
deletegotoreinterpret_casttry

标识符命名规则

作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则

  • 标识符不能是关键字
  • 标识符只能由字母、数字、下划线组成
  • 第一个字符必须为字母或下划线
  • 标识符中字母区分大小写

数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

整型

作用:整型变量表示整数类型的数据。

数据类型占用空间取值范围
short(短整型)2字节(-2^15 ~ 2^15-1)
int(整型)4字节(-2^31 ~ 2^31-1)
long(长整形)Windows为4字节,Linux为4字节(32位),8字节(64位)(-2^31 ~ 2^31-1)
long long(长长整形)8字节(-2^63 ~ 2^63-1)

sizeof关键词

作用:利用sizeof关键字可以统计数据类型所占内存大小

语法:sizeof(数据类型 / 变量)

整型结论:short < int <= long <=long long

实型(浮点型)

作用:浮点型变量表示小数类型的数据。

  1. 单精度float

  2. 双精度double

两者区别在于表示的有效数字范围不同。

数据类型占用空间有效数字范围
float4字节7位有效数字
double8字节15~16位有效数字

注1:有效数字包括整数部分和小数部分。
注2:C++输出多位小数时默认会显示6位有效数字,需进行额外配置以完整显示全部有效数字。
注3:float类型表示小数时,在数字末尾显式地使用字母f表示单精度,否则编译器会默认将小数视为双精度浮点型(double),再进行类型转换(由double型转换为float型)。

int main()
{
	float f1 = 3.1415926535f;
	cout << "float 类型占用的内存大小:" << sizeof(float) << endl;
	cout << "float 类型占用的内存大小:" << sizeof(f1) << endl;

	double d1 = 3.1415926535;
	cout << "double 类型占用的内存大小:" << sizeof(double) << endl;
	cout << "double 类型占用的内存大小:" << sizeof(d1) << endl;

	//科学计数法表示整数
	float f2 = 3e2; // 3 * 10 ^ 2 
	cout << "f2 = " << f2 << endl;

	//科学计数法表示小数
	float f3 = 3e-2;  // 3 * 0.1 ^ 2
	cout << "f3 = " << f3 << endl;
    
    system("pause");
    return 0;
}

字符型

作用:字符型变量可表示单个字符。
语法:char ch = 'a';

注1:使用单引号表示字符,且单引号内有且仅有1个字符,不可以是字符串。
注2:使用 (int) ch 查询字符对应的ASCII编码。'a’对应97,'A’对应65

int main()
{
	//字符型变量创建方式
	char ch = 'a';
	cout << ch << endl;

	//字符型变量所占内存大小
	cout << "char字符型变量占用的内存大小:" << sizeof(char) << endl;
	cout << "char字符型变量占用的内存大小:" << sizeof(ch) << endl;

	//字符型变量常见错误
	//char ch2 = "b";		//错误:表示字符时需使用单引号
	//char ch2 = 'abcdef';	//错误:单引号内只能有一个字符

	//字符型变量对应ASCII编码(a:97; A:65)
	cout << (int)ch << endl;
    
    system("pause");
    return 0;
}

ASCII码表格:

ASCII控制字符ASCII字符ASCII字符ASCII字符
0NUT32(space)64@96
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL

ASCII 码的大致组成部分

  • 非打印控制字符:ASCII 表的 数字0-31 分配给控制字符,用于控制如打印机等外围设备。
  • 打印字符:ASCII 表的 数字32-126 分配给键盘上的字符。

转义字符

作用:表示一些特殊的无法直接显示的ASCII字符。
常用的转义字符有:\n \\ \t

注1:C语言中使用转义字符\n换行,C++中使用endl换行。
注2:表示水平制表符的转义符\t占据8个字符宽度。

转义字符含义ASCII码值(十进制)
\a警报007
\b退格(BS) ,将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\\代表一个反斜线字符“\”092
\’代表一个单引号(撇号)字符039
\"代表一个双引号字符034
\?代表一个问号063
\0数字0000
\ddd8进制转义字符,d范围0~73位8进制
\xhh16进制转义字符,h范围0-9,a-f,A~F3位16进制
int main()
{
	cout << "\\" << endl;
	cout << "\tHello" << endl;
	cout << "\n" << endl;

    system("pause");
    return 0;
}

字符串型

作用:表示一串字符

  1. C风格字符串char 变量名[] = "字符串值";
int main()
{
    //C风格字符串
    char str1[] = "hello world";
    cout << str1 << endl;
    
    system("pause");
    return 0;
}

注1:使用C风格字符串时,需使用双引号将字符串值括起来。

注2:char 字符串名 []

  1. C++风格字符串string 变量名 = "字符串值";
#include <string>

int main()
{
	//C++风格字符串
	string cppStr = "hello cpp str";
	cout << cppStr << endl;
    
    system("pause");  
	return 0;
}

注1:使用C++风格字符串时,需包含头文件#include <string>

布尔类型 bool

作用:布尔数据类型表示真或假的值。
bool类型只有两个值

  • true — 真(本质是1)
  • false — 假(本质是0)

bool类型占1个字节大小

int main()
{
	bool flag = true;
	cout << flag << endl;	// 1(真)

	/* C++的bool类型中,true 或 任意非0值 均代表“真” */
	flag = 6.66f;
	cout << flag << endl;	// 1(真)

	flag = false;
	cout << flag << endl;	// 0(假)

	/* C++的bool类型中,false 或 0值 代表“假” */
	flag = 0;
	cout << flag << endl;	// 0(假)

	cout << "bool类型占用的内存大小:" << sizeof(bool) << endl;
	cout << "bool类型占用的内存大小:" << sizeof(flag) << endl;

    system("pause");
    return 0;
}

数据的输入

作用:从键盘获取数据

关键字:cin

语法cin >> 变量

#include <iostream>
using namespace std;

#include <string>

int main()
{
    //1、整型
    int a = 0;
    cout << "请给整型变量a赋值:" << endl;
    cin >> a;
    cout << "整型变量a = " << a << endl;
    
    //2、浮点型
    float f = 3.14f;
    cout << "请给浮点型变量f赋值:" << endl;
    cin >> f;
    cout << "浮点型变量f = " << f << endl;

    //3、字符型
    char ch = 'a';
    cout << "请给字符型变量ch赋值:" << endl;
    cin >> ch;
    cout << "字符型变量ch = " << ch << endl;

    //4、字符串型
    string str = "hello";
    cout << "请给字符串型变量str赋值:" << endl;
    cin >> str;
    cout << "字符串型变量str = " << str << endl;

    //5、布尔类型
    bool flag = false;
    cout << "请给布尔类型 flag 赋值:" << endl;
    cin >> flag;//bool类型 只要非0的值都代表真
    cout << "布尔类型 flag = " << flag << endl;


    system("pause");
    return 0;
}

运算符

算术运算符

作用:用于处理四则运算

请添加图片描述

注1:两整数相除,结果依然是整数,将小数部分去除

注2:两个数相除,除数是不可以为0的

注3:两小数可以相除,运算结果可以是小数

注4:两个数相除除数是不可以为0,所以也做不了取模运算

总结:只有整型变量可以进行取模运算

#include <iostream>
using namespace std;


int main()
{
    //1、前置递增
    int a = 10;
    ++a; //让变量+1
    cout << "a = " << a << endl;

    //2、后置递增
    int b = 10;
    b++; //让变量+1
    cout << "b = " << b << endl;

    //3、前置和后置的区别
    //前置运算 先让变量+1,然后进行表达式运算
    int a2 = 10;
    int b2 = ++a2 * 10;
    cout << "a2 = " << a2 << endl;
    cout << "b2 = " << b2 << endl;

    //后置运算 先进行表达式运算,后让变量+1
    int a3 = 10;
    int b3 = a3++ * 10;
    cout << "a3 = " << a3 << endl;
    cout << "b3 = " << b3 << endl;

    system("pause");
    return 0;
}

总结:前置递增先对变量进行++,再计算表达式,后置递增相反

赋值运算符

作用:用于将表达式的值赋给变量

在这里插入图片描述

比较运算符

在这里插入图片描述

优先级加括号,不然报错

逻辑运算符

在这里插入图片描述

程序流程结构

c++中支持最基本的三种流程结构:顺序结构选择结构循环结构

  • 顺序结构:程序按顺序执行,不会发生跳转。
  • 选择结构:根据条件是否满足,有选择的执行相应的功能。
  • 循环结构:根据条件是否满足,循环多次执行某代码块。

选择结构

if语句

作用:执行满足条件的语句

  • 单行格式if语句
  • 多行格式if语句
  • 多条件的if语句
  1. 单行格式if语句:if(条件){ 条件满足执行的语句 }
Created with Rapha?l 2.3.0 开始 判断条件 执行语句 结束 yes no
#include<iostream>
using namespace std;

int main()
{
	//选择结构 单行if语句
	//用户输入考试分数,如果分数大于600,则视为考上一本大学,在屏幕上输出
    
	//1.用户输入分数
    int score = 0;
	cout << "请输入考试分数:" << endl;
	cin >> score;

	//2.打印用户输入的分数
	cout << "您输入的分数为:" << score << endl;

	//3.判断分数是否大于600,如果大于则输出考上一本大学
	//注意事项,if条件后面不要加分号
	if (score > 600)
	{
		cout << "恭喜您考上一本大学" << endl;
	}

	system("pause");
	return 0;
}
  1. 多行格式if语句:if(条件){ 条件满足执行的语句 }else{ 条件不满足执行的语句 };
Created with Rapha?l 2.3.0 开始 判断条件 执行语句1 结束 执行语句2 yes no
#include<iostream>
using namespace std;

int main()
{
	//选择结构 - 多行if语句
	//用户输入考试分数,如果分数大于600,则视为考上一本大学,在屏幕上输出
	//如果没有考上一本大学,则打印未考上一本大学

	//1.输入考试分数
	int score = 0;
	cout << "请输入考试分数:" << endl;
	cin >> score;

	//2.提示用户输入的分数
	cout << "您输入的分数为:" << score << endl;

	//3.判断 如果大于600,打印考上一本,否则打印未考上一本
	if (score > 600) //大于600分执行下面大括号中的内容
	{
		cout << "恭喜您考上一本大学!" << endl;
	}
	else //不大于600分,执行else后大括号中的内容
	{
		cout << "您未考上一本大学" << endl;
	}
    
	system("pause");
	return 0;
}
  1. 多条件的if语句:if(条件1){ 条件1满足执行的语句 }else if(条件2){ 条件2满足执行的语句 }...else{ 都不满足执行的语句 }

在这里插入图片描述

#include<iostream>
using namespace std;

int main()
{
	// 选择结构 多条件if语句
	// 输入一个考试分数,如果大于600,则视为考上一本大学,在屏幕输出
	// 大于500,视为考上二本大学,屏幕输出
	// 大于400,视为考上三本大学,屏幕输出
	// 小于等于400分,视为未考上本科,屏幕上输出

	// 1.用户输入分数
	int score = 0;
	cout << "请输入考试分数:" << endl;
	cin >> score;

	// 2.打印用户输入的分数
	cout << "您输入的分数为:" << score << endl;

	// 3.判断
	// 如果大于600,考上一本
	// 如果大于500,考上二本
	// 如果大于400,考上三本
	// 前三个都没有满足,未考上本科
	if (score > 600)
	{
		cout << "您考上一本大学" << endl;
	}
	else if (score > 500) //第二个条件判断
	{
		cout << "您考上二本大学" << endl;
	}
	else if (score >= 400) //第三个条件判断
	{
		cout << "您考上三本大学" << endl;
	}
	else
	{
		cout << "未考上本科大学,请再接再厉" << endl;
	}

	system("pause");
	return 0;
}

嵌套if语句:在if语句中,可以嵌套使用if语句,达到更精确的条件判断

案例需求:

  • 提示用户输入一个高考考试分数,根据分数做如下判断
  • 分数如果大于600分视为考上一本,大于500分考上二本,大于400考上三本,其余视为未考上本科;
  • 在一本分数中,如果大于700分,考入北大,大于650分,考入清华,大于600考入人大。
#include<iostream>
using namespace std;

int main()
{
	/*
	-提示用户输入一个高考考试分数,根据分数做如下判断
	- 分数如果大于600分视为考上一本,大于500分考上二本,大于400考上三本,其余视为未考上本科;
	- 在一本分数中,如果大于700分,考入北大,大于650分,考入清华,大于600考入人大。
	*/

	//1.提示输入高考分数
	int score = 0;
	cout << "请输高考考试分数:" << endl;
	cin >> score;

	//2.显示高考分数
	cout << "您输入的分数为:" << score << endl;

	//3.判断
	// 如果大于600 一本
		// 大于700 北大
		// 大于650 清华
		// 其余 人大
	// 如果大于500 二本
	// 如果大于400 三本
	// 其余情况 未考上本科
	
	if (score >= 600)
	{
		cout << "恭喜您考入一本大学" << endl;
		if (score >= 700)
		{
			cout << "您考上北大" << endl;
		}
		else if (score >= 650)
		{
			cout << "您考上清华" << endl;
		}
		else
		{
			cout << "您考上人大" << endl;
		}
	}
	else if (score >= 500)
	{
		cout << "您考上二本大学" << endl;
	}
	else if (score >= 400)
	{
		cout << "您考上三本大学" << endl;
	}
	else
	{
		cout << "您未考上本科大学" << endl;
	}

	system("pause");
	return 0;
}

练习案例:三只小猪称体重

有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?

在这里插入图片描述

#include<iostream>
using namespace std;

int main()
{
	//三只小猪称体重,判断哪只最重

	//1、创建三只小猪的体重变量
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;

	//2、让用户输入三只小猪的重量
	cout << "请输入小猪A的体重" << endl;
	cin >> num1;
	
	cout << "请输入小猪B的体重" << endl;
	cin >> num2;

	cout << "请输入小猪C的体重" << endl;
	cin >> num3;


	cout << "A小猪的体重是:" << num1 << endl;
	cout << "B小猪的体重是:" << num2 << endl;
	cout << "C小猪的体重是:" << num3 << endl;
	//判断哪只最重
	//先判断A与B的重量
	if (num1 > num2) //A比B重
	{
		if (num1 > num3) //A比C重
		{
			cout << "小猪A最重" << endl;
		}
		else //C比A重
		{
			cout << "小猪C最重" << endl;
		}
	}
	else  //B比A重
	{
		if (num2 > num3) //B比C重
		{
			cout << "小猪B最重" << endl;
		}
		else //C比B重
		{
			cout << "小猪C最重" << endl;
		}
	}

	system("pause");
	return 0;
}

三目运算符

作用:通过三目运算符实现简单的判断

语法表达式1 ? 表达式2 : 表达式3

解释

如果表达式1值为真,执行表达式2,并返回表达式2的结果
如果表达式1值为假,执行表达式3,并返回表达式3的结果

#include<iostream>
using namespace std;

int main()
{
	//三目运算符

	//创建三个变量 a b c
	//将a和b作比较,将变量大的值赋值给变量c

	int a = 10;
	int b = 20;
	int c = 0;

	c = (a > b ? a : b);

	cout << "c = " << c << endl;

	//在c++中三目运算符返回的是变量,可以继续赋值
	(a < b ? a : b) = 100;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	system("pause");
	return 0;
}

switch语句

作用:执行多条件分支语句

语法

switch(表达式)
{
        
    case 结果1: 执行语句;break;
        
    case 结果1: 执行语句;break;
        
    ···
            
    default: 执行语句;break;
        
}
#include<iostream>
using namespace std;

int main()
{
	//switch语句
	//给电影进行打分
	//10-9 经典
	//8-7 非常好
	//6-5 一般
	//5以下 烂片

	//1.提示用户给电影进行评分
	cout << "请给电影进行打分" << endl;

	//2.用户开始进行打分
	int score = 0;
	cin >> score;
	cout << "您打的分数为:" << score <<endl;

	//3.根据用户输入的分数来提示用户最后输入的结果
	switch (score)
	{
	case 10:
		cout << "您认为是经典电影" << endl;
		break; //退出当前分支
	case 9:
		cout << "您认为是经典电影" << endl;
		break;
	case 8:
		cout << "您认为电影非常好" << endl;
		break;
	case 7:
		cout << "您认为电影非常好" << endl;
		break;
	case 6:
		cout << "您认为电影一般" << endl;
		break;
	case 5:
		cout << "您认为电影一般" << endl;
		break;
	default:
		cout << "您认为这个电影是烂片" << endl;
		break;
	}

	//if and switch 区别?
	//switch缺点:判断的时候只能是整型或者是字符型,不可以是一个区间
	//switch优点:结构清晰,执行效率高

	system("pause");
	return 0;
}

循环结构

while循环语句

作用:满足循环条件,执行循环语句

语法while(循环条件){ 循环语句 }

解释只要循环条件的结果为真,就执行循环语句

#include <iostream>
using namespace std;

int main()
{
	//while循环
	//在屏幕中打印0-9这10个数字
	/*int num = 0;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;

	num++;
	cout << num << endl;*/

	int num = 0;

	//while()中填入循环条件
	//注意事项:在写循环一定要避免死循环出现
	while (num < 10)
	{
		cout << num << endl;
		num++;
	}

	system("pause");
	return 0;
}

注意事项:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环

while循环练习案例:猜数字

案例描述:系统随机生成一个1到100以内的数字,玩家进行猜测,如果猜错,提示玩家数字过大或者数字过小,如果猜对恭喜玩家胜利,并且退出游戏。

在这里插入图片描述

#include <iostream>
using namespace std;
//time系统时间头文件包含
#include <ctime>

int main()
{

	//添加随机数种子 作用利用当前系统时间生成随机数,防止每次随机数都一样
	srand((unsigned int)time(NULL));

	//1、系统生成随机数
	int num = rand() % 100 + 1;  //rand()%100 + 1 生成 0 + 1 - 99 + 1 随机数
	//cout << num << endl;

	//2、玩家进行猜测
	int val = 0;
	
	while (1)
	{
		cin >> val;

		//3、判断玩家的猜测

		//猜错 提示猜的结果 过大或者过小 重新返回第2步

		if (val > num)
		{
			cout << "猜测过大" << endl;
		}
		else if (val < num)
		{
			cout << "猜测过小" << endl;
		}
		else
		{
			cout << "恭喜您猜对了" << endl;
			//猜对 退出游戏
			break; //break在循环中,可以利用该关键字来退出当前循环
		}
	}

	system("pause");
	return 0;
}

do…while循环语句

作用:满足判断条件,执行循环语句

语法do{ 循环语句 }while(循环条件);

注意:与while的区别是do…while会先执行一次循环语句,再去判断循环条件

在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
	//do...while语句
	//在屏幕中输出0-9这10个数字

	int num = 0;
	
	do
	{
		cout << num << endl;
		num++;
	} while (num < 10);

	/*while (num < 10)
	{
		cout << num << endl;
		num++;
	}*/

	//do...while与while的区别是do...while会先执行一次循环语句 ,再去判断循环条件

	system("pause");
	return 0;
}

练习案例:水仙花数

案例描述:水仙花数是一个3位数,他的每个位上的数字的3次幂之和等于它本身。

例如: 1 3 + 5 3 + 3 3 = 153 1^3+5^3+3^3=153 13+53+33=153

请利用do…while语句,求出所有3位数中的水仙花数

思路:

1、将所有的三位数进行输出(100-999)

2、在所有三位数中找到水仙花数

? 水仙花数 153

?

? 获取个位 153 % 10 = 3 对数字取模于10 可以获取到个位

? 获取十位 153 /10 = 15 15 % 10 = 5 先整除于10,得两位数,再取模于10,得到十位

? 获取百位 153 / 100 = 1 直接整除于100,获得百位

?

? 判断 个位 3 + 十位 3 + 百位 3 = 本身 {个位}^3+{十位}^3+{百位}^3=本身 个位3+十位3+百位3=本身

#include <iostream>
using namespace std;

int main()
{

	//1、先打印所有三位数字
	int num = 100;

	do
	{
		//2、从所有三位数字中找到水仙花数
		int a = 0;//个位
		int b = 0;//十位
		int c = 0;//百位

		a = num % 10;//获取数字的个位
		b = num / 10 % 10;//获取数字的十位
		c = num / 100;//获取数字的百位

		if (a*a*a + b*b*b + c*c*c == num)//如果是水仙花数,才打印
		{
			cout << num << endl;
		}
		num++;
	} while (num < 1000);

	system("pause");
	return 0;
}

for循环语句

作用:满足循环条件,执行循环语句

语法for(起始表达式;条件表达式;末尾循环体){ 循环语句; }

#include <iostream>
using namespace std;

int main()
{
	//for循环
	//从数字0 打印到 数字9
	/*for (int i = 0; i < 10; i++ )
	{
		cout << i << endl;
	}*/
	int i = 0;
	for (; ; )
	{
		if (i >= 10)
		{
			break;
		}
		cout << i << endl;
		i++;
	}

	system("pause");
	return 0;
}

注意:for循环中的表达式,要用分号进行分隔

总结:while,do…while,for都是开发中常用的循环语句,for循环结构比较清晰,比较常用

联系案例:敲桌子

案例描述:从1开始数到数字100,如果数字个位含有7,或者十位含有7,或者是7的倍数,我们打印敲桌子,其余数字直接打印输出。

1、先输出1到100 这些数字

2、从这100个数字中找到特殊数字,改为“敲桌子”

? 特殊数字

?

? 7的倍数 (7 14 21 28 …) % 7 = 0

? 个位有7 (7 17 27 37 …) % 10 = 7

? 十位有7 (70 71 72 73 …) / 10 =7

#include <iostream>
using namespace std;

int main()
{
	for (int i = 1; i <= 100; i++ )
	{
		if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)
		{
			cout << "敲桌子" << endl;
		}
		else
		{
			cout << i << endl;
		}
	}

	system("pause");
	return 0;
}

c++基础学习笔记先更新到这里,后续将继续更新

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:38:18  更:2022-09-24 20:42:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 12:11:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码