请问一个C语言matlab循环结构构的输出结果

05-1502-1602-1602-1602-1602-1602-1602-1602-1602-16最新范文01-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-01C语言学习:分支结构和循环结构的总结(收藏)C语言学习:分支结构和循环结构的总结(收藏)源世界百家号C语言中常用的编程结构有三种(其它编程语言也是如此),它们分别是:顺序结构:代码从前往后依次执行,没有任何“拐弯抹角”,不跳过任何一条语句,所有的语句都会被执行到。选择结构:也叫分支结构。代码会被分成多个部分,程序会根据特定条件(某个表达式的运算结果)来判断到底执行哪一部分。循环结构:程序会重新执行同一段代码,直到条件不再满足,或者遇到强行跳出语句(break 关键字)。前面我们说了C语言的循环结构和分支结构,如果有不明白的可以查看上几篇文章。选择结构选择结构(分支结构)涉及到的关键字包括 if、else、switch、case、break,还有一个条件运算符? :(这是C语言中唯一的一个三目运算符)。其中,if...else 是最基本的结构,switch...case 和? :都是由 if...else 演化而来,它们都是为了让程序员书写更加方便。你可以只使用 if,也可以 if...else 配对使用。另外要善于使用 switch...case 和? :,有时候它们看起来更加清爽。if...else 可以嵌套使用,原则上嵌套的层次(深度)没有限制,但是过多的嵌套层次会让代码结构混乱。循环结构C语言中常用的循环结构有 while 循环和 for 循环,它们都可以用来处理同一个问题,一般可以互相代替。除了 while 和 for,C语言中还有一个 goto 语句,它也能构成循环结构。不过由于 goto 语句很容易造成代码混乱,维护和阅读困难,饱受诟病,不被推荐,而且 goto 循环完全可以被其他循环取代,所以后来的很多编程语言都取消了 goto 语句,我们也不再讲解。国内很多大学仍然讲解 goto 语句,但也仅仅是完成教材所设定的课程,goto 语句在实际开发中很难见到。对于 while 和 do-while 循环,循环体中应包括使循环趋于结束的语句。对于 while 和 do-while 循环,循环变量的初始化操作应该在 while 和 do-while 语句之前完成,而 for 循环可以在内部实现循环变量的初始化。for 循环是最常用的循环,它的功能强大,一般都可以代替其他循环。最后还要注意 break 和 continue 关键字用于循环结构时的区别:break 用来跳出所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。此外,break 关键字还可以用于跳出 switch...case 语句。所谓“跳出”,是指一旦遇到 break,就不再执行 switch 中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个 switch 执行结束了,接着会执行整个 switch 后面的代码。循环嵌套的总结:在C语言中,if-else、while、do-while、for 都可以相互嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的。在C语言中,代码是顺序、同步执行的,当前代码必须执行完毕后才能执行后面的代码。这就意味着,外层 for 每次循环时,都必须等待内层 for 循环完毕才能进行下次循环。虽然 i 是变量,但是对于内层 for 来说,每次循环时它的值都是固定的。输出一个4×4的整数矩阵。#include int main(){
for(i=1; i<=4; i++){
//外层for循环
for(j=1; j<=4; j++){
//内层for循环
printf("%-4d", i*j);
printf("\n");
return 0;}运行结果:1
16外层 for 第一次循环时,i为1,内层 for 要输出四次 1*j 的值,也就是第一行数据;内层
for 循环结束后执行 printf("\n"),输出换行符;接着执行外层 for 的 i++ 语句。此时外层 for 的第一次循环才算结束。外层 for 第二次循环时,i为2,内层 for 要输出四次 2*j 的值,也就是第二行的数据;接下来执行 printf("\n") 和 i++,外层 for 的第二次循环才算结束。外层 for 第三次、第四次循环以此类推。可以看到,内层 for 每循环一次输出一个数据,而外层 for 每循环一次输出一行数据。输出九九乘法表。#include int main(){
for(i=1; i<=9; i++){
//外层for循环
for(j=1; j<=i; j++){
//内层for循环
printf("%d*%d=%-2d
", i, j, i*j);
printf("\n");
return 0;}运行结果:1*1=12*1=2
2*2=43*1=3
3*3=94*1=4
4*4=165*1=5
5*5=256*1=6
6*6=367*1=7
7*7=498*1=8
8*8=649*1=9
9*9=81内层 for 每循环一次输出一条数据,外层 for 每循环一次输出一行数据。循环的嵌套是程序必不可免的,只有认真仔细区分,经常运用并实践,我们才能从中的到更大的收获。才能真的理解C语言编程,从中感受到计算机的魅力!欢迎订阅点赞,谢谢!本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。源世界百家号最近更新:简介:原谅我一生放荡不羁不羁爱自由!作者最新文章相关文章如何用c语言循环结构编图案_中华文本库
C语言图形输出习题_IT认证_资格考试/认证_教育专区。【4.4】输入 n 值,输出...【4.4】分析:打印此图形用两重循环实现。 图形要重复 n 行,故采用循环结构...
C语言程序设计实例教程第五章 循环结构 - 第五章 循环结构 本章内容 5.1 5.2 while语句 do…while语句 5.3 for语句 5.4 goto语句、break语句和cont...
C语言 用循环程序输出以下图案_计算机软件及应用_IT/计算机_专业资料。C语言 用循环程序输出以下图案 用循环程序输出以下图案。 (P96-实-7) * *** *** **...
C语言循环结构 - 第五章 循环结构 §5.1 for语句 语句 §5.2 while语句 语句 §5.3 do~while语句 语句 用于循环中的break和continue语句 §5.4 用...
C语言循环结构程序设计编程题 - 实验 3 循环结构程序设计 一.实验目的: 1.掌握使用 while 语句,do-while 语句和 for 语句实现循环的方法。 2.掌握在循环结构...
C语言循环结构练习题带答案_IT认证_资格考试/认证_教育专区。C++ 循环结构 ...n 的平方根,可以使用如下迭代法求解: (南师大 04) 使用 C 语言编 1 n ...
C语言循环结构练习题带答案 - 第5章 循环结构程序设计 练习题 1. 单项选择题 (1)语句 while (!e);中的条件!e 等价于 A. e==0 B. e!=1 D A 。 ...
C语言循环结构程序设计实验报告_表格类模板_表格/模板_应用文书。云南大学数学与...(&sn=%ld\n&,sn); sn=sn+a } a=a*10+t 4 打印以下图案 * * * *...
C语言-循环结构程序设计_IT认证_资格考试/认证_教育...国王纳闷,怎样也算 不清这笔账。现在我们用计算机...编一个程序能处理人数不 等的各班学生的平均成绩。...
C 语言循环结构教学设计一. 教学设计(包括教学背景、教学目标) 1. 关于“C语言程序设计”课程 C语言是在 70 年代初问世的。一九七八年由美国电话电报公司(AT&T...C语言初学者入门知识之循环结构
当前位置:&>&
C语言初学者入门知识之循环结构
发布时间: 13:30:11
& 循环结构是程序中一种很重要的结构。其特点是, 在给定条件成立时,反复执行某程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 C语言提供了多种循环语句,可以组成各种不同形式的循环结构。
  while语句
  while语句的一般形式为: while(表达式)语句; 其中表达式是循环条件,语句为循环体。
  while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用图3-4表示。 统计从键盘输入一行字符的个数。
  #include
  void main(){
  int n=0;
  printf(&input a string:\n&);
  while(getchar()!='\n') n++;
  printf(&%d&,n);
  } int n=0;
  printf(&input a string:\n&);
  while(getchar()!='\n')
  printf(&%d&,n);
  本例程序中的循环条件为getchar()!='\n',其意义是, 只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。
  使用while语句应注意以下几点:
  1.while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
  void main(){
  int a=0,n;
  printf(&\n input n: &);
  scanf(&%d&,&n);
  while (n--)
  printf(&%d &,a++*2);
  } int a=0,n;
  printf(&\n input n: &);
  scanf(&%d&,&n);
  while (n--)
  printf(&%d &,a++*2);
  本例程序将执行n次循环,每执行一次,n值减。
  1.循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)
  2.循环体如包括有一个以上的语句,则必须用{}括起来, 组成复合语句。
  3.应注意循环条件的选择以避免死循环。
  void main(){
  int a,n=0;
  while(a=5)
  printf(&%d &,n++);
  } int a,n=0;
  while(a=5)
  printf(&%d &,n++);
  本例中while语句的循环条件为赋值表达式a=5,因此该表达式的值永远为真,而循环体中又没有其它中止循环的手段, 因此该循环将无休止地进行下去,形成死循环。4.允许while语句的循环体又是while语句,从而形成双重循环。&&文章详情
C语言入门之循环结构
   循环结构是程序中一种很重要的结构。其特点是, 在给定条件成立时,反复执行某程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 C语言提供了多种循环语句,可以组成各种不同形式的循环结构。
   while语句
   while语句的一般形式为: while(表达式)语句; 其中表达式是循环条件,语句为循环体。
   while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用图3—4表示。 统计从键盘输入一行字符的个数。
#include void main(){ int n=0; printf("input a string:\n"); while(getchar()!='\n') n++; printf("%d",n); } int n=0; printf("input a string:\n"); while(getchar()!='\n') n++; printf("%d",n);
   本例程序中的循环条件为getchar()!='\n',其意义是, 只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。
   使用while语句应注重以下几点:
   1.while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
void main(){   int a=0,n;   printf("\n input n: ");   scanf("%d",&n);   while (n--)   printf("%d ",a++*2); } int a=0,n; printf("\n input n: "); scanf("%d",&n); while (n--) printf("%d ",a++*2);
   本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)
   2.循环体如包括有一个以上的语句,则必须用{}括起来, 组成复合语句。
   3.应注重循环条件的选择以避免死循环。
void main(){   int a,n=0;   while(a=5)    printf("%d ",n++); } int a,n=0; while(a=5) printf("%d ",n++);
   本例中while语句的循环条件为赋值表达式a=5, 因此该表达式的值永远为真,而循环体中又没有其它中止循环的手段, 因此该循环将无休止地进行下去,形成死循环。4.答应while语句的循环体又是while语句,从而形成双重循环。
   do-while语句
   do-while语句的一般形式为:
do   语句; while(表达式);
   其中语句是循环体,表达式是循环条件。
   do-while语句的语义是:
   先执行循环体语句一次, 再判别表达式的值,若为真(非0)则继续循环,否则终止循环。
   do-while语句和while语句的区别在于do-while是先执行后判定,因此do-while至少要执行一次循环体。而while是先判定后执行,假如条件不满足,则一次循环体语句也不执行。
   while语句和do-while语句一般都可以相互改写。
void main(){   int a=0,n;   printf("\n input n: ");   scanf("%d",&n);   do printf("%d ",a++*2);   while (--n); } int a=0,n; printf("\n input n: "); scanf("%d",&n); do printf("%d ",a++*2); while (--n);
   在本例中,循环条件改为--n,否则将多执行一次循环。这是由于先执行后判定而造成的。
   对于do-while语句还应注重以下几点:
   1.在if语句,while语句中, 表达式后面都不能加分号, 而在 do-while语句的表达式后面则必须加分号。
   2.do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套。
   3.在do和while之间的循环体由多个语句组成时,也必须用{}括起来组成一个复合语句。
   4.do-while和while语句相互替换时,要注重修改循环控制条件。
   for语句
   for语句是C语言所提供的功能更强,使用更广泛的一种循环语句。其一般形式为:
for(表达式1;表达式2;表达3)
   语句:
   表达式1 通常用来给循环变量赋初值,一般是赋值表达式。也答应在for语句外给循环变量赋初值,此时可以省略该表达式。
   表达式2 通常是循环条件,一般为关系表达式或逻辑表达式。
   表达式3 通常可用来修改循环变量的值,一般是赋值语句。
   这三个表达式都可以是逗号表达式, 即每个表达式都可由多个表达式组成。三个表达式都是任选项,都可以省略。
   一般形式中的“语句”即为循环体语句。for语句的语义是:
   1.首先计算表达式1的值。
   2.再计算表达式2的值,若值为真(非0)则执行循环体一次, 否则跳出循环。
   3.然后再计算表达式3的值,转回第2步重复执行。在整个for循环过程中,表达式1只计算一次,表达式2和表达式,3则可能计算多次。循环体可能多次执行,也可能一次都不执行。for 语句的执行过程如图所示。
void main(){ int n,s=0; for(n=1;n&=100;n++) s=s+n; printf("s=%d\n",s); }
   用for语句计算s=1+2+3+...+99+100
int n,s=0; for(n=1;n&=100;n++) s=s+n; printf("s=%d\n",s);
   本例for语句中的表达式3为n++,实际上也是一种赋值语句,相当于n=n+1,以改变循环变量的值。
void main(){ int a=0,n; printf("\n input n: "); scanf("%d",&n); for(;n&0;a++,n--) printf("%d ",a*2); }
   用for语句修改例题。从0开始,输出n个连续的偶数。
int a=0,n; printf("\n input n: "); scanf("%d",&n); for(;n&0;a++,n--) printf("%d ",a*2);
   本例的for语句中,表达式1已省去,循环变量的初值在for语句之前由scanf语句取得,表达式3是一个逗号表达式,由a++,n-- 两个表达式组成。每循环一次a自增1,n自减1。a的变化使输出的偶数递增,n的变化控制循次数。
   在使用for语句中要注重以下几点
   1.for语句中的各表达式都可省略,但分号间隔符不能少。如:for(;表达式;表达式)省去了表达式1。for(表达式;;表达式)省去了表达式2。
  for(表达式;表达式;)省去了表达式3。for(;;)省去了全部表达式。
   2.在循环变量已赋初值时,可省去表达式1,如例3.27即属于这种情形。如省去表达式2或表达式3则将造成无限循环, 这时应在循环体内设法结束循环。例题即属于此情况。
void main(){ int a=0,n; printf("\n input n: "); scanf("%d",&n); for(;n&0;) { a++;n--;   printf("%d ",a*2); } } int a=0,n; printf("\n input n: "); scanf("%d",&n); for(;n&0;) { a++;n--; printf("%d ",a*2); }
   本例中省略了表达式1和表达式3,由循环体内的n--语句进行循环变量n的递减,以控制循环次数。
void main(){ int a=0,n; printf("\n input n: "); scanf("%d",&n); for(;;){ a++;n--; printf("%d ",a*2); if(n==0) } } int a=0,n; printf("\n input n: "); scanf("%d",&n); for(;;){ a++;n--; printf("%d ",a*2); if(n==0) }
   本例中for语句的表达式全部省去。由循环体中的语句实现循环变量的递减和循环条件的判定。当n值为0时,由break语句中止循环,转去执行for以后的程序。在此情况下,for语句已等效于while( 1)语句。如在循环体中没有相应的控制手段,则造成死循环。
   3.循环体可以是空语句。
#include"stdio.h" void main(){   int n=0;   printf("input a string:\n");   for(;getchar()!='\n';n++);    printf("%d",n); }
   本例中,省去了for语句的表达式1,表达式3也不是用来修改循环变量,而是用作输入字符的计数。这样, 就把本应在循环体中完成的计数放在表达式中完成了。因此循环体是空语句。应注重的是,空语句后的分号不可少,如缺少此分号,则把后面的printf 语句当成循环体来执行。反过来说,如循环体不为空语句时, 决不能在表达式的括号后加分号, 这样又会认为循环体是空语句而不能反复执行。这些都是编程中常见的错误,要十分注重。
   4.for语句也可与while,do-while语句相互嵌套,构成多重循环。以下形成都合法的嵌套。
(1)for(){…    while()     {…}    …      } (2)do{     …    for()     {…}    …    }while(); (3)while(){        …        for()         {…}        …       } (4)for(){      …      for(){      …       }      } void main(){ int i,j,k; for(i=1;i&=3;i++) {   for(j=1;j&=3-i+5;j++)    printf(" ");    for(k=1;k&=2*i-1+5;k++)    {     if(k&=5) printf(" ");     else printf("*");    }    printf("\n");   } }
(C) Knowsky.com

我要回帖

更多关于 循环结构 的文章

 

随机推荐