程序基本语句
约 2770 字大约 9 分钟
2025-06-25
cin语句
cin
cin 是 C++ 标准输入流对象,用于从标准输入设备(通常是键盘)读取数据。它配合提取运算符 >> 使用。
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}注意事项
- cin 读取数据时,遇到空格、换行符、制表符等空白字符会停止读取,所以对于读取包含空格的字符串不太适用,这时可以使用
getline()函数。getline()函数会读取整行字符串,直到遇到换行符为止。
- 使用 cin 前,需要包含
<iostream>头文件。
cout语句
cout
cout 是 C++ 标准输出流对象,通过插入运算符 << 可以将数据输出到标准输出设备(通常是显示器)。
#include <iostream>
using namespace std;
int main() {
int a = 10;
cout << "a = " << a << endl;
return 0;
}注意事项
endl用于换行并刷新缓冲区,也可以使用\n换行,但不会立即刷新缓冲区。- 同样需要包含
<iostream>头文件。
scanf语句
scanf
scanf 是 C 语言标准输入函数,用于从标准输入设备(通常是键盘)读取格式化的数据。
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
return 0;
}注意事项
scanf函数需要使用格式化字符串来指定输入数据的类型,如%d表示读取整数。scanf函数要带&取址符,&a表示将输入的数据存储到变量a中。
printf语句
printf
printf 函数:用于格式化输出数据。
#include <stdio.h>
int main() {
int a = 10;
printf("a = %d", a);
return 0;
}注意事项
printf函数需要使用格式化字符串来指定输出数据的类型,如%d表示输出整数。printf函数输出字符串时不需要&取址符。
赋值语句
=
赋值语句用于将一个值赋给变量。
int a = 10; // 将 10 赋值给变量 a注意事项
- 赋值语句中,
=是赋值运算符,a = 10表示将 10 赋值给变量a。
复合语句
{}
复合语句也称为语句块,是用一对花括号 {} 括起来的一组语句。在 C++ 中,复合语句可以用于定义局部作用域,或者作为函数体、if 语句、for 循环、while 循环等控制结构的执行部分。
int main() {
int a = 10;
{
int b = 20;
a = b; // 在局部作用域中使用变量 b
}
// b 超出作用域,不能再使用
return 0;
}注意事项
- 复合语句中的变量,只能在其所在的花括号内使用,超出作用域就不能再使用了。
if语句
if
if 语句用于根据条件执行不同的代码块,是一种条件控制语句。
if语句基本形式:
if形式
if (条件表达式) {
// 如果条件表达式为真,则执行这里的代码
}注意事项
if语句后面的条件表达式必须用括号括起来。if语句后面的条件表达式的结果必须是一个布尔值(true或false)。if语句后面的条件表达式的结果为true时,执行if后面的语句块。if语句后面的条件表达式的结果为false时,不执行if后面的语句块。
if...else形式
if...else形式
if (条件表达式) {
// 如果条件表达式为真,则执行这里的代码
} else {
// 如果条件表达式为假,则执行这里的代码
}注意事项
if语句后面的条件表达式的结果为false时,执行else后面的语句块。
if...else if...else形式
if...else if...else形式
if (条件表达式1) {
// 如果条件表达式1为真,则执行这里的代码
} else if (条件表达式2) {
// 如果条件表达式1为假,且条件表达式2为真,则执行这里的代码
} else {
// 如果条件表达式1和条件表达式2都为假,则执行这里的代码
}注意事项
if语句后面的条件表达式的结果为true时,执行if后面的语句块。if语句后面的条件表达式的结果为false时,不执行if后面的语句块。else if语句后面的条件表达式的结果为true时,执行else if后面的语句块。else语句后面的语句块,在前面的所有条件表达式都为false时才会执行。
switch语句
switch语句
switch 语句也是一种多分支选择结构,它根据一个整数类型(包括 char 类型,因为 char 本质上也是整数类型)的表达式的值,来决定执行哪个分支。
switch语句形式
switch语句形式
switch (表达式) {
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...
default:
语句n;
}注意事项
switch后面的表达式必须是一个整数类型(包括 char 类型,因为 char 本质上也是整数类型)。case后面的常量表达式必须是一个整数常量,不能是变量。break语句用于跳出switch语句,否则会继续执行后面的语句。default语句用于在所有case都不匹配时执行。
多层条件语句
多层条件语句概念
多层条件语句通常指在 if 语句中嵌套 if 语句,用于处理复杂的条件判断。
多层条件语句形式
多层条件语句形式
if (条件表达式1) {
if (条件表达式2) {
语句1;
} else {
语句2;
}
} else {
if (条件表达式3) {
语句3;
} else {
语句4;
}
}注意事项
- 嵌套层数不宜过多,否则会使代码结构变得复杂,可读性变差。
- 注意每层 if 语句的条件和代码块的逻辑关系,避免出现逻辑错误。
for语句
for语句概念
for 语句是一种常用的循环语句,用于在满足一定条件时重复执行一段代码。
for语句形式
for语句形式
for (初始化表达式; 条件表达式; 更新表达式) {
// 循环体语句
}注意事项
for语句后面的初始化表达式、条件表达式和更新表达式之间用分号隔开。for语句后面的条件表达式的结果必须是一个布尔值(true或false)。for语句后面的条件表达式的结果为true时,执行for后面的语句块。for语句后面的条件表达式的结果为false时,不执行for后面的语句块。for语句后面的更新表达式在每次循环结束后执行。
while语句
while语句概念
while 语句也是一种循环语句,只要条件表达式为 true,就会重复执行循环体代码。
while语句形式
while语句形式
while (条件表达式) {
// 循环体语句
}注意事项
- 在循环体中一定要有改变条件表达式结果的操作,否则可能会导致死循环。
while语句后面的条件表达式的结果必须是一个布尔值(true或false)。while语句后面的条件表达式的结果为true时,执行while后面的语句块。while语句后面的条件表达式的结果为false时,不执行while后面的语句块。
do...while语句
do...while语句概念
do...while 语句也是一种循环语句,它先执行一次循环体代码,然后判断条件表达式是否为 true,如果为 true,则继续执行循环体代码,否则跳出循环。
do...while语句形式
do...while语句形式
do {
// 循环体语句
} while (条件表达式);注意事项
do语句后面的循环体语句至少会执行一次。do语句后面的条件表达式的结果必须是一个布尔值(true或false)。do语句后面的条件表达式的结果为true时,继续执行do后面的语句块。do语句后面的条件表达式的结果为false时,跳出do后面的语句块。
多层循环语句
多层循环语句概念
多层循环语句指在一个循环语句中嵌套另一个循环语句,最常见的是双重循环,比如在 for 循环中嵌套 for 循环。
多层循环语句形式
多层循环语句形式
for (初始化表达式1; 条件表达式1; 更新表达式1) {
for (初始化表达式2; 条件表达式2; 更新表达式2) {
// 循环体语句
}
}注意事项
- 嵌套层数不宜过多,否则会使代码结构变得复杂,可读性变差。
- 注意每层循环的条件和代码块的逻辑关系,避免出现逻辑错误。
打印九九乘法表
打印九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
printf("%d * %d = %d\t", i, j, i * j);
}
printf("\n");
}扩展1 - 占位符表格
占位符表格
| 符号 | 说明 | 示例 |
|---|---|---|
%d | 输出整数 | printf("%d", 10); |
%f | 输出浮点数 | printf("%f", 3.14); |
%c | 输出字符 | printf("%c", 'A'); |
%s | 输出字符串 | printf("%s", "Hello"); |
%lf | 输出双精度浮点数 | printf("%lf", 3.14159); |
%p | 输出指针 | printf("%p", &a); |
%x | 输出十六进制数 | printf("%x", 10); |
%o | 输出八进制数 | printf("%o", 10); |
%u | 输出无符号整数 | printf("%u", 10); |
%e | 输出科学计数法表示的浮点数 | printf("%e", 3.14); |
%g | 输出浮点数,根据值的大小自动选择 %f 或 %e | printf("%g", 3.14); |
扩展2 - 占位符表格2
占位符表格2
| 占位符 | 输入 | 输出 | 功能 |
|---|---|---|---|
| %d | √ | √ | 整数的输入与输出 |
| %nd | √ | √ | 输入或输出 n 位整数,输出位数不足时用空格补齐 |
| %0nd | √ | √ | 输入或输出 n 位整数,输出位数不足时用数字 0 补齐 |
| %c | √ | √ | 字符的输入与输出 |
| %lf | √ | √ | 双精度 double 浮点数的输入与输出 |
| %f | √ | √ | 单精度 float 浮点数的输入与输出 |
| %lld | √ | √ | long long 类型整数的输入与输出 |
| %.nf | √ | 保留小数点后 n 位的输出 | |
| %s | √ | √ | 字符数组的输入与输出 |
扩展3 - 条件表达式
如何撰写条件表达式?
- 条件表达式的结果必须是一个布尔值(
true或false)。 - 条件表达式可以使用比较运算符(
==、!=、>、>=、<、<=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。 - 条件表达式可以使用括号改变运算符的优先级,例如
(a > b) && (c < d)。