- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]第六章指针
C语言程序设计;一、概述;循环:同一程序段重复执行若干次
实现循环的语句:
goto 与 if 合用
while do~while( )
for
如: rep1: i++;
sum=sum+i;
if i=100 goto rep1 ;二、goto语句及其构成的循环;一般形式:goto 语句标号
说明:
(1)goto语句使控制无条件转到标号所指定的语句处开始往下执行;
(2)语句标号必须是标识符而不是常量。
如:goto abc 合法, 而goto 35 则非法;
(3)与循环语句配合使用时,可从循环体内跳到循环体外,而不能从循环体外跳到循环体内;
(4)goto语句转移的方向可前可后;
(5)与if语句配合使用时可构成循环; main( ) {
int i=1, sum=0;
loop: if(i=100) {
sum=sum+i;
i++;
goto loop;
}
printf (“sum=%d \n”,sum);
}
运行结果:
sum=5050 ;三、while 语句;形式:while(表达式)语句
操作:先判断表达式的真假,如果为真,则执行语句然后再判断表达式的真假。直到表达式为假时,退出循环。
main( )
{
int i=1,sum=0;
while(i=100) {
sum=sum+i; i++;
}
printf (“sum=%d\n”,sum);
}
运行结果:
sum=5050 ;
1、注意给出循环的初始条件,如本例中“sum=0、i=1”。
2、循环体包含一个以上的语句时,用大括号括起来,形成复合语句。
3、循环体中必须有使循环趋于结束的语句,否则程序进入“死循环”(不结束)。
问题的提出:(1)什么情况下循环体一句也不执行?
(2)什么情况下出现死循环
(3)哪一句使循环趋于结束 ;
1、int x=0;y=0;
(1) while(x15) y++, x + = ++y;
(2) while(x15) y++; x + = ++y;
(3) while(x15) {y++; x + = ++y;}
上述3个程序段执行完毕后,x,y的值分别是多少?;2、已知int i=1; 执行语句while(i++4) ;后,变量i的值为____。
A) 3 B) 4 C) 5 D) 6;下面程序的输出是____。
main()
{ int num=0;
while(num=2)
{ num++;
printf(%d\n,num);
}
}
A) 1 B) 1 C) 1 D) 1
2 2 2
3 3
4;例1 1+2+3+……100
例2 1*2*3*……10;编写程序计算下列算式的值:
直到某一项A=0.000001时为止。输出最后C的值。;【4.44】求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶?
【4.45】一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。;;;;;;;;;;;五、for 语句;;;;;;;;下面程序的输出结果是____。
main()
{ int x,i;
for(i=1;i=100;i++)
{ x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(%d ,x);
}
}
A) 39 81 B) 42 84 C) 26 68 D) 28 70;下面程序的功能是计算1-3+5-7+ …… -99+101的值。main(){ int i,t=1,s=0;for(i=1;i=101;i+=2){ ① ;s=s+t;② ;}printf(%d\n,s);};练习: 输出能被3整除而且个位是6的两位数;、改错题
1、 利用
文档评论(0)