关于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语句几点说明:
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 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
程序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。
#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;取消
switch(n)换成switch(score/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语言上的符号优先级是怎样的?