C: 笔记整理4: C语言中各语句及其程序设计(总复习)

笔记整理4: C语言中各语句及其程序设计


常用的控制语句:
控制语句说明
if()…else…选择语句
switch()多分支选择语句
for()…循环语句
while()…循环语句
do…while()循环语句
break退出switch或循环
continue退出本次循环
return从函数返回

选择结构程序设计

(1),if语句及程序设计

形式:
1,if(表达式)语句
2,if(表达式1)语句 else 语句
3,if(表达式1)语句『else if (表达式n)语句』 else 语句
4,if 循环语句的嵌套。

含义:
1,若表达式为真,则执行其后语句,否则不执行。
2,若表达式1为真,则执行其后语句,否则执行else后的语句
3,若表达式1为真,则执行其后语句,否则判断语句n,哪条表达式为真,则执行其后语句,然后结束本循环,若都不为真,则执行else后的语句。
4,循环语句的嵌套,即一个IF语句包含另一个IF语句,另一个呢也可能会再包含一个,但一般不会超过3个。

注意:
1,可见如果IF循环语句中有else,则必定会执行一条语句,如果没有,则可能一条语句也不执行。
2,在做IF语句的题时,我们要注意if,else if,else 的搭配问题 ,一般我们从下往上看,就近原则喔。

例(程序设计):

int a = 1,b = 2,c = 3,d = 0; 
if(a == 1) 
if(b != 2)
if(c == 3) d=1; 
else d = 2;
else if(c != 3) d = 3; 
else d = 4;
else d = 5; 
printf("%d\n",d); 		//一般会直接给你一堆数字,让你摸不清头脑

整理后:

#include<stdio.h> 
main()
{ 
int a = 1,b = 2,c = 3,d = 0; 
if(a == 1) 
	if(b != 2)
		if(c == 3) d=1; 
		else d = 2;
	else if(c != 3) d = 3; 
	else d = 4;
else d = 5; 
printf("%d\n",d); 
}										//从下往上看,每个else或else if对应最前面的一个if

输出结果:
4

if语句的嵌套可看我之前发过的习题,这里就不举例了。

(2),switch语句及程序设计

形式:

switch(总表达式)
{
	case 常量表达式1:语句1
	case 常量表达式2:语句2
	......
	case 常量表达式n:语句n
	default:语句 n+1						//default可放在复合语句的最前面
}

注意:
1,执行总表达式所算出的常量所对应的语句及其后面的所有语句
2,若无对应的常量,则执行default后的所有语句。此时default的位置及其重要。
3,若不想执行所有语句,可用break退出switch。不能用continue,应其只用于循环。

例(程序设计):

#include<stdio.h>
main ( )
{
    int i=5 ;
    do
    {
        switch (i%2)
        {
        	case 0 :
          	 	 i-- ;
           	 	 break ;			//break跳出switch循环
      	  	case 1 :
          	 	 i-- ;
          	 	 continue ;		//continue继续执行while循环
        }	
        i-- ;
        i-- ;
        printf("%3d",i);
    }
    while (i>0) ;
}

输出结果:
1

顺序结构程序设计

(1),while语句与do…while语句

形式:
1,while(表达式)循环体语句
2,do 循环体语句 while(表达式);

含义:
1,判断表达式是否为真,为真执行循环体语句,并再次判断表达式…直到表达式为假,方可跳出循环。
2,这类和第一类的区别就是它先执行一遍循环体语句,再判断表达式。注意这里不能少分号!!!

例(程序设计):

#include<stdio.h>
main( )
{
    int a[4][4]= { {1, 2, 3, 4}, {5, 6, 7, 8}, {11,12,13,14}, {15,16,17,18}};
    int i,j,s;
    i=j=s=0;
    while(i++<4)
    {
        if( i==2||i==4 )
            continue;
        j=0;
        do
        {
            s+=a[i][j];
            j++;
        }
        while( j<4 );
    }
    printf("%d\n", s);
}											//这里其实只是将a[1]和a[3]内的全部整数加在了一起

输出结果:
92

(2),for语句及程序设计

形式:
for(初值;条件;增量)

注意:
1,初值内可存放逗号语句。
2,条件若不写,则指定为1,即一直为真。

例(程序设计):

#include<stdio.h>
main()
{
    int a[3][3]= {{50,60,70},{60,70,80},{70,80,90}},i,j;
    float s;
    for(i=0; i<3; i++)
    {
        s=0;
        for(j=0; j<3; j++)
            s+=a[i][j];
        printf("%d:%.2f\n",i+1,s/3);
    }
}

输出结果:
1:60.00
2:70.00
3:80.00

(3),break,continue,return语句

1,break,continue语句已在上面的例题中出现过,这里就不做过多阐述了。
2,需要注意的是continue语句在for语句中退出本次循环时,需进行完增量再走。
3,return语句经常在子函数中出现,后面再进行解释啦。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值