当前位置:编程学习 > C/C++ >>

关于C语言的几个语法点

可以给我说下C语言中的while  do-while  for  break  continue  goto这几个语句的结构吗?
一定要清楚。最好加我QQ:708965077
追问:不可以当循环语句使用?
答案:

                              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:语句1

case 常量表达式2:语句2

case 常量表达式n:语句n

default           :语句n+1

}

其中,default和语句n+1可以省略。

语句的执行过程如下:先计算switch表达式的值,如果表达式的值等于某个case后常量表达式的值,则转向该case后的语句执行;如果表达式的值不等于任何一个case后的常量的值,则转向default后语句执行,若没有default部分,则直接转到switch语句后面的语句执行。

switch语句几点说明:

1switch语句表达式的类型一般为:整形,字符型,枚举型

(在 C语言中整形与字符型可以通用),并且每一个case后的常量表达式只能有一个。

2switch语句中的casedefault的出现次数是任意的,

3,每个case后的常量表达式的值必须不相同,否则会出现相互矛盾的情况。如

switch(n)

{case  9printf”A”;break;

case  7:  printf(“B ”)  ; break;

case  9: printf( “ C ”)  ;break

}

则在编译时,计算机会发出以下信息告诉程序发生错误:

Error: Duplicate case in function main

4,在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:

switch (m)

{

case  1printf(“A/n”);break;

case  2:  printf( “B/n  ”) ;break;

}

m=1时,程序b的运行结果为:

A

经典例题:从键盘输入百分制成绩数据,然后输出成绩等级A,B,C。90分以上为A,60~80分为B,60分为 C

#include<stdio.h>

void main( )

{

int   score ,n;

printf(“ 请输入一个学生成绩:”);

scanf(“%d”,&score);

n=score/10

switch(n)

{

case  10:

case  9: printf(“A”);break;

case  8:

case  7:

case  6: printf(“B”) ;break;

default: printf(C)

}

printf(“\n”);

}

当然你仔细看一下,我们这个程序的有的地方可以进行更改,使程序更简单。

#include<stdio.h>

void main()

{ int score,n换成int score

printf(“请输入一个学生成绩:”)

scanf(“%d”,&score);

n=score/10;取消

switchn换成switchscore/10

……}

 

习题二:

 

 

 

 

 

 

 

 

 

 

 


 

拿这道题我们重点说一下,switch应用时最应该注意的地方,

就是switch表达式的值与常量的取值。

这道题是做运输距离与运输金额的程序,这里面的重点,就是switch表达式的值和常量的取值,这道题取值比较简单S的变化范围都是250时的整数倍,所以这里switch表达式的值除250就可以了。我们来看一下这个程序。

#include<>

 

while语句

while语句应该是我们初学C语言的熟悉的一个语句,因为我们课改的学生都应该学过流程图,学过当型和直到型循环,

while语句被用来实现当型循环,一般形式为:

while(表达式)

语句

执行过程为:当表达式值为真(非0)时执行while语句中的语句即循环体。用流程图表示为


表达式


语句


假(0


真(非0

其运算特点:先判断,后执行。

所以while型最少运行0次。如果是直到型则最少运行1次,直到型特点:先执行,后判断。

下面我们来看一道例题。

经典例题:求1+2+3+…+100的值。

算法:本题要进行累加运算,必然使用循环实现,可以用一变量n做为计数器即n=n+1,直到100结束循环,sum作为累加器。

上一个:标准C语言有哪些重要的规定?
下一个:C语言上的符号优先级是怎样的?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,