您的位置:首页 > 编程语言 > C语言/C++

《C语言参悟之旅》-读书笔记(三)

2013-01-21 13:23 141 查看
第四章 流程控制
1.流程图(当初学的时候觉得很麻烦,现在觉得对整理编程思路帮助还是很大)



2.顺序结构

3.分支结构

1)形式 ( else 总是与其前面最近的 if 配对 )

A . if(表达式)


语句;

B. if(表达式)

语句1;

else

语句2;

C.if(表达式1)

语句1;

esle if(表达式2)

语句2;

...........

esle if(表达式m)

表达式m;

esle n;

注:

I.在 if 语句中表达式通常是逻辑表达式(x&&y),关系表达式(a > b),也可以是赋值表达式(x = y) ,甚至可以是一个变量(x)!

if( x=y ) // 赋值表达式 只要非零就成立

II. if后面不要加 “ ;”

III. if后面养成加括号的习惯

if ( 表达式 )

{

}

else

   {

    }

 IV,建议使用if( 0 == x)这种形式(因为很容易错写成 if ( x =0 ),你本来是想判断x是否等于零,但语句x = 0程序会编译通过,而if ( 0 = x)的话不会通过)

V,在多重分支结构中,建议将简单的部分放在if部分、复杂的放在else或者esle if部分,依次类推(1.提高运行效率 2.方便后面复杂的部分再进行细分)

2)switch

swith(表达式)

{

case 常量表达式1: 语句1;

case常量表达式2: 语句2;

.....

case 常量表达式n : 语句n;

default : 语句 n + 1;

}

A.用在程序中需要对一个变量进行多种条件的判断时

   B. 在case后的各常量表达式的值不能相同

C.在case后可以有多个语句,可以不用"{ }",

case 常量表达式:

a = 0 ;

b = 1;

c = 2;

D.多个case可以共享一组执行语句( 飞机中的斜45飞行)

case 10:

case 9 : grade = ' A '; break;

4.循环结构

核心思想:

I 必须要初始化一个计算器

II.计算器和有限的值进行比较

III.每次执行循环、计算器的值都哟啊更新

1) while



注: A.while语句中的表达式一般是关系表达式或逻辑表达式,在语法上任何表达式都可以作为循环条件,只要表达式的值为真即可以继续执行循环

int x = 10;

while( y = x -- )

{

}

2) do ...while(不管循环的条件怎样,都要保证至少进行一次循环)

适用于:不确定循环

while( (c ! =getchar() ) != ‘ \n ’)

putchat( c );

3)for( ; ; )

{

}

注:以下形式也是可以的;

A.for( i = 1; i < 100; i += 5 )

{

}

B.for( i =10 ; i < 100; i *=1.5 )

{

}

C:for( sum = 0, i =1; i = 1; i <= 100; i++ ) //表达式1和表达式3可以是逗号表达式

{

}

D.for(i = 0; (c = getchar( ) != '\n'; i += c))

E.for( i = 1; i < 100 ; i = i + step )//step是一个变量 ,当不能



可以调节step的大小,但如果step被设为10,循环将无法终止,形成死循环

4)循环的选择:

A:如果是不确定循环,最后用while,如果是计数循环, 那最好用for( ) ( 内层循环变量的不同 )





5.跳转结构:

1)break;

A:break语句不仅能用于switch,还可以用在while , do ...while , for( )(通常都是遇到特殊情况才跳出, 所以break语句通常和if语句连在一起 )



B.break语句不能用于switch和循环语句之外的语句,在多层循环中,break只能向外跳一层

2)continue

作用是终止本次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断



注意:continue不能用于循环语句之外的语句

3)goto语句(会破坏程序结构,很少使用)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: