kiko:各位真的是好久不见,【百炼成神】专栏终于要回归了!
小明:真的是拖欠了好久哦🤯···我都不打算订阅了的说。
kiko:呜呜呜😭,我保证,以后一周至少两更!一周两更!
小明:行叭!那就赶紧开始叭~
🌟🌟往期必看🌟🌟
目录
💃🕺kiko小剧场
🍺知识点1:循环结构与转向结构
🍯1.1 while语句
🥝1.while语句的基本知识
📜典型例题1.演示字符从两端向中间移动
🥝2.while语句与转向语句
🥝3.break语句的基本知识
🥝4.continue语句的基本知识
🍯1.2 for语句
🥝1.for语句的基本知识
📜典型例题2.打印[100,999]范围内所有的“水仙花数”。
📜典型例题3.计算n的阶乘(n!)
📜典型例题4.计算计算1!+2!+3!+……+n!
🥝2.for语句的扩展形式
🥝3.for循环省略形式
🥝4.for循环的一点小tip
🍯1.3 do-while语句
🥝1.do-while语句的基本知识
📜典型例题5.计算两个数的最大公约数
📜典型例题6.在有序数组中查找具体数字
🍯1.4 转向语句
🥝1.goto语句的基本知识
📜典型例题7.打印1~20的数字(不可使用循环语句)
Q1:什么是循环结构?
A1:循环结构是程序中的一种很重要的结构,在给定条件成立时,反复执行某程序段,直到条件不成立为止,给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供以下3种循环语句:while语句、for语句、do-while语句。
🥝1.while语句的基本知识
Q1:什么是while语句?
A1:while语句在实现循环过程中,先判断循环条件,再执行循环体,其一般语法格式为:
while(表达式) 循环体语句;执行过程:当表达式为真,即非0时,执行循环语句,然后重复上述过程,一直到表达式为0时,while语句结束。
📜案例1.无限循环
#include<stdio.h> int main() { int a=1; while(a) printf("hehe "); return 0; }kiko🎃:案例1的循环体中没有改变循环控制变量值的语句,while后的表达式始终为1,因此循环永远不结束。
📜案例2.正常循环
#include<stdio.h> int main() { int a=1; while(a<10) { printf("hehe "); a++; } return 0; }对于正常的循环过程,我们需要注意几点特征:
(1)循环体在包含一条以上语句时,应当使用代码块括起来{ },以复合语句的形式出现,否则它只认为while后面的第一条语句是循环体。while(a<10) printf("hehe "); //只循环这一句 a++; //不处于while循环中(2)循环前,必须给循环控制变量赋初值,例如本例中将a赋值了1。
int a=1;//在while循环前初始化了a while(a<10) {···(3)循环体中,必须有改变循环控制变量值的语句,使得循环趋向结束,例如本例中的a++,如果没有这条语句,循环将永远不会结束。
📜典型例题1.演示字符从两端向中间移动
什么叫从两端向中间移动呢,我们可以先举个例子,在下例中可以看到字幕从两边开始向中间补全,这就是我们希望达到的结果,那么具体我们该如何通过while循环来实现呢?
"##########" ——>"ki######zz" ——>"kiko##ngzz"——>"kikokingzz"我们不妨设置两个数组列表,然后不断通过while循环,将arr1中数组元素值赋值给arr2的对应位置,从两端向中间赋值,然后通过while循环过程中不断清屏+打印的操作来实现。
char arr1[] = { "This is kikokingzz !" }; char arr2[] = { "####################" };具体的程序代码如下:
#include<stdio.h> #include<string.h> #include<windows.h>//为了使用后面的Sleep函数 #include<stdlib.h>//为了使用system函数 int main() { char arr1[] = { "This is kikokingzz !" }; char arr2[] = { "####################" }; int left = 0; int right = strlen(arr1) - 1;//strlen不将0算入,因此不需要-2 while (left <= right) { arr2[left] = arr1[left]; arr2[right] = arr1[right]; printf("%s ", arr2); //休息1s Sleep(20);//睡眠函数-单位是毫秒 system("cls");//执行系统命令函数,cls-清空屏幕 left++; right--; } printf("%s ", arr2); return 0; }kiko🎃:值得注意的是这边用到了睡眠函数Sleep( ),它会使计算机程序(进程,任务或线程)进入休眠,单位是毫秒,因此上面的Sleep(20)就是休眠了20毫秒;system函数代表执行系统命令,system(“cls”)就是执行命令”清屏“的意思。
🥝2.while语句与转向语句
Q1:什么是转向语句?
A1:转向语句可以改变程序的流程,使程序从其所在的位置转向另一处执行。转向语句包括3种,分别是goto语句、break语句、continue语句。其中break语句、continue语句经常用在循环结构中,所以我们在这里提到啦!
🥝3.break语句的基本知识
在循环中遇到break,就停止后期所有的循环,直接终止当前循环。
Q1:如何理解“当前”二字?
A1:“当前”指的是,break语句只是跳出当前的循环语句,对于嵌套的循环语句,break语句的功能可以视作从内层循环跳到外层循环;我们可以通过下面这个例子来进行解释:
#include<stdio.h> int main() } return 0; }当i==5时,就会发生break,此时break语句跳出的只是当前的循环语句,即跳出了子循环,也就是跳出了下面这个while(i<j)的循环:
while(i<j)但是值得注意的是,此时程序仍然处于大循环while(i<11)中:
while(i<11) { while(i<j) { ··· } }










