黑马程序员技术交流社区

标题: C语言复习 [打印本页]

作者: 54hxd52lj    时间: 2014-6-5 21:40
标题: C语言复习
       用while语句实现循环。while语句用来实现“当型”循环结构。其一般形式为:while(表达式)语句。当表达式为非0(真)时,执行while语句中的内嵌语句,其特点是:先判断表达式,后执行语句。while的循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。如果不加花括号,则while语句的范围只到while后面第一个分号处。在循环体中,应该有使循环趋向于结束的语句,否则将进入死循环。
      用do...while语句实现循环。do...while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为:
       do
             循环体语句
       while(表达式)
       它是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非0(真)时,返回重新执行循环体语句,反复如此,知道表达式的值等于0为止,此时循环结束。对于同一个问题可以用while语句处理,也可以用do...while语句处理。do...while语句结构可以转换成while结构。do...while结构是由一个语句加一个while结构构成。在一般情况下,用while语句和do...while语句处理同一个问题时,若二者的循环体部分是一样的,它们的结果也一样。但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。
       用for语句实现循环。C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。for语句的一般形式为:for(表达式1;表达式2;表达式3)语句。它的执行过程如下:
       (1)先求解表达式1。
       (2)求解表达式2,若其值为真(值为非零),则执行for语句中指定的内嵌语句,然后执行下面第(3)歩。若为假(值为零),则结束循环,转到第(5)歩。
       (3)求解表达式3.
       (4)转回上面第(2)步继续执行。
       (5)循环结束,执行for语句下面的一个语句。
       for语句最简单的应用形式也就是最易理解的形式为:for(循环变量赋初值;循环条件;循环变量增值)语句。
       break语句和continue语句。break语句的作用是用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
       例题:译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。将原字母变成其后的第四个字母,A/a变成E/e、W/w变成A/a、Y/y变成B/b、Z/z变成C/c。
  1.        #include<stdio.h>
  2.        void main( )
  3.        {
  4.           char c;
  5.           while((c=getchar( ))!='\n')
  6.           {
  7.              if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
  8.              {
  9.                 c=c+4;
  10.                 if((c>='Z'&&c<='Z'+4)||c>'z')
  11.                    c=c-26;
  12.              }
  13.              printf("%c",c);
  14.           }
  15.           printf("\n");
  16.        }
复制代码

作者: ★Joean_Zhou    时间: 2014-6-5 23:28
很用心呢。。。厉害
作者: 各有千秋    时间: 2014-10-13 13:22
厉害!翻译密码这么容易就搞定了。
作者: ジ旋律    时间: 2014-10-14 12:27
{:2_42:}{:2_42:}
作者: Flying菜鸟    时间: 2014-10-16 22:09
厉害  这个也很复杂 表示写起出来有点老火
作者: 李欢宇    时间: 2014-11-2 14:05
哦,感谢分享。
作者: baby14    时间: 2018-8-31 08:10
多谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2