C 入门必看从零开始读懂《C语言程序设计教程》核心基础配套学习《C语言程序设计教程》第一章 ~ 第四章适合人群编程零基础 / 想系统补 C 基础的初学者阅读时长约 12 分钟一、前言很多同学一上来就被 C 的“指针、引用、模板、面向对象”劝退其实《C语言程序设计教程》这本书的设计思路非常友好先语法后思想。本文把书里前四章最常考、最常用的“地基知识”整理成一篇博客配合代码示例看完就能动手写小程序。学习 C 就像盖房子数据类型是砖运算符是水泥控制流是图纸。今天我们先把这三样搞定。二、目录数据类型与变量常量与宏定义运算符与表达式流程控制语句综合小案例九九乘法表常见易错点总结三、数据类型与变量C 的数据类型分为四大类基本类型、构造类型、指针类型、空类型。初学阶段主要掌握基本类型即可。表格类型 关键字 占用字节32位 示例整型 int 4 int age 18;短整型 short 2 short s 1;长整型 long 4 long l 100;单精度浮点 float 4 float f 3.14f;双精度浮点 double 8 double d 3.14;字符型 char 1 char c ‘A’;布尔型 bool 1 bool flag true;变量定义的三要素数据类型 变量名 初始值cpp#includeusing namespace std;int main() {int age 20; // 整型变量double score 95.5; // 浮点型char grade ‘A’; // 字符型bool isPass true; // 布尔型cout 年龄: age endl; cout 分数: score endl; cout 等级: grade endl; cout 是否通过: (isPass ? 是 : 否) endl; return 0;} 小贴士float 类型的字面量要加后缀 f否则编译器会先转成 double 再截断可能造成精度损失。四、常量与宏定义常量是不可修改的固定值C 中有两种常见定义方式cpp// 方式 1宏定义预处理阶段不推荐用于类型检查#define PI 3.14159#define MAX 100// 方式 2const 常量编译阶段有类型检查推荐const double EPS 1e-6;const int MIN_SCORE 60;为什么要用 const 而不是#defineconst 有数据类型编译器能做类型检查const 有作用域#define是全局替换调试时 const 常量有名字#define替换后看不到原名名五、运算符与表达式C 运算符分为以下几类初学阶段重点掌握前 4 种表格类别 运算符 示例算术运算符 - * / % a b, a % b赋值运算符 - * / a 5 // 等价于 a a 5关系运算符 ! a b逻辑运算符 || ! a b位运算符 | ^ ~ a 2条件运算符 ?: a b ? a : bcppint a 10, b 3;cout a / b; // 输出 3整数除法结果取整cout a % b; // 输出 1取余cout (a b); // 输出 1true 转为 1cout (a b); // 输出 1两边都为真结果为真⚠️ 易错点 1 是判断相等 是赋值。初学者经常写错编译器不会报错但结果完全不一样。⚠️ 易错点 2 和 || 具有短路特性。例如a 0 b当a0为假时b不会执行。。六、流程控制语句6.1 顺序结构程序从上到下逐行执行是最基础的结构。6.2 选择结构cpp#includeusing namespace std;int main() {int score;cin score;if (score 90) { cout 优秀 endl; } else if (score 75) { cout 良好 endl; } else if (score 60) { cout 及格 endl; } else { cout 不及格 endl; } // 三目运算符的简洁写法 string result (score 60) ? 通过 : 重考; cout result endl; return 0;}6.3 循环结构cpp// 1. for 循环已知循环次数for (int i 1; i 5; i) {cout “第 i 次循环” endl;}// 2. while 循环未知循环次数int n 1;while (n 5) {cout n ;n;}cout endl;// 3. do-while 循环至少执行一次int m 1;do {cout m ;m;} while (m 5);cout endl;6.4 跳转语句cpp// break跳出当前循环for (int i 1; i 10; i) {if (i 6) break; // i6 时跳出循环cout i ;}// 输出1 2 3 4 5// continue跳过本次循环继续下一次for (int i 1; i 5; i) {if (i 3) continue; // 跳过 i3cout i ;}// 输出1 2 4 5七、综合小案例九九乘法表把今天学的循环 输出组合起来cpp#includeusing namespace std;int main() {for (int i 1; i 9; i) { // 外层被乘数for (int j 1; j i; j) { // 内层乘数cout j “×” i “” (i * j) “\t”;}cout endl; // 每行结束换行}return 0;}运行效果1×11 1×22 2×24 1×33 2×36 3×39 ... 1×99 2×918 3×927 4×936 5×945 6×954 7×963 8×972 9×981 1 八、常见易错点总结 表格 错误写法 正确写法 说明 if (a 5) if (a 5) 一个 是赋值不会报错但逻辑全错 if (a 1 a 10) 写成 if (1 a 10) 拆成两个判断 C 不支持链式比较 for (int i 0; i 10; i--) i 死循环 float f 3.14; float f 3.14f; 加 f 后缀避免精度损失 char c A; char c A; 字符用单引号字符串才用双引号 九、写在最后 本文覆盖了《C语言程序设计教程》前四章的核心内容数据类型、运算符、流程控制是后续学习函数、数组、指针、类的基础。建议读者把每个代码示例都在编译器里敲一遍并运行 —— C 是一门练中学的语言光看是记不住的。 下一篇博客我会写 C 函数与数组进阶包括函数参数传递、数组与指针的关系、字符串处理等更深入的内容敬请期待 推荐练习 1. 输入三个整数输出最大值和最小值 2. 判断一个数是否为素数 3. 用 * 打印一个等腰三角形角形 如果本文对你有帮助欢迎 点赞 收藏 ⭐ 关注 ➕有疑问可以在评论区留言 本文基于《C语言程序设计教程》整理总结代码均为原创示例。
《C++语言程序设计教程》基础语法全解析:从入门到精通
发布时间:2026/6/25 14:46:30
C 入门必看从零开始读懂《C语言程序设计教程》核心基础配套学习《C语言程序设计教程》第一章 ~ 第四章适合人群编程零基础 / 想系统补 C 基础的初学者阅读时长约 12 分钟一、前言很多同学一上来就被 C 的“指针、引用、模板、面向对象”劝退其实《C语言程序设计教程》这本书的设计思路非常友好先语法后思想。本文把书里前四章最常考、最常用的“地基知识”整理成一篇博客配合代码示例看完就能动手写小程序。学习 C 就像盖房子数据类型是砖运算符是水泥控制流是图纸。今天我们先把这三样搞定。二、目录数据类型与变量常量与宏定义运算符与表达式流程控制语句综合小案例九九乘法表常见易错点总结三、数据类型与变量C 的数据类型分为四大类基本类型、构造类型、指针类型、空类型。初学阶段主要掌握基本类型即可。表格类型 关键字 占用字节32位 示例整型 int 4 int age 18;短整型 short 2 short s 1;长整型 long 4 long l 100;单精度浮点 float 4 float f 3.14f;双精度浮点 double 8 double d 3.14;字符型 char 1 char c ‘A’;布尔型 bool 1 bool flag true;变量定义的三要素数据类型 变量名 初始值cpp#includeusing namespace std;int main() {int age 20; // 整型变量double score 95.5; // 浮点型char grade ‘A’; // 字符型bool isPass true; // 布尔型cout 年龄: age endl; cout 分数: score endl; cout 等级: grade endl; cout 是否通过: (isPass ? 是 : 否) endl; return 0;} 小贴士float 类型的字面量要加后缀 f否则编译器会先转成 double 再截断可能造成精度损失。四、常量与宏定义常量是不可修改的固定值C 中有两种常见定义方式cpp// 方式 1宏定义预处理阶段不推荐用于类型检查#define PI 3.14159#define MAX 100// 方式 2const 常量编译阶段有类型检查推荐const double EPS 1e-6;const int MIN_SCORE 60;为什么要用 const 而不是#defineconst 有数据类型编译器能做类型检查const 有作用域#define是全局替换调试时 const 常量有名字#define替换后看不到原名名五、运算符与表达式C 运算符分为以下几类初学阶段重点掌握前 4 种表格类别 运算符 示例算术运算符 - * / % a b, a % b赋值运算符 - * / a 5 // 等价于 a a 5关系运算符 ! a b逻辑运算符 || ! a b位运算符 | ^ ~ a 2条件运算符 ?: a b ? a : bcppint a 10, b 3;cout a / b; // 输出 3整数除法结果取整cout a % b; // 输出 1取余cout (a b); // 输出 1true 转为 1cout (a b); // 输出 1两边都为真结果为真⚠️ 易错点 1 是判断相等 是赋值。初学者经常写错编译器不会报错但结果完全不一样。⚠️ 易错点 2 和 || 具有短路特性。例如a 0 b当a0为假时b不会执行。。六、流程控制语句6.1 顺序结构程序从上到下逐行执行是最基础的结构。6.2 选择结构cpp#includeusing namespace std;int main() {int score;cin score;if (score 90) { cout 优秀 endl; } else if (score 75) { cout 良好 endl; } else if (score 60) { cout 及格 endl; } else { cout 不及格 endl; } // 三目运算符的简洁写法 string result (score 60) ? 通过 : 重考; cout result endl; return 0;}6.3 循环结构cpp// 1. for 循环已知循环次数for (int i 1; i 5; i) {cout “第 i 次循环” endl;}// 2. while 循环未知循环次数int n 1;while (n 5) {cout n ;n;}cout endl;// 3. do-while 循环至少执行一次int m 1;do {cout m ;m;} while (m 5);cout endl;6.4 跳转语句cpp// break跳出当前循环for (int i 1; i 10; i) {if (i 6) break; // i6 时跳出循环cout i ;}// 输出1 2 3 4 5// continue跳过本次循环继续下一次for (int i 1; i 5; i) {if (i 3) continue; // 跳过 i3cout i ;}// 输出1 2 4 5七、综合小案例九九乘法表把今天学的循环 输出组合起来cpp#includeusing namespace std;int main() {for (int i 1; i 9; i) { // 外层被乘数for (int j 1; j i; j) { // 内层乘数cout j “×” i “” (i * j) “\t”;}cout endl; // 每行结束换行}return 0;}运行效果1×11 1×22 2×24 1×33 2×36 3×39 ... 1×99 2×918 3×927 4×936 5×945 6×954 7×963 8×972 9×981 1 八、常见易错点总结 表格 错误写法 正确写法 说明 if (a 5) if (a 5) 一个 是赋值不会报错但逻辑全错 if (a 1 a 10) 写成 if (1 a 10) 拆成两个判断 C 不支持链式比较 for (int i 0; i 10; i--) i 死循环 float f 3.14; float f 3.14f; 加 f 后缀避免精度损失 char c A; char c A; 字符用单引号字符串才用双引号 九、写在最后 本文覆盖了《C语言程序设计教程》前四章的核心内容数据类型、运算符、流程控制是后续学习函数、数组、指针、类的基础。建议读者把每个代码示例都在编译器里敲一遍并运行 —— C 是一门练中学的语言光看是记不住的。 下一篇博客我会写 C 函数与数组进阶包括函数参数传递、数组与指针的关系、字符串处理等更深入的内容敬请期待 推荐练习 1. 输入三个整数输出最大值和最小值 2. 判断一个数是否为素数 3. 用 * 打印一个等腰三角形角形 如果本文对你有帮助欢迎 点赞 收藏 ⭐ 关注 ➕有疑问可以在评论区留言 本文基于《C语言程序设计教程》整理总结代码均为原创示例。