C语言程序
----教学过程篇循环控制
几乎所有的实用程序都包含了循环,该结构是结构化程序设计的基本构造单元,
循环结构有以下几种:
( 1) goto语句和 if语句构成
( 2) while语句
( 3) do-while语句
( 4) for 语句循环控制
Goto语句为无条件转向语句,其格式为:
goto 语句标号;
语句标号用标识符表示,命名规则和变量名相同,不可用整数作为标识符
---- goto 语句的使用
( 1)和 if一起构成循环
( 2)跳出循环体循环控制(程序一)
#include <stdio.h>
#include <stdlib.h>
main()
{
long i,x,y,temp1=1,temp2=1,temp3=1;
printf("请输入要做组合运算的两个数,\n");
scanf("%ld%ld",&x,&y);
i=y-x;
loop1,if(x>0)
{
temp1=temp1*x;
x--;
循环控制(程序一)
goto loop1;
}
loop2,if(y>0)
{
temp2=temp2*y;
y--;
goto loop2;
}
loop3,if(i>0)
{
temp3=temp3*i;
i--;
循环控制(程序一)
goto loop3;
}
i=temp2/(temp3*temp1);
printf("the result is,%ld\n",i);
system("pause");
}
循环控制
While 语句格式为:
while (表达式 ) {语句 }
当表达式的值为真的时候,执行
while语句花括号中的内容。
特点:先判断表达式,后执行语句循环控制
While 语句使用须知:
( 1)循环体如果没有加花括号,则其范围只到 while 后的第一个分号处
( 2)循环体中应该有语句使循环体结束,
否则程序会陷入死循环,无法结束。
循环控制(程序二)
求两个整数的最大公约数
#include <stdio.h>
#include <stdlib.h>
main()
{
int x,y,r,temp;
printf("请输入两个求最大公约数的整数,\n");
scanf("%d,%d",&x,&y);
if(x<y)
{
temp=x;
x=y;
循环控制(程序二)
y=temp;
}
while ((x%y)!=0)
{
r=x%y;
x=y;
y=r;
}
printf("the result is,%d\n",y);
system("pause");
}
循环控制
Do while语句格式:
do
{}
while (表达式 );
该语句先执行一次指定的循环体语句,然后判别表达式的值,为真则继续执行循环体,否则跳出循环体循环控制(程序三)
输入一行字符,分别统计其中英文字母,空格,
数字和其它字符的个数
#include <stdio.h>
#include <stdlib.h>
main()
{
int length,letter_l=0,space_l=0,number_l=0,others_l=0;
char x;
printf("你要输入字符串长度是多少? \n");
scanf("%d",&length);
printf("请输入 %d个字符,\n",length);
循环控制(程序三)
do
{
scanf("%c",&x);
if(((x>=65)&&(x<=9))||((x>=97)&&(x<=122)))
{
letter_l++;
}
else
{
if((x>=48)&&(x<=57))
{
number_l++;
}
循环控制(程序三)
else
{
if(x==32)
{
space_l++;
}
else if(x)
{
others_l++;
}
}
}
循环控制(程序三)
length--;
}
while (length!=-1);
printf("英文字母有,%d个 \n数字有,%d个 \n空格,%d个 \n其它字符有,%d个
\n",letter_l,number_l,space_l,--others_l);
system("pause");
}
循环控制(程序四)
Page120 T6.3题
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define a 2
main()
{
int n,m,num=0,sum=0,result=0;
printf("请输入 n的值,\n");
scanf("%d",&n);
m=n;
循环控制(程序四)
while (m!=0)
{ n--;
while(n!=-1)
{
sum=sum+(int)(a*pow(10,n));
n--;
}
result=result+sum;
n=--m;
}
printf("the result is,%d\n",sum); system("pause");}
----教学过程篇循环控制
几乎所有的实用程序都包含了循环,该结构是结构化程序设计的基本构造单元,
循环结构有以下几种:
( 1) goto语句和 if语句构成
( 2) while语句
( 3) do-while语句
( 4) for 语句循环控制
Goto语句为无条件转向语句,其格式为:
goto 语句标号;
语句标号用标识符表示,命名规则和变量名相同,不可用整数作为标识符
---- goto 语句的使用
( 1)和 if一起构成循环
( 2)跳出循环体循环控制(程序一)
#include <stdio.h>
#include <stdlib.h>
main()
{
long i,x,y,temp1=1,temp2=1,temp3=1;
printf("请输入要做组合运算的两个数,\n");
scanf("%ld%ld",&x,&y);
i=y-x;
loop1,if(x>0)
{
temp1=temp1*x;
x--;
循环控制(程序一)
goto loop1;
}
loop2,if(y>0)
{
temp2=temp2*y;
y--;
goto loop2;
}
loop3,if(i>0)
{
temp3=temp3*i;
i--;
循环控制(程序一)
goto loop3;
}
i=temp2/(temp3*temp1);
printf("the result is,%ld\n",i);
system("pause");
}
循环控制
While 语句格式为:
while (表达式 ) {语句 }
当表达式的值为真的时候,执行
while语句花括号中的内容。
特点:先判断表达式,后执行语句循环控制
While 语句使用须知:
( 1)循环体如果没有加花括号,则其范围只到 while 后的第一个分号处
( 2)循环体中应该有语句使循环体结束,
否则程序会陷入死循环,无法结束。
循环控制(程序二)
求两个整数的最大公约数
#include <stdio.h>
#include <stdlib.h>
main()
{
int x,y,r,temp;
printf("请输入两个求最大公约数的整数,\n");
scanf("%d,%d",&x,&y);
if(x<y)
{
temp=x;
x=y;
循环控制(程序二)
y=temp;
}
while ((x%y)!=0)
{
r=x%y;
x=y;
y=r;
}
printf("the result is,%d\n",y);
system("pause");
}
循环控制
Do while语句格式:
do
{}
while (表达式 );
该语句先执行一次指定的循环体语句,然后判别表达式的值,为真则继续执行循环体,否则跳出循环体循环控制(程序三)
输入一行字符,分别统计其中英文字母,空格,
数字和其它字符的个数
#include <stdio.h>
#include <stdlib.h>
main()
{
int length,letter_l=0,space_l=0,number_l=0,others_l=0;
char x;
printf("你要输入字符串长度是多少? \n");
scanf("%d",&length);
printf("请输入 %d个字符,\n",length);
循环控制(程序三)
do
{
scanf("%c",&x);
if(((x>=65)&&(x<=9))||((x>=97)&&(x<=122)))
{
letter_l++;
}
else
{
if((x>=48)&&(x<=57))
{
number_l++;
}
循环控制(程序三)
else
{
if(x==32)
{
space_l++;
}
else if(x)
{
others_l++;
}
}
}
循环控制(程序三)
length--;
}
while (length!=-1);
printf("英文字母有,%d个 \n数字有,%d个 \n空格,%d个 \n其它字符有,%d个
\n",letter_l,number_l,space_l,--others_l);
system("pause");
}
循环控制(程序四)
Page120 T6.3题
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define a 2
main()
{
int n,m,num=0,sum=0,result=0;
printf("请输入 n的值,\n");
scanf("%d",&n);
m=n;
循环控制(程序四)
while (m!=0)
{ n--;
while(n!=-1)
{
sum=sum+(int)(a*pow(10,n));
n--;
}
result=result+sum;
n=--m;
}
printf("the result is,%d\n",sum); system("pause");}