学 C 语言的新手,是不是总卡在 “看了代码懂,自己写就懵” 的阶段?网上找的基础代码示例,要么就几行没注释,要么用法讲得太绕,根本不知道该怎么学、怎么用。其实啊,从入门到精通,关键是把基础代码的示例吃透,再搞懂每种用法的门道。今天兔子哥就带着大家,从最简单的代码示例开始,一步步讲清楚用法,就算是零基础,跟着练也能慢慢上手,一起往下看吧!
变量和数据类型:代码里的 “储物盒” 怎么用?
变量就像一个个储物盒,不同的盒子能装不同的东西 —— 这就是数据类型。比如整数用 int,小数用 float,单个字符用 char。
看这个示例:
c运行
#include int main() {int age = 20; // 整数类型,存年龄float height = 1.75; // 小数类型,存身高char gender = 'M'; // 字符类型,存性别printf("年龄:%d\n", age);printf("身高:%f\n", height);printf("性别:%c\n", gender);return 0;}用法要点:
- 定义变量时必须说清楚类型,就像告诉别人盒子装的是糖还是盐,不然编译器会糊涂。
%d、%f、%c是打印时的 “占位符”,要和变量类型对应,不然打印出来可能是乱码。- 虽然变量定义后可以改值,比如
age = 21;,但不能随便改类型,比如把 int 改成 float,这在 C 语言里是不允许的。
有新手问,为什么小数用 float 不用 int?因为 int 只能存整数,1.75 这种带小数点的数,int 装不下,强行装会丢掉小数部分,变成 1,这可不是咱们想要的。
函数:把代码 “打包”,用起来更方便
函数就像一个工具包,把常用的代码打包起来,要用的时候直接叫名字就行,不用每次都重写。
比如写一个求两数之和的函数:
c运行
#include // 定义函数:求两个整数的和int add(int x, int y) {return x + y; // 返回计算结果}int main() {int a = 5, b = 3;int sum = add(a, b); // 调用函数,传入a和bprintf("和是:%d\n", sum); // 输出8return 0;}用法要注意:
- 函数定义要写在 main 函数前面,或者在 main 前面声明一下,不然 main 函数找不到它。比如可以先写
int add(int x, int y);,再在后面写具体实现。 - 括号里的 x 和 y 是 “形参”,调用时传的 a 和 b 是 “实参”,它们的类型要一致,不然可能算错。
- 大多数程序都以 main 函数为入口,或许有些特殊情况我还没遇到,反正新手先记住,写程序必须有 main 函数。
不过话说回来,函数虽然能简化代码,但定义太多太杂反而会乱,最好一个函数只干一件事,比如专门求和、专门比较大小,这样用起来才清晰。
数组:批量存数据,比单个变量省事
要是想存 10 个学生的成绩,总不能定义 10 个变量吧?这时候数组就派上用场了,它能批量存同一类型的数据。
示例:存 5 个成绩并求平均分
c运行
#include int main() {int scores[5] = {90, 85, 95, 80, 75}; // 定义数组,存5个成绩int sum = 0;float avg;// 循环遍历数组,求总和for (int i = 0; i < 5; i++) {sum = sum + scores[i];}avg = sum / 5.0; // 除以5.0是为了得到小数结果printf("平均分:%f\n", avg); // 输出85.000000return 0;}用法要点:
- 数组定义时
scores[5]里的 5 是长度,意思是能存 5 个元素,下标从 0 开始,最后一个是 scores [4],不是 scores [5],新手常在这里越界出错。 - 初始化数组时,可以只给部分值,比如
int nums[5] = {1,2};,剩下的会自动变成 0。 - 关于不同编译器对数组越界的处理,具体原因我还没完全弄明白,可能需要查更深入的资料,反正尽量别越界就对了。
指针:看似复杂,其实是 “地址” 的另一种说法
指针是 C 语言的难点,但入门级用法没那么可怕。简单说,指针就是存变量地址的变量,就像纸条上写着储物盒的位置。
示例:用指针修改变量的值
c运行
#include int main() {int num = 10;int *p = # // p是指针,存num的地址printf("num的值:%d\n", num); // 输出10printf("p指向的值:%d\n", *p); // *p表示取p指向的内容,输出10*p = 20; // 通过指针修改num的值printf("修改后num的值:%d\n", num); // 输出20return 0;}用法要点:
- 定义指针时要加
*,比如int *p,int表示它指向的变量是 int 类型。 #是取 num 的地址,把地址给 p,p 就 “指向” num 了。*p叫 “解引用”,意思是拿到 p 指向的变量的值,通过它能修改原变量,这是指针的方便之处。
指针确实强大,不过话说回来,新手刚开始用很容易出错,比如没初始化的指针乱用,可能会导致程序崩溃,最好先多练习简单的例子,再慢慢深入。
兔子哥觉得,从入门到精通,没有捷径,就是把这些基础代码示例拆开来揉碎了学。每个示例先看懂,再自己敲一遍,改改参数试试 —— 比如把数组长度改成 10,看看循环条件怎么变;把指针指向的变量换成 float,看看打印时占位符要不要改。
别害怕出错,编译报错了就看提示,大多是拼写错、类型不匹配这些小问题。基础打牢了,后面学更复杂的代码才不会慌。希望这些示例和用法能帮到你,慢慢积累,总有一天会觉得 “原来 C 语言也没那么难”!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~