C语言基础之for循环的使用
一.for循环格式.
1: for (语句1; 条件; 语句2)
2:
3: {
4:
5: 循环体
6:
7: }
8:
9: 具体:
10:
11: 语句1:初始化语句
12:
13: 语句2:增量语句(执行完循环体后再执行的语句)
14:
二.for语句执行
1.for一开始就会执行一次语句1(整个for循环只会执行一次)
2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立
1: #include <stdio.h>
2:
3: int main()
4:
5: {
6:
7: for (int count = 0; count < 50;)
8:
9: {
10:
11: printf("做俯卧撑\n");
12:
13: count++;
14:
15: }
16:
三.for循环的几种格式
1: 格式一:
2:
3: int count = 0;
4:
5: for ( ; count < 50; )
6:
7: {
8:
9: printf("做俯卧撑\n");
10:
11: count++;
12:
13: }
14:
15: 格式二:
16:
17: for (int count = 0; count < 50; )
18:
19: {
20:
21: printf("做俯卧撑\n");
22:
23: count++;
24:
25: }
26:
27: 格式三:
28:
29: for (int count = 0; count < 50; count++)
30:
31: {
32:
33: printf("做俯卧撑\n");
34:
35: }
36:
37: 格式四:
38:
39: for (int count = 0; count < 50; printf("做俯卧撑\n"),printf("哈哈哈\n"),count++){
40:
41: }
42:
四.for循环的几个注意点
1.不要随便在for()后面写分号
1: for (int i=0; i<5; i++);
2:
3: {
4:
5: printf("哈哈\n");
6:
7: }
8:
错误:变量a的作用域不明确
2. 如果要在循环体中定义新的变量,必须用大括号{}包住
1: for (int i=0; i<5; i++)
2:
3: int a = 10;
4:
3.局部变量的使用应注意范围
1: 例一.
2:
3: for (int i = 0; i<10; i++, a++)
4:
5: {
6:
7: // a只能用在循环体{}中
8:
9: int a = 10;
10:
11: }
12:
13: 例二.
14:
15: int a = 10;
16:
17: for (int i=0, a= 9; i<5; i++)
18:
19: {
20:
21: //int i = 10;
22:
23: int a = 11;
24:
25: printf("a=%d\n", a);
26:
27: }*/
28:
4.最简单的死循环.
1: for(;;);
2:
3: // 最简单的利用for循环实现死循环
4:
五.两个for循环的神奇威力
例一:
1: /*
2:
3: 好友列表1
4:
5: 好友1
6:
7: 好友2
8:
9: 好友列表2
10:
11: 好友1
12:
13: 好友2
14:
15: 好友列表3
16:
17: 好友1
18:
19: 好友2
20:
21: */
22:
23: #include <stdio.h>
24:
25: int main()
26:
27: {
28:
29: for (int i = 1; i<=4; i++)
30:
31: {
32:
33: //printf("好友列表%d\n", i + 1);
34:
35: printf("好友列表%d\n", i);
36:
37: for (int j = 1; j<=7; j++)
38:
39: {
40:
41: printf(" 好友%d\n", j);
42:
43: }
44:
45: }
46:
47: return 0;
48:
49: }
50:
例二:
1: /*
2:
3: 提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
4:
5: *****
6:
7: ****
8:
9: ***
10:
11: **
12:
13: *
14:
15: */
16:
17: #include <stdio.h>
18:
19: int main()
20:
21: {
22:
23: // 1.定义一个变量存储用户输入的值
24:
25: int n = 0; // 一定要初始化
26:
27: // 2.判断n值合不合理
28:
29: while (n <= 0)
30:
31: {
32:
33: // 2.1 提示用户输入正整数
34:
35: printf("请输入一个正整数:\n");
36:
37: // 2.2 接收输入的数据
38:
39: scanf("%d", &n);
40:
41: }
42:
43: // 3.输出图形
44:
45: for (int i = 0; i<n; i++)// 有多少行
46:
47: {
48:
49: //printf("*****\n");
50:
51: for (int j = 0; j<n-i; j++)
52:
53: { // 每一行有多少个
54:
55: printf("*");
56:
57: }
58:
59: printf("\n");
60:
61: }
62:
63: return 0;
64:
65: }
C语言基础之for循环的使用的更多相关文章
- C语言基础知识【循环】
C 循环1.有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推.编程语言提供了更为复杂执行路径的多种控制结构.循环语句允许我 ...
- GO语言-基础语法:循环
golang只有for没有while package main import ( "fmt" "os" "bufio" ) func for ...
- go语言基础之for循环
1.for 的用法 示例: package main //必须有一个main包 import "fmt" func main() { //for 初始化条件 ; 判断条件 ; 条件 ...
- 【C语言基础】unsigned short类型用于循环的一个难点
我在我的知识星球:“C语言解惑课堂”里的第一篇提出一个问题:[第1篇][C语言基础][unsigned short类型用于循环的一个难点]要查看更多的C语言难点解析或者需要提问的同学,微信扫扫文末我的 ...
- [08 Go语言基础-for循环]
[08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
- 黑马程序员_ C语言基础(二)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): 1.Hello W ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
随机推荐
- HDU 4747 Mex ( 线段树好题 + 思路 )
参考:http://www.cnblogs.com/oyking/p/3323306.html 相当不错的思路,膜拜之~ 个人理解改日补充. #include <cstdio> #incl ...
- android 继承ListView实现滑动删除功能.
在一些用户体验较好的应用上,可以经常遇见 在ListView中 向左或向右滑动便可删除那一项列表. 具体实现 则是继承ListView实现特定功能即可. (1). 新建 delete_butt ...
- 软考——(5)计算机系统之CPU组成
其实我们很早就接触过计算机系统方面的知识,但是还是出现印象不深,理解不清楚的现象,丢分很严重.这部分的知识需要我们花功夫去理解,因为很多东西我们接触不到,比如校验码.码制等,如果你不去理解而是去记,就 ...
- 【bzoj2044】三维导弹拦截 dp+二分图最大匹配
题目描述 n个物品,第i个位置有ai.bi.ci三种属性.每次可以选出满足$\ a_{p_i}<a_{p_{i+1}}\ ,\ b_{p_i}<b_{p_{i+1}}\ ,\ c_{p_i ...
- [bzoj] 1043 下落的圆盘 || 圆上的“线段覆盖”
原题 n个圆盘,求下落后能看到的总周长. 红色即为所求 借鉴于黄学长的博客 对于每下落的一个圆盘,处理他后面的圆盘会挡住哪些区域,然后把一整个圆(2\(/pi\))当做一整个区间,每个被覆盖的部分都可 ...
- node_module删除
https://segmentfault.com/q/1010000002972327 npm install rimraf -g rimraf node_modules
- java:网络编程(InetAddress,InetSocketAddress,URL,TCP(Socket与SeverSocket),TCP与UDP的区别)
InerAddress: /**IP地址:在网络上唯一标示一台计算机 * 端口号:标示计算机上不同的应用程序 * java.net.InetAddress类:此类表示互联网协议 (IP) 地址. * ...
- SD卡给MCU升级
目 录1. 前言2. 初识BootLoader2.1 百度百科的BootLoader2.2 BootLoader的简单理解2.3 BootLoader的作用3. BootLoader预备知识3.1 复 ...
- Topcoder SRM 601 div1题解
日常TC计划- Easy(250pts): 题目大意:有n个篮子,每个篮子有若干个苹果和橘子,先任取一个正整数x,然后从每个篮子中选出x个水果,把nx个水果放在一起,输出一共有多少种不同的组成方案.其 ...
- 【ZOJ4061】Magic Multiplication(构造)
题意:定义一个新运算为两个数A,B上每一位相乘,然后顺次接在一起,现在给定结果C和原来两个数字的长度,要求恢复成原来的数字A,B 若有多解输出A字典序最小的,A相同输出B字典序最小的,无解输出Impo ...