第七章 循环语句

7.1-7.5 goto语句,while语句

#include <stdio.h>
#include <stdlib.h>
 
//goto语句
//int main()
//{  
//  int i=1, sum=0;
//number:sum+=i; //number表示标号;sum=sum+i
//  i++; //将i的值加1
//  if (i<=100)
//  {
//      goto number; //跳转到标号为number
//  }
//  printf("1+...+100=%d",sum);
//  system("pause");
//  return 0;
//}
 
//goto语句慎用
/*int main()
{  
  int i=1;
  if (i<10)
  {
      goto lable;
  }
      printf("*");
    i++;
    goto lable; //现在不怎么用goto语句,不方便调试
    printf("\n程序结束\n");
    printf("*********\n");
lable:;  //这样就不会输出
    system("pause");
    return 0;
}*/
 
//while语句
//int main()
//{
//  int i=1, sum=0;
//  while (i<=100)  //while条件满足一直循环,而if只执行一次;
//  {
//      sum=sum+i;
//      i++;
//  }
//  printf("1+...+100=%d",sum);
//  system("pause");
//  return 0;
//}
 
 
//带有逻辑符号的while语句
//int main()
//{
//  float sum=0,wage=0;
//  char choice='y';
//  int i=1;
//  printf("==平均工资统计==\n");
//  while (choice=='y'||choice=='Y')
//  {
//      printf("第%d名员工的工资:\n",i);
//      scanf("%f",&wage);
//      getchar(); //释放内存,光标返回首行的起始位置
//      sum+=wage;
//      i++;
//      printf("继续输入y,结束输入n:\n");
//      scanf("%c",&choice);  //scanf在获取数据时,需要回车,所以会自动转到下一行,而不需要换行符。
//  }
//  printf("%d员工工资合计为: %.2f",i-1,sum);
//  system("pause");
//  return 0;
//}
 
//限定while循环的次数
int main()
{
    float sum=0,wage=0;
    int i=1;
    int num;
    printf("总员工数:");
    scanf("%d",&num);
    printf("需要输入%d名员工的工资:\n",num);
    while (i<=num)
    {
        printf("请输入第%d名员工的工资:",i);
        scanf("%f",&wage);
        sum+=wage;
        i++;
    }
    printf("%d名员工的工资合计为:%.2f\n",i-1,sum);
    system("pause");
    return 0;
}
7.6-7.12 continue,break,exit,猜数字,while,dowhile语句

#include <stdio.h>
#include <stdlib.h>
# include <time.h>
//continue,break,exit
//int main()
//{  
//  int i=0;
//  while (i<3)
//  {
//      i++;
//      if (i==1)
//      {
//          //continue; //不再执行本次循环后面的语句,调到循环就开始,继续执行下次循环
//            // break; //强制退出循环,执行循环体后面的语句
//          exit(EXIT_SUCCESS); //退出整个程序,连个参数,0(EXIT_SUCCESS)表示成功终止程序,1表示程序终止发生某种错误
//          printf("i的值为%d",i);
//      }
//     
//      printf("i的值为%d",i);
//  }
//  system("pause");
//  return 0;
//}
 
//猜数字
//int main()
//{  
//  short number;
//  short guess=0;
//  srand((unsigned)time(NULL));//根据系统时间随机产生一个种子;time获取当前系统时间;返回值是time_t类型,需要转换为unsigned
//  number=rand()%100+1; //rand 产生随机数,只能产生一个;这个表达式产生的随机数在0到100之间
//  printf("====猜数字有戏====\n");
//  printf("该数字在1到100之间\n");
//  while (guess!=number)
//  {
//      printf("输入你猜的数:\n");
//      scanf("%hd",&guess);
//          if (guess<number)
//          {
//              printf("小了\n");
//          }
//          else if (guess>number)
//          {
//              printf("大了\n");
//          }
//  }
//  printf("猜对了\n");
//  system("pause");
//  return 0;
//}
 
//while无限循环
//int main()
//{  
//  int s=0; 
//  while (1)
//  {
//      int n=0;  //只在while循环中有效。也就是在括号定义的变量,只在括号中有效
//      printf("请输入一个数字:\n",n);
//      scanf("%d",&n);
//      printf("你输入的数字是:%d\n",n);
//      s++;
//      if (s>3) //限定循环次数
//      break;
//  }
//  printf("程序一共执行了%d次\n",s);
//  system("pause");
//  return 0;
//}
 
//do while 循环
int main()
{  
    int many;
    printf("你想看几次?");
    scanf("%d",&many);
    //while (many>0)
    do 
    {
        printf("奇迹都是在厄运中发生\n");
        many--;
    }while (many>0);  //这种形式,先执行后判定;while后面需要加分号
    printf("程序结束\n",many);
    system("pause");
    return 0;
}
7.7-7.21 for循环

#include <stdio.h>
#include <stdlib.h>
 
//for 循环
//int main()
//{  
//  int count,many;
//  printf("你想看几次?");
//  scanf("%d",&many);
//  /*count=0;
//  while (count<many)*/
//  //循环变量的定义必须在循环之前, C77标准,本平台也符合这个规则
//  for(count=0;count<many;count++)//赋值(第一次循环,后面不赋值),监测,自加
//  {
//      printf("失败是成功之母\n");
//  }
//  printf("程序执行完毕");
//  system("pause");
//  return 0;
//}
 
//域
//int main()
//{  
//  int i;
//  for ( i = 0; i < 3; i++)
//  {     
//      int j=100;
//    printf("j的值是:%d\n",j); //j的域在大括号内
//  }
//  printf("程序执行完毕");
//  system("pause");
//  return 0;
//}
 
//灵活使用for循环
//int main()
//{  
//  int x,y,z;
//  for(x=0,y=0,z=0;x<3;x++,y++,z++)  //可以包含多个变量
//  printf("x:%d y:%d z:%d, x,y,z"); //一条语句,不用大括号
//  system("pause");
//  return 0;
//}
 
//条件为空的for循环
//int main()
//{  
//  int i=0;
//  for (; i <5; ) //for (; ; )相当于while(true),即死循环
//  {
//      i++;
//      printf("失败是成功之母\n");
//  }
//  system("pause");
//  return 0;
//}
 
//导航菜单
//int main()
//{  
//  int quit=0;
//  for (; ; )  //如果执行语句部分为空,则没有任何意义
//  {
//      char choice;
//      printf("1.安徽 2.北京 3.成都 4.河南 5.巴中 q.退出程序\n");
//      scanf("%c",&choice);  //将输入结果存储于choice,注意:choice只能存储一个字符,如果输入两个字符,会提取第一个字符
//      getchar();
//      printf("choice:%c\n",choice);
//          switch (choice)
//      {
//          case'0':printf("播放还珠格格0\n");
//              break;
//          case'1':printf("播放还珠格格1\n");
//              break;
//          case'2':printf("播放还珠格格2\n");
//              break;
//          case'3':printf("播放还珠格格3\n");
//              break;
//          case'4':printf("播放还珠格格4\n");
//              break;
//          case'q':quit=1;
//              break;
//          default:printf("你输入的不是有效数字\n"); //其它情形
//      }
//          if (quit==1)//退出开关
//          {
//              break; //退出for循环
//          }
//  }
//  printf("程序结束\n");
//  system("pause");
//  return 0;
//}
 
//嵌套的for循环
//int main()
//{  
//  int i,j;
//  for ( i = 1; i < 10; i++)
//  {
//      for ( j = 1; j < 10; j++)
//      {
//          printf("*");
//      }
//      printf("\n");
//  }
//  system("pause");
//  return 0;
//}
 
//九九乘法表
int main()
{  
    int i, j;
    printf("输出九九乘法表\n");
    for ( i = 1; i < 10; i++)
    {
        for ( j = 1; j <=i; j++)
        {
            printf("%d*%d=%d\t",j,i,i*j);
        }
        printf("\n");
    }
    system("pause");
    return 0;
}

 

Updated: 2014-11-19 — am11:44

4
Leave a Reply

3 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
4 Comment authors
  Subscribe  
newest oldest most voted
Notify of

太专业了 佩服

for循环,好熟悉啊

居然用goto语句