零基础如何通过C教程快速学会循环与条件语句用法

admin 综合编程开发技术 3


是不是刚学 C 语言就卡在这俩地方?想让程序判断个 “及格不及格”,写的 if 语句要么没反应,要么全错;想让程序重复算个数,要么少算一次,要么直接卡死,只能关掉重来?其实啊,循环和条件语句是 C 语言里让程序 “变聪明” 的核心,零基础学这个真不用怕,找对方法练几天就能上手。今天兔子哥就用大白话,带着大家从基础用法到实战例子,把这俩知识点吃透,保证你看完就知道该怎么练,再也不用对着代码发呆啦!

一、先搞定条件语句:让程序学会 “做选择”


新手最懵的问题:if...else 到底咋用?为啥我的判断总出错?


咱们生活里天天做选择:“下雨了就带伞,不下雨就不带”“考试及格了就出去玩,不及格就刷题”。条件语句就是让程序干这事的,用 if...else 就能实现,特简单。

1. 最基础的 if 语句:满足条件就做事


比如判断一个数是不是正数,用 if 语句这么写:
c
#include int main() {int num = 5;if (num > 0) { // 如果num大于0printf("这是正数!"); // 就打印这句话}return 0;}

你看,if (条件)后面加个大括号,条件满足了就执行括号里的代码。这里的条件可以是> < ==这些比较,记住判断相等要用==,单个=是赋值,别弄混,新手最容易在这栽跟头。

2. 加个 else:条件不满足就换个做法


光有 if 不够啊,比如判断成绩及格不及格,得有两种结果:
c
int score = 70;if (score >= 60) {printf("及格啦,真棒!");} else { // 如果上面的条件不满足,就执行这里printf("不及格,再努努力!");}

这里要注意,else 后面不用写条件,它自动对应前面最近的 if,大括号也别忘了加,不然程序可能只执行第一行代码,后面的不管。

3. 多条件判断:用 else if 处理多种情况


有时候选择不止两种,比如给成绩评等级:
c
int score = 85;if (score >= 90) {printf("优秀");} else if (score >= 80) { // 前面条件不满足,就看这个printf("良好");} else if (score >= 60) {printf("及格");} else { // 前面都不满足,就到这printf("不及格");}

这里有个小技巧:条件要按顺序写,从大到小或从小到大,不然可能判断不准。比如先写score >=60,那 85 分就会直接判成 “及格”,不会到 “良好” 了,对吧?

二、再学循环语句:让程序 “重复做事” 不费劲


场景痛点:想打印 1 到 10 的数字,总不能写 10 个 printf 吧?


这时候循环就派上用场了!循环能让一段代码重复执行,不用手动复制粘贴,简直是省事儿小能手。C 语言里常用的有 for、while、do-while 三种,咱们一个个说。

1. for 循环:已知次数时最好用


比如打印 1 到 5 的数字,用 for 循环特清晰:
c
for (int i = 1; i <= 5; i++) { // 初始化;条件;更新printf("%d ", i); // 输出:1 2 3 4 5}

你看这格式多规整:for(初始变量; 循环条件; 变量更新),三部分都写对,循环就错不了。新手常忘的是 “变量更新”,比如漏写i++,变量 i 不变,条件永远满足,就成了 “死循环”,程序卡着不动,只能强制关掉,这点一定要注意!

2. while 循环:不知道次数,靠条件结束时用


比如让用户输入数字,直到输入 0 才停下:
c
int num;printf("请输入数字(输入0结束):");scanf("%d", &num);while (num != 0) { // 只要num不是0,就一直循环printf("你输入了:%d\n", num);printf("请继续输入(0结束):");scanf("%d", &num); // 记得更新条件,不然死循环}printf("结束啦!");

while 循环要注意,循环里一定要有让条件变化的代码,比如这里的重新输入 num,不然就会一直循环下去,跟 for 循环漏写 i++ 一个道理。

3. do-while 循环:至少要执行一次时用


和 while 的区别是,do-while 先执行一次代码,再判断条件,保证至少跑一遍。比如让用户输入密码,至少输入一次:
c
int password;do { // 先执行一次printf("请输入密码:");scanf("%d", &password);} while (password != 123456); // 密码不对就再输printf("密码正确!");

这种情况用 do-while 就比 while 好,不用在循环外先写一次输入代码,省事多了。

三、条件和循环结合:做个小工具练手


光单独练没意思,把条件和循环放一起,才能做实用的东西。比如做个 “偶数求和器”:计算 1 到 100 里所有偶数的和。

步骤拆解:


  1. 用循环遍历 1 到 100 的数字;
  2. 用条件判断是不是偶数(能被 2 整除);
  3. 是偶数就加到总和里。

代码示例:


c
#include int main() {int sum = 0; // 存总和// 循环1到100for (int i = 1; i <= 100; i++) {// 判断是不是偶数(i%2 == 0)if (i % 2 == 0) {sum = sum + i; // 是偶数就加进来}}printf("1到100的偶数和是:%d", sum); // 结果是2550return 0;}

你看,这段代码把 for 循环和 if 条件结合起来,是不是很实用?新手可以试试改改条件,比如算奇数的和,或者 1 到 50 的偶数和,练手特好。

四、常见错误对照表:这些坑你肯定会踩


错误类型错误代码示例为啥错了怎么改
if 条件用 =if (score = 60)单个 = 是赋值,条件永远为真改成 ==:if (score == 60)
循环漏更新while (i < 10) { printf(i); }i 不变,条件永远满足,死循环加 i++:while (i < 10) { printf (i); i++; }
漏写大括号if (a> b) printf ("大"); printf ("结束");第二个 printf 不管条件都执行加上大括号:if (a> b) { printf ("大"); } printf ("结束");
循环条件反了for (i=5; i > 0; i++)i 越来越大,条件永远满足改成 i--:for (i=5; i> 0; i--)

五、自问自答:新手练的时候最常问的问题


Q:“三种循环到底该用哪个啊?总选错。”
A:简单说:知道要循环几次用 for(比如 1 到 100);不知道次数但知道结束条件用 while(比如输入 0 结束);至少要执行一次用 do-while(比如输密码)。刚开始不用纠结,多试几次就有感觉了。
Q:“条件语句里的 else 总跟错 if,咋办?”
A:最好的办法是加缩进和大括号,哪怕代码只有一行也加上,比如:
c
if (a > 10) {if (a > 20) { // 缩进表示这个if属于上面的printf("很大");} else { // 这个else对应最近的if(a>20)printf("中等");}}

这样一眼就能看出谁跟谁配对,不容易错。
兔子哥觉得,学循环和条件语句的关键就俩字:多练。别光看教程里的例子,自己动手改改条件、换换循环类型,看看结果咋变的。我刚开始学的时候,写 for 循环总把条件写成i = 10,结果循环一次就停,改了三次才发现是把<写成=了,现在想起来还挺逗。
其实这俩知识点不难,就是细节多,比如===的区别、循环里的更新语句,这些小地方注意到了,写代码就顺了。新手别怕报错,错一次就记一次,下次就不会再犯。现在就打开编译器,从写一个简单的 if 判断开始,再试试用循环打印点东西,你会发现越练越顺手,加油哦!

标签: 第一行代码 有时候

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~