循环语句笔记-C语言
2018-11-09 22:40
127 查看
1.循环三要素
-循环变量的初值
-循环变量的判断
-循环变量的更新
int i = 9; // 定义一个整型变量 i 并将9赋值给 i while(i > 1) // 判断变量 i 是否 大于1,确定是否执行下列代码 { i -= 2;//变量 i 的更新 }
在C语言中,循环条件非常灵活,可以是各种表达式,并不仅限于条件表达式或逻辑表达式,只要表达式的返回值为非0,即认为循环条件为true;表达式的返回值为0,即认为循环条件为false,结束循环。
2. while循环结构
while语句可用来实现入口条件循环,即当循环条件满足时执行循环体内的语句
错了的题
使用循环计算1-100的累加和
需要循环变量
需要累积和变量
原答案
#include <stdio.h> int main() { int num; num = 1; while(num <= 100) { printf("%d\n",num++);//试图妄想直接在num中累加 num++; } return 0; }
从以上的代码和运行结果可以看出,原答案一定是错的。只定义了循环变量,而没有定义累加和变量,所以一直在变量num中运行。
正确答案
#include <stdio.h> int main() { int num,sum;// 定义了累加和sum变量 num = 1; sum = 0; while(num <= 100) { sum = sum + num;// 累加和的计算 printf("%d\n",sum); num++; } return 0; }
从以上答案的对比中可以看出,变量真的很重要,也不要妄想以一个变量能撬起整个代码,数学理解能力也很重要
3.do-while循环结构
do-while循环结构应该可以算是while循环结构的倒数。while循环结构是先判断再执行,而do-while循环结构是先执行后判断。
do-while语句适合先循环,然后在循环过程中产生控制条件,第一次循环结束后,再判断条件,以决定是否进行下一次循环。
例
#include <stdio.h> int main() { int num,sum; num = 1; sum = 0; do // 也不能忘记写了 { sum = sum + num; printf("%d\n",sum); num++; } while(num <= 100);// **需要特别注意,这里的while需要“ ; ”,一定不能忘了 ** return 0; }
答案与上面截图一样
4.for循环结构
for循环结构就很高级了!!!
for(循环变量赋初值;循环条件;循环变量增值)
其实其他都与上两个循环差不多,就上面表达不同吧
例
#include <stdio.h> int main() { int num,sum; sum = 0; for(num = 1;num <= 100;num++)// 注意!!! { sum = sum + num;//sum += num; printf("%d\n",sum); } return 0; }
5.循环的嵌套
其实应该可以把循环的嵌套和if-else语句看成一起的吧,就是外面的if套几个里面的else if,那么for语句里的里面再套几个for语句。
例题------九九乘法表
#include <stdio.h> int main() { int i,j; for(i = 1;i <= 9;i++) { for(j = 1;j <= 9;j++) { printf("%d*%d = %-2d",i,j,i*j); } printf("\n"); } return 0; }
忽略那个运行结果的美观,以后再看看有啥改进的地方
6.返回语句
一般有int的,就返回整型,然后就这样推吧。而void就不需要返回值了,void就看成是空的,不需要任何值的
找到一个好玩的返回值代码
#include <stdio.h> int main() { int max(int x,int y); int min(int x,int y); int j,p,t; printf("输入数组长度:\n"); scanf("%d",&j); int a[j],m,n,i; printf("输入数组内容:\n"); for(i=0;i<j;i++) scanf("%d",&a[i]); printf("\n"); for(i = 1,m = a[0],n = 0;i < j;i++) { if(max(m,a[i])>m) { m = max(m,a[i]); n = i; } } for(i = 1,p = a[0],t = 0;i<j;i++) { if(min(p,a[i])<p) { p = min(p,a[i]); t = i; } } printf("最大值为%d\n第%d位\n最小值为%d\n第%d位\n",m,n+1,p,t+1); return 0; } int max(int x,int y) { return(x>y?x:y);//就这里,自定义函数的返回值 } int min(int x,int y) { return(x<y?x:y); }
相关文章推荐
- [黑马程序员]09[C语言]循环控制语句部分学习笔记总结
- 【达内C++学习培训学习笔记系列】C语言之三循环语句和数组
- 黑马程序员——C语言循环、switch与if语句笔记和习题
- C语言学习笔记 (二) C语言的语句
- Go语言学习笔记 --- 控制语句之if判断,循环语句for, switch语句和跳转语句
- 【C语言学习】《C Primer Plus》第6章 C控制语句:循环
- Python学习笔记二_if 条件语句、for循环语句、while 循环语句
- C++反汇编学习笔记2——循环语句
- 第1周 C语言及程序设计初步 例程-5 三种循环语句
- C#回顾学习笔记十一:while循环语句
- Java学习笔记---4.Java的分支循环语句
- Python基础教程笔记——第5章:条件,循环和其他语句
- 黑马程序员——C语言——循环控制语句
- C语言:break和continue语句改变循环
- C语言笔记系列之五——条件判断语句
- c语言for循环等语句详解
- 【C语言】不使用循环和判断语句,求出1-100之间所有数的和
- 【c语言】不能使用循环语句和判断语句,求1-100所有整数的和
- PHP学习笔记——循环结构do...while语句
- PHP学习笔记——循环结构for语句应用