C--控制语句循环例子

时间:2023-03-08 22:57:29
C--控制语句循环例子

C的三种循环while、for和do  while

先说一下scanf()函数的返回值问题

当scanf("%d,%d",&a,&b);如果用户正确输入了俩个整形变量,那么scanf的返回值为2

当scanf("%d,%d,%d",&a,&b,&c);如果用户正确的输入三个整形变量,那么scanf的返回值为3.

/*对用户输出的整数求和*/
#include <stdio.h> int main(void)
{
long num;
long sum=;//把sum初始化为零
int status; printf("Please enter an integer to be summed,q to quit!\n");
status=scanf("%1d",&num);
while(status==) //==的意思是等于
{
sum+=num;
printf("next!q to quit!\n");
status=scanf("%1d",&num);
}
printf("All is to %1d",sum);
getchar();
getchar();
getchar();
}

for循环

经典for循环之九九乘法表:

/*经典for循环九九乘法表*/

#include<stdio.h>

int main(void)
{
int i,j;
for(i=;i<=;i++)
{
for(j=;j<=i;j++)
{
printf("%d*%d=%d ",i,j,i*j);
}
printf("\n");
}
getchar(); }

经典for循环之冒泡排序法

/* 经典for循环之冒泡排序法*/

#include<stdio.h>

int main(void)
{
int arr[]={,,,}; //定义数组 int 数组length为4
int i,j,temp;
for(i=;i<=;i++)
{
for(j=;j<;j++)
{
if(arr[j]>arr[i])
{
temp=arr[i]; //数据交换
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(i=;i<;i++) //数组下标从0开始如果不是如果i=1--i=4那么将没有arr【4】将会输出12506....
{
printf("%d ",arr[i]);
}
getchar(); }

for循环的灵活性。例如,i--,i+12,i*i,i*11,等等。

do while:退出条件循环

while循环和for循环都是入口条件循环,在每次执行loop前进行判断,如果条件不满足就不会执行循环体内的代码块。

为了确保能够在执行循环之后判断条件,do while 可以做到这一点。

--数组

/* 接收用户输入的数据存放到数组中并打印*/
#include<stdio.h> int main(void)
{ char strr[]={};
int i=; for(;i<;i++)
{
scanf("%c",&strr[i]); //我不用&的时候会报错,VC6.0.有待以后解决。
getchar(); }
for(i=;i<;i++)
{
printf("%c",strr[i]);
}
getchar();
}

返回值函数,略。