爱问知识人 爱问教育 医院库

关于C语言的几个语法点

首页

关于C语言的几个语法点

可以给我说下C语言中的while  do-while  for  break  continue  goto这几个语句的结构吗?
一定要清楚。最好加我QQ:708965077

提交回答

全部答案

    2018-07-28 01:49:48
  •   break语句                  break语句的一般形式:break;执行过程:终止switch语句或循环语句的执行,即跳出这两种语句,转入下一条语句执行。使用break语句要注意以下几点:1,        break语句只能用于switch语句或循环语句中,若在程序中有下列语句:if ( ) break;则if语句一定是在循环体中或switch语句中,break语句跳出的不是if语句,而是包含if语句的循环体或switch语句。
      2由于循环语句可以嵌套使用,在这种情况下,break语句只能跳出或终止它所在的循环体,而不能跳出或终止多重循环。如:for ( ){while ( ){…break;}… }开关语句switch语句应用switch语句提供了多路选择就可以提高程序的可读性。
      期一般形式为:switch(表达式){ case 常量表达式1:语句1case 常量表达式2:语句2…case 常量表达式n:语句ndefault           :语句n 1}其中,default和语句n 1可以省略。语句的执行过程如下:先计算switch表达式的值,如果表达式的值等于某个case后常量表达式的值,则转向该case后的语句执行;如果表达式的值不等于任何一个case后的常量的值,则转向default后语句执行,若没有default部分,则直接转到switch语句后面的语句执行。
      对switch语句几点说明:1,switch语句表达式的类型一般为:整形,字符型,枚举型(在 C语言中整形与字符型可以通用),并且每一个case后的常量表达式只能有一个。2,switch语句中的case与default的出现次数是任意的,3,每个case后的常量表达式的值必须不相同,否则会出现相互矛盾的情况。
      如switch(n){case  9:printf(”A”);break;case  7:  printf(“B ”)  ; break;case  9: printf( “ C ”)  ;break;}则在编译时,计算机会发出以下信息告诉程序发生错误:Error: Duplicate case in function main4,在switch语句中,不对case后的常量表达式进行条件判断,常量表达式只起语句标识符的作用。
      因此,要想让程序执行完某个case后的语句,其流程直接跳出switch语句,就必须在这个case语句结束时加上一个break语句才行,否则程序将继续执行该case语句的下一个case语句,直到遇到花括号为止。例如以下两段程序。程序a:Switch (m){case 1:  printf(“A/n”);case 2:  printf(“ B/n  ”); }当m=1时,程序a的运行结果为:A B程序b:switch (m){case  1:printf(“A/n”);break;case  2:  printf( “B/n  ”) ;break;}当m=1时,程序b的运行结果为:A经典例题:从键盘输入百分制成绩数据,然后输出成绩等级A,B,C。
      90分以上为A,60~80分为B,60分为 C。#includevoid main( ){int   score ,n;printf(“ 请输入一个学生成绩:”);scanf(“%d”,&score);n=score/10switch(n){ case  10:case  9: printf(“A”);break;case  8:case  7:case  6: printf(“B”) ;break;default: printf(“C”);}printf(“ ”);} 当然你仔细看一下,我们这个程序的有的地方可以进行更改,使程序更简单。
      #includevoid main(){ int score,n;换成int score;printf(“请输入一个学生成绩:”)scanf(“%d”,&score);n=score/10;取消switch(n)换成switch(score/10)……} 习题二:           
     拿这道题我们重点说一下,switch应用时最应该注意的地方,就是switch表达式的值与常量的取值。
      这道题是做运输距离与运输金额的程序,这里面的重点,就是switch表达式的值和常量的取值,这道题取值比较简单S的变化范围都是250时的整数倍,所以这里switch表达式的值除250就可以了。我们来看一下这个程序。#includevoid main( ){int n,sum=0;n=1;while( n<=100){sum=sum n;n ;对于这里我们可以进行以下代换sum =n ,}printf(“ sum=%d”,sum);}下面是sum=sum n;n ;换成sum =n ;的结果。
      这几个我以前打的。程序都运行过了,没有问题的。

    杨***

    2018-07-28 01:49:48

类似问题

换一换

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):