1. 基本程序结构与设计规范

程序就像一局王者:从开局到结束,按步骤执行。本节对应考纲 1。

零基础:先看这一段

如果你第一次学编程,先弄清三件事:

这一章学完你会知道:一个最简单的 C 程序长什么样、从哪里开始、到哪里结束。不用一次全懂,先跟着看一遍,再去做下面的练习,做一遍就清楚很多。

本节考纲要点

什么是注释?(零基础必看)

注释是什么

注释就是你在代码里写给「人」看的说明文字,电脑运行程序时会完全忽略,不会执行。就像英雄技能说明里的小字提示,只给玩家看,不影响技能效果。

为什么要写注释

过几天你自己可能都忘了这段代码在干啥;别人看你的代码也要靠注释才能懂。写注释是好习惯,考试和以后写程序都会用到。

注释的两种写法

C 语言里有两种写法:

在代码里怎么认出注释

下面代码里灰色显示的那几行(或片段)才是注释;绿色的是头文件名(如 <stdio.h>)等,不是注释。你可以先认准灰色的注释部分。

游戏情境:程序像一局对战

一局王者从点“开始对战”到“胜利/失败”,就是一个完整的程序运行过程:先加载、再按顺序执行(清兵、打野、团战……),中间根据情况做选择(回城还是继续),有些动作会重复(持续普攻)。程序也一样:从 main(主函数,相当于“进入对局”)开始,按顺序、选择、循环三种结构执行到底。

C 语言程序的结构

代码要写成什么样

代码要像英雄技能说明一样:结构清晰、有注释、变量名有意义(比如用 hero_hp 表示英雄血量,下面有“英文词速查”可随时看)。

一个最小的 C 程序(逐行看)

下面这段是「最小」的程序:只做两件事——在屏幕上输出一句话,然后结束。你可以先想成:告诉电脑「请从 main 开始,做这两件事,做完就结束」。

#include <stdio.h>   /* 第1行:头文件,有了它才能用 printf、scanf 等 */

int main() {         /* 第2行:主函数开始,程序从 main 里开始执行 */
    /* 这里写要执行的操作,比如输出一句话、算一个数 */
    return 0;        /* 最后:return 0 表示“正常结束”,像对局结束 */
}

每一行在干什么:第 1 行是「准备工作」(没有这行就不能用后面的 printf)。第 2 行是「从这里开始」。大括号 {} 中间才是「真正做的事」——这里暂时只有 return 0; 表示「做完了,正常结束」。后面学了 printf 就会把「输出一句话」写在这两行之间。

运行顺序(电脑怎么执行)

  1. main() 后面的大括号 { 开始,从上往下一条一条执行。
  2. 遇到 return 0; 就结束程序(后面的代码不会再执行)。

必须记住的几点

一句话记住:程序 = 从 main 里从上往下执行,遇到 return 0; 就结束。开头要有 #include <stdio.h>,语句结尾要分号,大括号成对。先记这四条,写练习时对照检查。

注释与命名规范

注释怎么用

上面已经说了:注释/* ... */// 写,电脑不执行,只给人看。

变量和函数怎么起名

命名:变量、函数名用英文或拼音,见名知意,如 hero_hp(血量)、gold(金币),这样一看就懂。有的同学练习时喜欢用 abcxy 这样的短变量名,完全可以。用的时候在注释里写清楚“x 表示什么、a 表示什么”,自己下次看或别人看都能懂就行。

本节代码里的英文词

代码里的英文词是什么意思?(看不懂就查这里)

后面例题里会用到一些英文单词当变量名、函数名,不用背英文,记住下面这些对应关系就行,看到代码随时回来查:

以后在别的页面看到不认识的英文,也可以回这一节对照。

三种基本结构(了解)

顺序、选择、循环分别是什么

以后写程序,无外乎三种“怎么执行”的方式,先混个脸熟:

流程图长什么样

流程图就是把这三种用框和箭头画出来:开始/结束用椭圆,做一件事用方框,判断条件用菱形。考试可能会让你看流程图填空,知道“顺序、选择、循环”分别长什么样就行。

第一次学不用全懂:只要知道后面几章会学「顺序做」「选一个做」「重复做」这三种写法就行,这里先混个脸熟。

本章总示例(含 main)

下面是一段完整可运行的 C 程序,包含头文件、main 函数和 return 0;。每一章都要有这样的完整程序,养成“有 main 才能运行”的习惯。

#include <stdio.h>
int main() {
    printf("Hello, 王者!\n");
    return 0;
}

下面练习区已预填了这段代码,可修改后点击「运行」查看结果。

练习区域

提示:注释可以暂时不写,等以后学熟了再慢慢加。请在下面框里仿照上面的代码输入(可修改),点击「运行」查看结果。若在线运行不可用,请把代码复制到本机 Dev-C++ 或在线编译器运行。

运行结果:

(点击「运行」后显示在这里)

易错知识(避免踩坑)

小结