ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

小白眼里的循环

2022-01-30 11:02:24  阅读:164  来源: 互联网

标签:main int void ++ 小白 循环 printf 眼里 include


关于switch()语句

一般形式:

 switch(整形表达式)
 {
     case整型常量表达式1:语句1
     break;
     case整型常量表达式2:语句2
     break;
     case整型常量表达式3:语句3
     break;
     ……
     default:语句
     break;
 }

break与default的使用
没有写break则会直接跳转至下一个case或语句;
default用于情况都不存在时;

关于if语句

 #include<stdio.h>
 int main(void)
 {
 int num=4
    if(num=5)//这里的=是赋值,应使用==,并且编译器不会报错
      printf("hahaha\n");
 }

改进后;

 #include<stdio.h>
 int main(void)
 {
 int num=4
    if(5==num)//倒着写时,少打一个等号,编译器会报错
      printf("hahaha\n");
 }

while循环

模型:

 while(条件)
 {
 语句
 }

continue用于结束本次循环,它之后的代码不会执行,直接跳转到while语句的判断部分,进行下一次循环入口判断

#include<stdio.h>
int main(void)
{
int i = 0;
while (i < 10)
{
	i++;
	if (i == 5)
		continue;
	printf("%d ", i);
}
结果是:1 2 3 4 6 7 8 9 10

换种写法后:

#include<stdio.h>
int main(void)
{
int i = 0;
while (i < 10)
{
	if (i == 5)
		continue;
	printf("%d ", i);
    i++;
}
结果是:1 2 3 4 进入死循环

getchar()与putchar()

getchar():接收
putchar():输出

 int ch = getchar();//ch=getchar():赋值给ch
 putchar(ch);
 printf("%c\n", ch);//putchar(ch):打印ch即printf("%c",ch);

另一种情况:

int ch = 0;
while ((ch = getchar()) != EOF)
{
	putchar(ch);
}

ctrl+z:结束运行
EOF:end of file(文件结束标志,也指-1)

for 循环

 for(表达式1;表达式2;表达式3)
 循环语句;

表达式1:为初始化部分,用于初始化循环变量。
表达式2:为条件判断部分,用于判断循环何时终止。
表达式3:为调整部分,用于循环条件的调整。
for循环里也可以出现break与continue
使用break:

#include<stdio.h>
int main(void)
{
int i;
for (i = 1; i <= 10; i++)
{
	if (i == 5)
		break;//跳出直接到return 0;
	printf("%d ", i);
}
return 0;
}
结果是:1 2 3 4

使用continue:

#include<stdio.h>
int main(void)
{
int i;
for (i = 1; i <= 10; i++)
{
	if (i == 5)
		continue;//回到for()语句
	printf("%d ", i);
}
return 0;
}
结果是:1 2 3 4 6 7 8 9 10

注意:
1、不可在for循环体内改变循环变量,防止for循环体失控
2、建议for语句的循环控制变量的取值采用“前闭后开区间写法”
例如:

#include<stdio.h>
int main(void)
{
int i;
for (i = 1; i <= 10; i++)//前后都是闭区间
{
	if (i = 5)//此处写错,变量赋予新的值,一直循环,建议反写:if(5==i)
		continue;//回到for()语句
	printf("%d ", i);
}
return 0;
}

for循环的变种

#include<stdio.h>
int main(void)
{
int i=0;
for (;;)
{
printf("%d ", i);
}
return 0;
}
结果是:无限打印0

1、for循环的初始化、判断、调整都可以省略,但是,for循环的判断部分如果被省略,那么判断条件就是:恒为真
2、如果不是十分熟练,建议不要随便省略代码

#include<stdio.h>
int main(void)
{
int i=0;
int j=0;
for (;i<10;i++)
{
   for(;j<10;j++)//由于初始化被省略,所以每一次再进入for循环时,j为最后一次结果10
printf("%d ", j);
}
return 0;
}
结果是:0 1 2 3 4 5 6 7 8 9

订正:

#include<stdio.h>
int main(void)
{
int i = 0;
int j = 0;
for (i=0; i < 10; i++)//此处的i=0可以省略
{
    for (j=0; j < 10; j++)
        printf("%d ", j);
}
return 0;
}

另一种:
#include<stdio.h>
int main(void)
{
int i=0;
int j=0;
for(i=0,j=0;j=0;i++,j++)//you由于判断式中j=0恒为假,故无法循环
j++;
return 0;
}
订正:

 #include<stdio.h>
 int main(void)
 {
     int i = 0;
     int j = 0;
     for (i = 0, j = 0; j == 0; i++, j++)//此处只循环一次
         j++;
     return 0;
 }

代码的优化:

#include<stdio.h>
int main(void)
{
int i = 1;
int n = 1;
int 阶层 = 1;
int sum = 0;
int j = 0;
printf("请输入一个数字:");
scanf_s("%d", &n);//使用了两个循环,效率不高
for (sum = 1; sum < n+1; sum++)
{
	阶层 = 1;
	for (i = 1; i < sum + 1; i++)
	{
		阶层 = 阶层 * i;
	}
	j=j+阶层;
}
printf("从1到%d的阶层之和=%d\n", n,j);
return 0;
}

优化:

#include<stdio.h>
int main(void)
{
int i = 1;
int n = 1;
int sum = 0;
int j = 0;
printf("请输入一个数字:");
scanf_s("%d", &n);
for (sum = 1; sum < n + 1; sum++)
{
	i =i*sum ;
	j = j + i;
}
printf("从1到%d的阶层之和=%d\n", n, j);
return 0;
}

do while循环

示例:

#include<stdio.h>
int main(void)
{
int i=1;
int n = 0;
printf("请输入具体整数:");
scanf_s("%d", &n);
printf("从1到%d中的偶数有:\n", n);
do
{
	if(i%2==0)
	printf("%d ", i);
	i++;
} 
while (i<=n);
return 0;
}

do之后若需要执行一条以上语句,需要使用花括号

标签:main,int,void,++,小白,循环,printf,眼里,include
来源: https://www.cnblogs.com/yebingfei1/p/15856502.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有