c语言,循环语句,3(2)和第4题
C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。
一、for循环
for循环语句的基本语法
for(表达式1;表达式2;表达式3){
循环体;
}
语义:
1.选执行表达式1,跳转到2;
2.判断表达式2是否成立,如果成立,则跳转到3,否则跳转到5;
3.执行循环体,执行完毕,跳转到4;
4.执行表达式3,执行完毕,跳转到2;
5.跳出循环,循环结束。
例如:
打印1-100的值
#include
int main() {
for(int i=1;i<=100 ;i++){
printf("%d ",i);
};
return 0;
}
for循环的其他格式:
表达式1、表达式2、表达式3都可以省略。
注意:表达式2没写的话会进入死循环。就算表达式1、表达式3不写,也要记得写分号。表达式1、表达式3可以写任意语句,要用逗号隔开。
二、while循环
while循环语句的基本语法
while(表达式){
循环体;//或者称为语句块
}
语义:
1.选判断表达式是否成立,如果成立,则跳转到2,否则跳转到3;
2.执行循环体,执行完毕跳转到1;
3.跳出循环,循环结束。
例如:
打印1-100的值
#include
int main() {
int i = 1;
while( i<=100 ) {
printf("%d ",i);
i++;
}
return 0;
}
运行结果是: 2
程序运行:
i=1,满足i<=100条件,进入循环,打印i的值,然后执行i++,再返回i<=100,进行判断是否成立,以此循环进行。
当i=100,依然满足i<=100,进入循环,打印i的值100,执行i++,i=101,跳转到表达式i<=100进行判断,此时即为101<=100,不成立,则不执行循环体,执行起后的语句return 0。
while循环需要注意的地方:
1.防止死循环。避免条件永真或者永假。如果永真则死循环;如果永假则不循环,写起来毫无意义;
2.while循环后,不要加分号,即在while后面不要加分号(;)。如果想加分号,可以在大括号后面加,(即};);
3.不要忘记写结束循环的语句;
4.循环和if语句一样的地方是:大括号可以省略。但只能控制离它最近的一条语句。也就是说当循环体只有一条语句的的时候,可以省略大括号。但这条语句不能是声明语句(如:int num = 10; 这样则不行。)
三、do…while循环
do…while循环语句的基本语法
do{
循环体;//或者称为语句块
}while(表达式);
语义:
1.选执行循环体,跳转到2;
2.选判断表达式是否成立,如果成立,则跳转到1,否则跳转到3;
3.跳出循环,循环结束。
例如:
#include
int main() {
int i = 1;
do{
i++;
printf("%d ",i);
}while( i>10 );
return 0;
}
程序运行:先执行循环体,执行i++,再打印出i的值2,然后进行判断i>10是否成立,2>10不成立,则不执行循环体,执行起后的语句return 0。
特别注意:
do…while循环语句中,在while括号后,要加分号(;),否则会出现报错。
do…while循环和while循环最大的区别是:
do…while循环先执行循环体,再判断表达式;while循环是先判断循环体,再执行。
即:while里的循环体可能1次都不会被执行;do…while循环里面的循环体至少会被执行1次。
扩展资料:
三种循环语句的比较
同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:
(1) 如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。
(2) 当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。
C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。
三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。
参考资料:
百度百科-C语言循环控制语句
循环会执行无限次,所以选择A。
测试结果如下图:
已调试,附测试图。
#include <stdio.h>
int factorial(int n)
{
return (n == 1)?n:factorial(n-1)*n;
}
int main(void)
{
int S = 0,i;
for(i = 1;i < 11;i++)
{
S += factorial(i);
}
printf("The result is: %d
",S);
return 0;
}
#include <stdio.h>
int judge_3(int n)
{
return (n%3)?0:1;
}
int judge_5(int n)
{
return (n%5)?1:0;
}
int main(void)
{
int i,n = 0;
for(i = 1;i < 101;i++)
{
if(judge_3(i))
{
if(judge_5(i))
{
printf("%4d",i);
n++;
}
if(n == 5)
{
n = 0;
printf("
");
}
}
}
printf("
");
return 0;
}
3(2)
int main()
{
int sum = 0;
int sum1 = 1;
for(int i = 1; i <= 10; i++)
{
sum1 = 1;
for(int j = 1; j <= i; j ++ )
{
sum1 = sum1 * j;
}
sum += sum1;
}
printf("%d",sum);
return 0;
}
4
int main()
{
int a[100], j = 0;
for(int i = 0; i< 100; i++)
{
if(i % 3 == 0 && i % 5 != 0)
{
a[j] = i;
j++;
}
}
for(int i = 0; i < j; i ++)
{
if(i % 5 == 4)
{
printf("%d\n",a[i]);
}
else
{
printf("%d ",a[i]);
}
}
return 0;
}
在C语言中,在for循环语句中,当执行到continue语句时不是直接去执行表达...
出第一次执行表达式1之外 之后的循序是:表达式2->for语句块(遇到continue后跳出当前循环)->表达式3 ->表达式2->for语句块(遇到continue后跳出当前循环)->表达式3 ->表达式2……如果执行到continue语句时是直接去执行表达式2 而不是去执行表达式3 那么for语句就很有可能陷入死循环了 ...
c语言for(i=1;i<6;i++)j=j+3是什么意思?
c语言for(i=1;i<6;i++)j=j+3是什么意思?的意思是在C语言中,使用for循环来重复执行一段代码。for循环的一般形式是:for(初始化表达式;判断表达式;更新表达式){ 循环体语句; } 其中,初始化表达式用来声明和初始化循环控制变量,只执行一次;判断表达式用来判断是否继续执行循环体,如果为真则执行...
C语言 for的多重循环是怎么一回事啊 能给小弟详细讲解以下吗?_百度...
for(表达式1;表达式2;表达3) 语句: 表达式1 通常用来给循环变量赋初值,一般是赋值表达式。也允许在for语句外给循环变量赋初值,此时可以省略该表达式。 表达式2 通常是循环条件,一般为关系表达式或逻辑表达式。 表达式3 通常可用来修改循环变量的值,一般是赋值语句。 这三个表达式都可以是逗号表达式, 即每个表达式都...
C语言中for循环怎么理解?
for循环是编程语言中一种开界的循环语句,而循环语句由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。程序解读:开始i=0,i<10,执行for循环的内部语句,然后回到i++,i=2,i<10,执行for循环的内部语句,……,...
C语言中 for(...)是什么意思的函数,还是什么
C语言中的“for(...)”是for循环 C语言for语句用法详解:for语句:for (表达式1;表达式2;表达式3){ 循环语句 } 表达式1 给循环变量赋初值 表达式2 为循环条件 表达式3 用来修改循环变量的值,称为循环步长。for语句的执行流程:
fortran语言中do语句,例如:do 20 I=1,3怎么理解呢?
相当于c语言的for循环:for(i=1;i<=3;i++){ 循环体 } 在 do 20 I=1,3 循环体 20 continue 程序段中,I为循环变量,从1取到3,满足条件,执行循环体。20为标号行的标号,在这个程序段中指示循环体的范围。
C语言 for循环执行步骤
C语言for循环的格式一般如下:for (exp1; exp2; exp3 ) {语句块;} 流程:exp1一般是一个初始值设置,程序先检测exp2的条件是否成立,如果成立则执行for循环语句块,如果不成立,则退出循环,执行完for语句块后,会执行exp3,一般是一个增\/减量的操作。
c语言中for语句是怎么用的?
语句1 ;语句2 ;...语句n ;} 执行while时,先测试“条件语句”,如果条件成立,则执行语句1到语句n,直至条件不成立时调处循环。int i=0 ;while (i<10){ i++ ;System.out.println("Hey!.get me out of here!:);} 3:do ... while 循环 do ... while 循环语句的格式为:do { 语...
循环语句while怎么用?
while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。1.while(1)其中1代表一个常量表达式,它永远不会等于0。循环会一直执行下去。除非你设置break等类似的跳出循环语句循环才会中止。2.while(i--)其中i是一个变量,因此表达式i--有不同的值,依次递减,i--是先取值...
c语言中while(!
while(!x)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。!是反运算符,单目,!真 即 假,!假 即 真。如果x != 0, 则 !x 为 0,即假,如果x == 0,则 !x 为 真。while()是循环语句。while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值...
卜勤康利:[答案] #include
襄城县18718412427: 【急!】c语言for语句循环结构(求小明应付金额具体如题!!) - ?
卜勤康利: 12345678910111213141516171819202122232425 /*c语言for语句循环结构(求小明应付金额解答如下!!)*/#include<stdio.h> main() /*缺省值*/ { inta; floatb[100],sum; /*分配数组*/ printf("购买物品总量:\n"); scanf("%d",&a);for(i...
襄城县18718412427: c语言问题用循环将a[3][4]的第一行与第三行对调 - ?
卜勤康利: #include<stdio.h> void main() {int a[3][4]={{1,1,1,1},{2,2,2,2},{3,3,3,3}};int temp,i,j;for(i=0;i<4;i++){temp=a[0][i];a[0][i]=a[2][i];a[2][i]=temp;}for(i=0;i<3;i++){for(j=0;j<4;j++){printf("%3d",a[i][j]);}putchar('\n');} } 直接屏幕输出结果了.....
襄城县18718412427: c语言中 几个循环语句怎么用 - ?
卜勤康利: while(表达式)语句; 当表达式为非0时,执行while语句中的内嵌语句,其特点是先判断表达式,后执行语句.do 循环体语句 while(表达式); 先执行一次指定的循环体语句,然后判断表达式,当表达式的值为非0时,返回重新执行循环体...
襄城县18718412427: 简单C语言循环语句编程题目! - ?
卜勤康利: 发一下本人的拙见!(半夜做的也不知道对不!) int peach(int n)//该函数返回桃子总数,n为天数 { if( 10==n ) return 1; else return ( peach(n+1)+ 1) * 2 ; } int main(void) { printf("第%d天的桃子数为: %d\n", 1, peach( 1 ) ); int total=1;//桃子总数 for(int i=10; i>1; i--) { total = (total+1)*2; } printf("桃子的总数为: %d\n", total); return 0; }
襄城县18718412427: c语言一道循环题 - ?
卜勤康利: 4252716 答案应该是这个吧,J是在任何时候都小于6,这里没有等于6啊, b[5]={27,13,4,25,23,16}这个了 你定义的 b[6]是这个样子的 b[6]={27,13,4,25,23,16,0} 第一个数就是 b[0]=27 b[1]=13 以此类推 b[5]=16了,知道了吧 还有循环是第一个...
襄城县18718412427: 求一个简单的C语言循环输出结果题..求详细过程.. - ?
卜勤康利: 程序有点输出错误,改正如下 #include<stdio.h> void main() { int i, j, sum=0;for( i=1; i<=4 ; i++){for(j=1; j<=1;j++){ sum=i*j;if(sum>=6)break;}printf(" i=%d\t j=%d\t sum=%d\n", i , j , sum);} 使用VC6.0运行结果如下 i=1 j=2 sum=1 //下次循...
襄城县18718412427: C语言循环语句有哪些? - ?
卜勤康利: for循环,while,do while