【C++基础语法】01 C++ 程序结构、输出输入语句、变量

理论很重要,但开始更重要。本系列文章采用最少知识原则,只说明必要知识,让对编程感兴趣的青少年,先上手,再逐渐上道。

本文仅限初学者,没有无聊的概念和很严谨的词语。

编程:就是与计算机沟通,目的是让计算机帮我们做事情。
编程语言:就是与计算机沟通的语言,是语言就要有规则,不能胡言乱语,不然计算机听不懂,就没办法给我们做事情。计算机能”听懂“很多不同语言,比如:C++、Python、Java等。从今而后,咱们学习 C++ 语言。
C++基础语法:就是用 C++ 语言和计算机沟通时,需要遵守的基本规则。

  • 第一个基本规则:C++ 语言是用全英文书写的,除了 ” “ 括起来的中文,其它全是英文输入法下的单词和字符。 开始学习程序,大家的错误 90% 都在这里
  • 第二个基本规则:C++ 语言中 // 后面的内容,是写给咱们自己看的,电脑看不见,叫做 注释

程序:就是给计算机列个单子,把需要计算机帮我们做的事情,列个1、2、3 步。

第一个程序

编程零基础,无论何种语言,都是先从 Hello World 程序开始。让电脑显示一句 Hello World,代表,咱们走进了编程的世界,在用编程和这个世界打招呼,重新认识一下。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 → 电脑帮我们做事情时,需要用到的工具,在这里

using namespace std;	// 使用标准输入输出命名空间 → 电脑输入输出的工具都在这个小格子里
int main() {	// 主函数,程序入口 →  电脑从这里开始, { } 就是电脑要帮我们做的事情
	
	// 电脑帮我们做的事情,写在这里
	cout << "Hello World" << endl;	
	
	return 0;	// 函数返回值 0 → 电脑做完事情后,从这里结束
}

电脑帮我们做的事情,可以有很多。后续学到的所有新知识,都是为了让电脑帮我们做更复杂、更有用的事情。现在,先从 Hello World 程序开始。

任务 1:请将上述程序,写到你的本子上,熟悉 C++ 程序结构,并注意每个字符,都是英文模式输入的。

输出语句

cout << "Hello World" << endl;

cout 是标准输出语句,<< 分割需要输出的内容,endl 使用换行结束输出,; 英文分号,代表当前语句的结束(这句话说完了)。

cout 可以输出 "" 括起来的字符串、可以输出一个数学表达式的结果、可以输出一个变量的值。

  • "" 括起来的内容,无论括起来的是啥,都叫做字符串,这也是字符串的定义。
  • 数学表达式,就是数学式子,加减乘除之类的。
  • 变量的值,变量是存储信息的容器,值便是容器的内容,比如:一杯水,杯子是变量,水是变量的值。

输出字符串

"" 括起来的内容,无论括起来的是啥,都叫做字符串,字符串内容会被直接输出到屏幕上。比如:一首诗。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件

using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	// 电脑输出一首诗 《孝子吟》
	// cout <<  << endl; 
	cout << "     《孝子吟》" << endl;
	cout << "    [现代] 狗子" << endl;
	cout << endl;
	cout << "慈母手中剑,游子身上劈。" << endl;
	cout << "一秒十二剑,剑剑出暴击。" << endl;
	cout << "父看子未凉,掏出七匹狼。" << endl;
	cout << "子看七匹狼,瞬间透心凉。" << endl;
	cout << "    透心凉,心飞扬。" << endl;
	cout << "    果冻我要喜之郎。" << endl;
	
	return 0;	// 函数返回值 0
}

任务 2:有感情的完成上述程序代码。注意别笑

"" 括起来的内容,无论括起来的是啥,都叫做字符串,字符串内容会被直接输出到屏幕上。比如:金字塔。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 
using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	// 电脑输出七宝琉璃宗的金字塔
	cout << "九宝有名,一曰力,二曰速,三曰金字塔" << endl;
	cout <<  endl;	// 直接换行
	cout << "   *********" << endl;
	cout << "    *******" << endl;
	cout << "     *****" << endl;
	cout << "      ***" << endl;
	cout << "       *" << endl;
	cout << "      ***" << endl;
	cout << "     *****" << endl;
	cout << "    *******" << endl;
	cout << "   *********" << endl;
	return 0;	// 函数返回值 0
}

任务 3:有感情的完成上述程序代码。注意你的塔,是一层一层嘚

输出表达式的结果

电脑可以帮我们实现很复杂的计算功能,后面咱们可以写一个计算器。但现在,先让电脑帮我们计算最简单的加减乘除四则运算。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 
using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	// 电脑输出表达式的结果
	cout << "九九归一有乘法,我要加减有除法" << endl;
	cout << (99 * 99) << endl;	// *  电脑认识的乘号
	cout << (12345 / 5) << endl;	// /  电脑认识的除号
	cout << (12345 + 54321) << endl;
	cout << (12345- 1002) << endl;
	return 0;	// 函数返回值 0
}

任务 4:有感情的完成上述程序代码。注意你的数字,是可以自己换一个嘚

变量

任务4 中,输出了数学四则运算表达式的值,再来认识一下:算术运算符

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/整数除法,除数除以被除数,输出结果的,不保留余数
  • 取余:%,整数除法,输出结果的余数

电脑在做计算时,仍然和数学一致,先乘除后加减,遇到括号先计算括号内的

为了实现更加复杂的功能,让计算机帮我们做更加复杂的事情,需要使用变量。变量可让程序代码更加易读和容易修改和维护。

变量:计算机用以存储信息的容器。变量拥有类型、名字和值。
变量类型:约定变量可以存储内容的类型,也称数据类型,比如:整数类型的变量只能存储整数,不可存储小数。
变量名:通过名字来使用变量中存储的值。
变量值:变量中存储的信息,也就是容器中的东西。
声明变量:通过类似 变量类型 变量名 = 变量值;' 的形式,声明定义一个变量,后续通过变量名就可以使用了。

举个例子:int num = 1; 声明了一个 int 整数类型的变量,名为 num,存储的值为 1

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 
using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	// 自我介绍
	// 声明名为 name 的变量,类型是字符串类型,变量值是 "六一"
	string name = "六一";	// string 是字符串类型
	// 声明名为 aghe 的变量,类型是整数类型,变量值是 12
	int age = 12;
	
	cout << "你的姓名:" << name << endl;
	cout << "你的年龄:" << age << endl;
	return 0;	// 函数返回值 0
}

任务 5:有感情的完成上述程序代码。注意好好看注释

声明一个变量时,变量的数据类型,基础阶段四类八种;变量值,对应类型下的一些字面值。比如:整数字面值:1、0、-1、-100、100;字符串字面值:“hello”、“world”。

变量名是可以自由取定的,但也有一定的命名规则约定

  • 变量名只可以包含 26 个大小写字母、10 个阿拉伯数字、以及下划线 _
  • 数字不可以作为变量名的开头;
  • 除了 _ 外,其它类似 * = ) # $ ^ 等符号,不可出现在变量名中;
  • 变量名区分大小写,Age age AGE 会被计算机认为是不同变量名。

强烈推荐为变量起名:见名知意。比如:name 存储名字、age 存储年龄。

输入语句

cin >> num;

cin 是标准输入语句,>> 分割多个输入内容的目标容器,也就是变量名,; 英文分号,代表当前语句的结束(这句话说完了)。

cin 可以同时接收多个输入内容,默认按照空格、空行来分割。

举个例子:cin >> name >> age; 语句面对键盘输入时, 六一 12 在同一行输入,中间使用空格分开,以及分行输入,均有效。
六一
12

再谈变量声明:变量可以在声明时,直接赋值,称之为变量的显示初始化。比如:int num = 10; 变量 num 声明时,赋初值 10。
也可仅声明变量 int num;,不给初始值,系统会默认赋初始值,整数变量的默认初始值是 0。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 
using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	// 输入语句,定制自我介绍
	// 声明名为 name 的变量,类型是字符串类型,系统赋初始值
	string name;	// string 是字符串类型
	// 声明名为 aghe 的变量,类型是整数类型,系统赋初始值 0 
	int age;
	cin >> name;	// 接收用户输入的信息,存储到 name 变量中
	cin >> age;	// 接收用户输入的信息,存储到 age 变量中
	// cin >> name >> age;	// 上述两条语句可合并成一条,但不建议这么做	
	cout << "你的姓名:" << name << endl;
	cout << "你的年龄:" << age << endl;
	return 0;	// 函数返回值 0
}

多行输入语句 或者 单行输入语句,输入多个值时,按照从上到下,从左向右给值,键盘输入时,注意顺序,避免将年龄赋值给 name、姓名赋值给 age。

任务 6:有感情的完成上述程序代码。注意好好看注释,出现错误时,记得回来看看,好好记笔记。

错误笔记:1、记录现象;2、分析原因;3、尝试修改重新执行;4、重复2、3 直至程序正确执行。

重点回顾

回顾重点

  1. 第一个 C++ 程序,以及程序结构;
  2. 基本概念的认识:编程、语言、变量、字符串、整数、输入输出语句;
  3. 数学知识:算术运算(+ - * / %),计算法则:先乘除后加减,又括号先计算括号里的;
  4. 关于整除和取余
    当参与运算的数据都是整数时,/ 代表做整除,取商。表达式 15 / 4 的结果是 3;
    % 运算,代表是取余数。表达式 10 % 3 的结果是 1;

作业1:通过键盘输入两个整数,保存到变量 num1、num2 中,计算 num1、num2 两个整数参与的 +、-、*、/、% 运算,并输出对应结果。

  • 注意:/ 除法运算时,被除数 num2 不可为 0 。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 
using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	int num1, num2; 	// 可在同一行声明两个类型一致的变量

	cin >> num1 >> num2;	// 可在同一行按顺序接收多个键盘录入
	cout << num1 << "+" << num2 << "=" << (num1 + num2) << endl;
	cout << num1 << "-" << num2 << "=" << (num1 - num2) << endl;
	cout << num1 << "*" << num2 << "=" << (num1 * num2) << endl;
	// 注意:整数除法、取余运算
	cout << num1 << "/" << num2 << "=" << (num1 / num2) << endl;
	cout << num1 << "%" << num2 << "=" << (num1 % num2) << endl;
	
	return 0;	// 函数返回值 0
}

作业2:通过键盘输入一个百位整数 num,并输出其对应位上的数字。

样例输入:
123
样例输出:
个位数:3,十位数:2,百位数:1

重要的新知识:经常会用到,大家注意

  • 123 % 10 的结果是 3
  • 123 / 10 的结果是 12
  • 12 % 10 的结果是 2
  • 12 / 10 的结果是 1
  • 1 % 10 的结果是 1

总结

  • 一个整数和 10 取余,得到最低位的数字;
  • 一个整数和 10 整除,去掉最低位的数字;
  • 一个整数和 任意数字 取余,得到 0,代表整除无余数。

点我,在线编程试一下👇

#include <iostream>	// 声明头文件 
using namespace std;	// 使用标准输入输出命名空间
int main() {	// 主函数,程序入口
	
	int num;
	cin >> num;
	int ge, shi, bai;
	ge = num % 10;	// 得到 num 当前最低位上的数字,个位上的数字
	num = num / 10;	// 将 num 与 10 整除,去掉最低位,重新赋值给 num
	shi = num % 10;	// 得到 num 当前最低位上的数字,对应输入时 num 的十位上的数字体
	num = num / 10;	// 将 num 再次与 10 整除,去掉最低位,重新赋值给 num
	bai = num % 10;	// 得到 num 当前最低位上的数字,对应输入时 num 的百位上的数字体
	// 难点 2
	cout << "个位数:" << ge << ",十位数:" << shi << ",百位数:" << bai << endl;
	
	return 0;	// 函数返回值 0
}

两个难点
1、 cin 后的符号是两个 >>cout 后的符号是两个 <<记忆点cin 是将键盘的输入导入到变量中,符号是指向变量名的 >>cout 是将内容输出, 符号是指向 cout<<

2、cout 拼接输出结果: cout << "个位数:" << ge << ",十位数:" << shi << ",百位数:" << bai << endl;策略:写出最终输出的内容,再插入变量名进行分割。

  1. 需要的输出是:"个位数:3,十位数:2,百位数:1",3 保存在变量名 ge 中,2 保存在变量 shi 中,1 保存在变量 bai 中。
    个位数:ge,十位数:shi,百位数:bai

  2. 将变量外的内容,用 “” 括起来,作为字符串输出。
    "个位数:" ge ",十位数:" shi ",百位数:" bai

  3. 最后,将在变量名两侧加入 << ,配上 cout 即可。
    cout << "个位数:" << ge << ",十位数:" << shi << ",百位数:" << bai << endl;

课后练习

在洛谷上注册自己的账户。完成一下入门题单 - 前 10 题中的 B2001-B2010,跳过 B2006。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值