while
入口条件循环,在满足指定的条件后开始进行循环,在经过循环后不满足循环条件后退出执行后续代码。
例:
#include<stdio.h>//计算网球赛的总分和平均分
int main()
{
float a,c,b;
a=0,b=0,c=0;
printf("输入每场分数后按空格,然后输入任意字符得到平均分\n");
while(scanf("%f",&a)==1)//循环得到每次输入的数,的=当检测到字符的是后停止运行
{
c++;//计数
printf("第%.0f场分数:%f\n ",c,a);
a+=a;//计算想要的值
}
b=a/c;
printf("平均分为%.2f(保留2位小数。",b);
}
当第七行的while检测到返回值不为一的时候终止循环,但在这里输入值为空的时候会一直等待用户输入,所一要输入其他字符让返回值为0终止循环。
for
在c语言中循环是经常用到的。
但是while太过麻烦
(我发誓这半个月的几天我应为这个找bug快吐了,花括号简直是我爹,一不对就写错,写另外的循环里面了,while做嵌套循环会死的,而且学校这编译器还有bug搞了一下午才发现。这红书简直看起来要命啊,算了结尾在吐槽。)
先来一个等差数列(简单的)
#include<stdio.h>
int main()
{
int a,b,c=1,d;
printf("输入首项:\n");
scanf("%d",&a);
printf("输入公差:\n");
scanf("%d",&b);
printf("你所求的是第几项:%d\n",d);
scanf("%d",&d);
while(c<=d)//进入条件
{
a+=a;//所执行的代码
c++;//更新
}
printf("第%d项的值为:%d",d,a);
}
而用for写则是
#include<stdio.h>
int main()
{
int a,b,c;
printf("输入首项:");
scanf("%d",&a);
printf("输入公差:");
scanf("%d",&b);
printf("你所求的是第几项:");
scanf("%d",&c);
for(int i=1;i<c;i++)
{
printf("第%d项的值为:%d\n",i,a);
a+=b;
}
printf("第%d项的值为:%d",c,a);
return 0;
}
他的格式是这样的
for (循环变量赋初值; 循环条件; 循环变量增值)
{
语句;
}
这就是简单的for循环,但用起来就不一样了。(很多题会要命的,尤其是初学简化代码的加不写注释的,我谢谢你啊学长)
循环是可以嵌套循环的
例如:
#include<stdio.h>
int main()
{
int i=0,j=0;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%d\t",i,j,i*j);
}
printf("\n");
}
return 0;
}
简单的乘法表,这是很简单的。循环2次。还有各种写法我第一次是用while写的。自己试试吧
简单来说for是while的方便代替。也更简单。
do while
出口条件循环,代码至少执行一次然后判断是否继续执行
#include<stdio.h>
int main()
{
int a,b,c;
do{
printf("猜一猜我想的是几;");
scanf("%d",&b);
}while(b!=99);
printf("猜对了");
}
哈哈哈,,,,好冷的代码(这就是上课他的讲冷笑话)
数组
当我们遇到一组数据,比如一组数列要随时调用,我们不能让计算机一个个计算所以这是我们可以使用数组把他存在数组内,当然你也可以一个一个定义它的名字,只要你有那耐性。并且他还可以让我们更好的读懂代码。
//代码1
int arr1[10];
char arr2[10];
float arr3[1];
double arr4[20];
//代码2
//用宏定义的方式
#define X 3
int arr5[X];
//代码3
//错误使用
int count = 10;
int arr6[count];//数组时候可以正常创建
————————————————
版权声明:本文为CSDN博主「bruin_du」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_49217297/article/details/118529946
就是这样子的,所以我学学在写吧。写了半天和写英语作文一样,啥都不会。
重点:
1.数组是从0开始计算的
例如:int mun[5]
那么就有mun[0] mun[1] mun[2] mun[3] mun[4]这五个
2.[ ]里不可以使用变量只能使用常量。
3.还可以直接指定
例如:int mun1[5] = {1,2,3,4,5};
然后是应用是这样的:
#include<stdio.h>//计算平均分还有总分
int main()
{
int a[10],b,c,d;
d=10;
float aq,aw,ae;
printf("输入你的分数:\n");
for(b=0;b<d;b++){
scanf("%d",&a[b]);
}
for(b=1;b<=d;b++)
{
printf("%d ",a[b]);
if(b==5)
printf("\n");
}
for(b=0;b<d;b++)
{
c+=a[b];
}
aq=(float)c/d;
printf("总分:%d\n平均分:%.2f(保流两位小数)",c,aq);
return 0;
}
有没有感觉到这个代码读起来有点麻烦吗,而且在改动的时候会出现各种问题。
当你学习到这里的时候你就要有这所谓的美观意识了,也就是所谓的简化还有写注释,这个习惯应该在最初就要养成的。但是我没有所以吃了很多的亏,所以我们优化一下。
#include<stdio.h>//计算平均分还有总分
#define d 10//所求分数的项数
int main()
{
int a[d],b,c;
float aq;
printf("输入%d个求的分数:\n",d);
for(b=0;b<d;b++){
scanf("%d",&a[b]);//读取对应的分数
}
printf("各项分数为:\n");
for(b=1;b<=d;b++)
{
printf("%5d ",a[b]);//验证分数
if(b==5)
printf("\n");
}
for(b=0;b<d;b++)//求总分
{
c+=a[b];
}
aq=(float)c/d;//求平均分
printf("总分:%d\n平均分:%.2f(保流两位小数)",c,aq);
return 0;
}
函数返回值
1、函数返回值
定义:函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过return语句返回。
没有返回值的函数为空类型,用void表示。一旦函数的返回值类型被定义为 void,就不能再接收它的值,即若函数没有返回值,表达式 int 变量 = 函数() 错误。养成良好的编程习惯,将不需要返回值的函数定义为void类型。
返回值的类型必须与函数定义类型一致。例如:在返回类型是char的函数中,return后应该是char类型的值。看一下就可以了