【C语言】:从Hello World到三大基本结构 很多人学C语言的第一行代码都是printf(Hello World);。但回过头看这简单的代码里包含了预处理、主函数和返回值等基础概念。今天这篇文章我将复盘C语言入门阶段的核心内容从Hello World到分支、循环这三大基本结构。一、初识 C 语言程序结构#include stdio.h int main() { printf(Hello World!); return 0; }这段简单的代码其实每一句都有重要作用。①#include stdio.h---相当于一本书里面封装了很多库函数如果没有这本书计算机就不能够认识这些函数从而不能够执行你的命令。②int main()//告诉计算机从这里开始读③printf(Hello World); 黑景框输出Hello World! 中的内容也就是计算机给我的反馈。return 0;//告诉计算机在此结尾printf();a.当中无格式控制符就将中的内容打印在屏幕上b.当中有格式控制符如果后有一个变量则将变量空间中的值按格式控制符的形式打印在屏幕上注意main函数只能有一个二、基本数据类型数据类型字节大小格式控制符int4Byte%dshort2Byte%hdlong4Byte%ldlong long8Byte%lldchar1Byte%cfloat4Byte%fdouble8Byte%lf三、分支语句分支语句分为三种1.单分支if(表达式{语句}如果表达式为真则执行语句表达式不为真则不执行#include stdio.h int main() { int age 17; if (age 18) { printf(未成年); } return 0; }上面就是一个简单的单分支语句。2.双分支if(表达式{语句1}else{语句2}如果表达式为真则执行语句1表达式不为真则执行语句2#include stdio.h int main() { int age; printf(请输入年龄); scanf(%d, age); //输入年龄 if (age 18) //判断是否成年 { printf(成年了\n); } else { printf(未成年\n); } return 0; }3.多分支if(表达式{语句1}else if(表达式){语句2}else if(表达式){}必须强制性从第一个if开始去挨个判断4. 分支语句注意点① 在撰写判断条件表达式时 如果出现 的情况 优先将常量放置在左边②else 与其最近的if对齐③if后一定要加{}如果不加只包含一句四、循环语句循环语句也分为三种1.for循环这是我最常用的当我们明确的知道要跑几次的时候for循环是个很好的选择比如我知道要跑10次for (int i 0; i 10; i) { printf(这是第 %d 次打印\n, i 1); }所以for循环的基本结构为for (初始部分 终止部分 调整部分){//语句}每循环一次调整部分都会靠近终止部分一点直到循环结束。2.while循环不知道我到底要循环多少次只要满足条件就一直循环。基本结构while(表达式{语句}如果表达式为真则循环执行语句如果表达式为假则不执行比如一个猜数字游戏你不知道猜几次才会成功只要没猜对就可以一直猜。但是如果一开始条件就不满足它一次都不会执行。int guess 0; while (guess ! 8) { printf(猜错了请重新输入); scanf(%d, guess); }● 这里我想解释一下为什么刚开始要给guess赋值为0因为我学习的时候老是忘记这一点。首先我们申请了一个变量guess在C语言当中变量相当于一个盒子当我写下int guess的时候就相当于我申请了一个只能放整形的盒子但是我如果不给他赋值计算机就会给他一个随机值。假设我没有给他赋值计算机给她一个随机值20那么对循环不会有影响还是可以继续执行但是如果计算机一开始给它的随机值是8呢那循环还没进去就结束了一次都不会执行就达不到我们想要的效果了。需要注意的是不是每个while循环都要赋初值为0需要考虑实际情况以及代码所实现的功能来调整。3. do while 循环这个循环的与前两个的不同点是do while 循环他是先执行一次代码再去做判断也就是说不管条件真假循环里面的代码至少会执行一次。基本结构do {语句;} while (条件表达式);//注意while表达式后面要加分号do while 在代码编写中需要菜单时用的比较多五、break 和continue通常在我们写循环语句时会和breakcontinue搭配使用。break: 直接强制跳出整个循环。只要遇到break后面的循环次数就统统取消直接跳到循环外面。continue跳出当前所有代码重新进入循环他没有直接跳出循环只是结束了本次训环。注意while循环中要避免使用continuecontinue可能会调整部分让他不在靠近终止部分造成不必要的死循环举个int i 1; while (i 10) { if (i 5) { continue; // 遇到5就跳回开头 } printf(%d , i); i; }这个代码就有个bug 进入循环后i1,满足条件继续向他走i,i变成2以此类推当i加到5时满足条件进入循环if判断为真continue跳过后面的代码重新进入循环这时候i并没有执行后面的 i,因此他还是5然后继续循环遇到continu这样就形成了一个死循环。最后写一个简单的使用了break的例子int main() { int my_password; printf(请输入你的密码(5位)); scanf(%d, my_password); printf(密码设置成功\n); int i 1; while (i 5) { int password; printf(请输入密码(5位)); scanf(%d, password); if (password my_password) { printf(密码正确\n); break; } else { printf(请重新输入密码您还有%d次机会\n, 5 - i); } i; if (i 6) { printf(密码错误累计五次手机已锁定\n); break; } } return 0; }五次密码都输入错误输入成功