美文网首页
2020/5/3 第五次课(while语句的应用)

2020/5/3 第五次课(while语句的应用)

作者: 黄灯浸茶 | 来源:发表于2020-05-04 16:22 被阅读0次

while语句的应用

例1

因为n始终大于3,while的表达式永远为真,所以一直执行循环,为死循环3

int n=3;
scanf("%d", &n);        
while(n>0)
    printf("%d", n);
例2

计算机认为while后面只有一条语句,--n被忽略,也是死循环

int n=3;
scanf("%d", &n);        
while(n>0)
    printf("%d", n);--n;

要执行--n,有两种方法,输出结果为:321

int n=3;
        
while(n>0)
    printf("%d", n),--n;  //第一种
while(n>0)
   {   printf("%d", n);--n  };  //第二种

又或者

while(n>0)
    printf("%d", n--);

但是,如果为--n;结果为:210
while(n>0)
    printf("%d", --n);
下例结果也是:210
int n=3;

while(n-- >0)
    printf("%d", n);

例3

表达式,输出同时有n--,--n,
其结果为:531-1

int n=7;

while(n-- >0)
    printf("%d", --n);
给例3写一个循环过程:

首先 n赋值为 7
第一次循环:n-- = 7,n的值变成了6,然后--n是先改变值再赋值,--n就等于5,然后输出

例4

输出结果都为:43210
while(n) 相当于 while( n!=0 )

int n=5;

while(n)
    printf("%d", --n);


while(n--)
    printf("%d", n);

注意!
当 while(n--);
while后面有个分号时
结果为:-1

==========================================================

例5 输出奇数

结果为:9

int n=5,s=0;

while(n)
 {
    if(n%2)
       s += n--;
    else
       n--;
 }
    printf("%d", s);
输出奇数的错误算法:

输出将结果为:6

n--赋值为5,但是n变成了4,s就被赋值成4......

int n=5,s=0;

while(n)
 {
    if(n-- %2)
       s += n;
 }
    printf("%d", s);

==============================================================

例6
输入一行字符,统计数字,字母,空格的个数:

需要用到 :

  • char类型ch
  • int类型计数器,digt,alph,lower,upper,space,other
 int main()
 { 
   char ch;        //首先定义字符类型 ch 用来接收输入
  //初始化计数器
  int digt=0,alph=0,upper=0,lower=0,space=0,other=0;

  printf( " Enter your values:\n  ");

  //使用getchar函数接受第一个字符
  ch = getchar();


  //进入循环,循环条件是 输入的字符不是 换行字符!
  while(ch!='\n')
  {
     /* printf("works!");
      ch = '\n';*/

      if(ch>='0' && ch <= '9')
          digt++;
      else if(ch==' ')
          space++;
      else if(ch>='a'&&ch<='z')
          lower++;
      else if(ch>='A'&&ch<='Z')
          upper++;
      else
          other++;
      ch = getchar();
  }
  printf("digt = %d, alph =%d,space=%d,other :%d\n",digt,lower+upper,space,other);
}

相关文章

网友评论

      本文标题:2020/5/3 第五次课(while语句的应用)

      本文链接:https://www.haomeiwen.com/subject/inhyghtx.html