c语言语法实战案例教程,从代码编写到运行全解析

admin C语言 8


是不是学了一堆 C 语言语法,变量、循环、数组啥的都知道,可一让自己写个完整程序就犯怵?代码写出来要么报错,要么运行结果乱七八糟?其实啊,语法学得再好,不实战也没用。今天兔子哥就带大家从头到尾做一个实战案例,从代码编写到运行一步一步讲,保证新手也能看明白。

案例选啥好?就做个简单的成绩统计吧


为啥选成绩统计?因为它能用到很多基础语法,像变量、数组、循环、条件判断这些,学会了这个,其他类似的小程序也能举一反三。
这个案例要实现啥功能呢?很简单:输入 5 个学生的成绩,然后计算平均分,再统计及格(60 分及以上)的人数。你看啊,平时老师统计成绩不就经常做这个嘛,挺实用的。
用到的语法点有这些:int 类型变量存成绩和人数,float 类型存平均分,数组存多个成绩,for 循环输入和计算,if 判断是否及格。这些都是基础语法,但组合起来就能解决实际问题了。

代码怎么写?一步一步来别怕


咱们从空白开始写,别着急,跟着兔子哥的步骤走。
第一步,先写头文件和主函数。C 语言程序都得有个主函数,就像人得有个脑袋一样。头文件嘛,用 printf 和 scanf 就得加 #include ,这个别忘了。
#include
int main () {
// 后面的代码放这儿
return 0;
}

第二步,定义需要的变量。咱们需要:
  • 一个数组存 5 个成绩:int scores [5];
  • 一个变量存及格人数:int pass = 0;
  • 一个变量存总分(算平均分用):int total = 0;
  • 一个变量存平均分:float avg;
    这些变量定义在 main 函数里就行,就像在房间里摆家具,用的时候方便拿。

第三步,输入成绩。用 for 循环输入 5 次,每次输入一个成绩存到数组里。
for (i = 0; i < 5; i++) {
printf ("请输入第 % d 个学生的成绩:", i+1);
scanf ("% d", &scores [i]);
total = total + scores [i]; // 顺便把总分加上
}
哎对了,i 要从 0 开始,因为数组下标是从 0 算起的,这个坑新手容易踩。
第四步,统计及格人数。再用一个 for 循环遍历数组,每个成绩和 60 比,大于等于 60 就让 pass 加 1。
for (i = 0; i < 5; i++) {
if (scores [i] >= 60) {
pass++;
}
}
第五步,计算平均分。平均分是总分除以人数,注意要用 float 类型,不然整数除以整数结果还是整数,就不准了。
avg = total / 5.0; // 用 5.0 而不是 5,就是为了得到小数结果
第六步,输出结果。把平均分和及格人数打印出来。
printf ("平均分是:%.1f\n", avg); //.1f 表示保留一位小数
printf ("及格人数是:% d\n", pass);
把这些拼起来,完整代码就是这样:
#include
int main () {
int scores [5];
int pass = 0;
int total = 0;
float avg;
int i; // 循环变量放这儿定义,有些编译器不支持在 for 里定义

for (i = 0; i < 5; i++) {
printf ("请输入第 % d 个学生的成绩:", i+1);
scanf ("% d", &scores [i]);
total += scores [i];
}
for(i = 0; i < 5; i++) {
if(scores[i] >= 60) {
pass++;
}
}
avg = total / 5.0;
printf ("平均分是:%.1f\n", avg);
printf ("及格人数是:% d\n", pass);
return 0;
}

代码写好了,怎么运行?遇到错误咋办


写好了代码,得运行看看效果。用 Dev-C++ 的话,步骤是这样:
  1. 新建文件,把代码复制进去,保存成.c 格式(比如 score.c)。
  2. 点上面的编译按钮(或者按 F9),如果没错误,再点运行(或者 F10)。
  3. 然后就可以输入成绩,看结果了。

要是编译报错了该怎么办?别慌,看看错误提示。比如提示 “i 未定义”,那就是忘了定义 i 变量;要是提示 “expected ';' before '}'”,那就是哪个地方少了分号。顺着提示找,一般都能解决。
运行的时候输入成绩,比如输入 60、70、80、50、90,按理说平均分应该是 70.0,及格人数是 4。如果结果不对,就检查计算总分的地方,或者平均分的计算是不是用了 5 而不是 5.0。

怎么改改这个程序,让它更有用?


学会了基础版,咱们可以加点功能。比如想输入 10 个学生的成绩,只需要把数组大小改成 10,循环条件里的 5 改成 10 就行。再比如想显示每个学生是否及格,可以在输入后加个判断,当时就打印出来。
但有些朋友可能想加太多功能,结果把自己绕晕了。兔子哥建议,先把基础版吃透,保证不出错,再一点点加功能,不然很容易乱。
其实啊,写程序就像搭积木,先把小块拼好,再组合成大块。这个案例虽然简单,但包含了很多常用语法,多敲几遍,理解每一行的作用,以后遇到类似的问题就不怕了。兔子哥当年就是靠这种小案例练手,慢慢才熟练的,刚开始写错很正常,改着改着就顺了。希望这个教程能帮到你,动手试试吧!

标签: 乱七八糟 从头到尾

发布评论 0条评论)

  • Refresh code

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