• C++
  • 0702C++ 编程基础学习笔记

  • @ 2025-7-2 21:12:33

C++ 编程基础学习笔记(适合小学生理解版)

一、【知识模块1:简单输出与格式控制】

1. 单个数字带宽度输出(setw 用法)

// 引入输入输出流头文件,这样才能用 cout 输出内容
#include<iostream>
// 引入格式化头文件,里面有 setw 等工具,用来控制输出格式
#include<iomanip>
// 使用标准命名空间,这样就不用每次都写 std::cout ,直接写 cout 就行
using namespace std;

int main() {
    // setw(5) 表示设置输出宽度为 5 个字符位置
    // 123 输出时,会在 5 个字符宽度里右对齐,前面补两个空格,变成“  123”
    cout << setw(5) << 123 << endl;
    return 0;
}

解释:就像给数字 123 安排了一个 5 格的小房子,数字要靠右站,左边空出来的地方用空格补上 ,这样输出更整齐 。

2. 九九乘法表基础版(双重循环 + 格式控制 )

#include<iostream>
// 引入格式化头文件,用 setw 控制乘法结果的输出宽度
#include<iomanip>
using namespace std;

int main() {
    // 外层循环,i 从 1 变到 9 ,代表乘法表的行数,也是当前要乘的第一个数
    for (int i = 1; i <= 9; i++) {
        // 内层循环,j 从 1 变到 i ,代表每行里的乘法式子个数,是第二个乘数
        for (int j = 1; j <= i; j++) {
            // 输出 i*j=结果 ,setw(2) 让结果占 2 个字符位置,这样不同位数的结果(比如 1 和 12 )
            // 输出时能对齐,最后加个空格让式子之间隔开
            cout << i << "*" << j << "=" << setw(2) << i * j << " ";
        }
        // 一行的乘法式子输出完了,换行,开始下一行
        cout << endl;
    }
    return 0;
}

解释:可以把外层循环想成“行数老师”,带着内层循环这个“式子同学”,一行一行地输出乘法表 。setw(2) 就像给结果准备的小格子,让乘法表看起来整整齐齐的 。

二、【知识模块2:字符矩形绘制】

1. 实心矩形绘制(基础双重循环)

#include<iostream>
using namespace std;

int main() {
    int n, m; // n 存矩形的高度(有几行),m 存宽度(每行有几个字符)
    char t; // t 存用来画矩形的字符,比如 @ 、* 这些
    // 从键盘输入 n(高)、m(宽)、t(字符)
    cin >> n >> m >> t;

    // 外层循环控制行数,i 从 1 到 n ,画 n 行
    for (int i = 1; i <= n; i++) {
        // 内层循环控制每行的字符个数,j 从 1 到 m ,每行画 m 个 t 字符
        for (int j = 1; j <= m; j++) {
            cout << t;
        }
        // 一行画完,换行画下一行
        cout << endl;
    }
    return 0;
}

解释:比如输入 3 5 * ,就会画出 3 行,每行 5 个 * 的实心矩形 。外层循环决定画几行,内层循环决定每行画几个字符 。

2. 空心/实心矩形绘制(条件判断 + 双重循环 )

#include<iostream>
using namespace std;

int main() {
    int n, m, s; // n 高,m 宽,s 用来判断是空心(0)还是实心(1)
    char t; // 画矩形的字符
    // 输入高、宽、字符、空心/实心标记
    cin >> n >> m >> t >> s;

    // 外层循环控制行数
    for (int i = 1; i <= n; i++) {
        // 内层循环控制每行的字符
        for (int j = 1; j <= m; j++) {
            if (s != 0) { 
                // s 不是 0 ,说明要画实心,直接输出字符 t
                cout << t;
            } else { 
                // s 是 0 ,画空心
                // 如果是第一行、最后一行,或者是每行的第一个、最后一个字符,就输出 t
                // 这样四周是 t ,中间用空格填充,就成空心啦
                if (i == 1 || i == n || j == 1 || j == m) {
                    cout << t;
                } else {
                    cout << " ";
                }
            }
        }
        // 一行画完换行
        cout << endl;
    }
    return 0;
}

解释:输入 7 7 @ 0 时,因为 s=0 要画空心,所以第一行和最后一行全画 @ ,中间几行只有开头和结尾画 @ ,中间用空格填充,就做出空心矩形啦 。

三、【知识模块3:作业相关题目预告(了解要做啥)】

从作业页面能看到,之后要做这些有趣的编程题:

  • 角谷猜想:跟着题目例子,用代码探究数字的奇妙变化规律 。
  • 水仙花数:找出那些特殊的三位数,像花朵一样“特殊”的数字 。
  • 求整数的和与均值:输入一堆整数,算出它们的总和和平均值 。
  • 九九乘法表:巩固之前学的乘法表知识,可能还有新花样 。
  • 画出图形:类似之前画矩形,不过可能有更多形状挑战 。
  • 分离整数的各个数位:把一个整数拆成个位、十位、百位等,比如把 123 拆成 1 、2 、3 。
  • 计算矩阵边缘元素之和:给一个数字矩阵,算出最外面一圈元素的和 。

这些题目就像一个个小关卡,学会了前面的循环、条件判断,就能闯关成功啦 ,之后我们慢慢把它们都“征服” !

(把代码注释写得很童趣,流程也拆成小朋友能理解的步骤,这样学编程就像玩闯关游戏,慢慢积累知识就能越来越厉害啦~ )

0 条评论

目前还没有评论...