c语言基础4 - 语句

在c语言中,将表达式后带:,即称为一条语句

a+=b;

在C语言中最简单语句为;---空语句,一般作用是消耗时间,

使用{}括起来的一条或多条语句,称为复合语句,算一条语句

在C语言中,共计9中控制语句

语句分类:

顺序语句

在C语言程序中,除了以下9种控制语句之外,全部为顺序语句。从main函数开始顺序执行

分支语句

1.1 单分支语句   if…else

标准格式

if(表达式){}

 else{}

执行流程:判断表达式的值,如果为真则执行语句块1,否则执行语句块2

注意:1. 最简形式为条件运算符:?:

  2. {}可以省略,有且仅有一条语句时

 3. ()后一般不带分号

 4. if else 后可以没有else,如果为真执行语句块,否则跳过

 5. if else 支持阶梯形式(不是嵌套,多种情况选择其中一个)

if()1

Elase  if ()

Else if()

Else

6.If else 支持嵌套,但是建议不超过4层

1.2 多分支语句  switch  case

标准格式

switch(整数表达式)

{

Case 整数常量1:语句块1;break;

Case 整数常量2:语句块2;break;

case整数常量3;语句块3;break;

default;

语句块

}

执行过程:计算整数常量表达式的值,并与整数常量进行匹配,如果匹配上,则执行相应的语句块,如果都没有匹配上,则执行default语句。

注意事项:

1.case后整数常量,不能是实数,不能是字符串,不能是范围,不能是表达式

2.switch后整数表达式,不能是实数,不能是字符串,不能是范围

3.default语句可以没有,如果没有default语句,没有匹配上case时,直接跳过switch语句

4.break语句是唯一可以直接结束switch的语句,但break可以没有----当case匹配上时,执行对应的语句块,没有break时,继续向下执行,直到第一个break语句才能跳出

5.switch语句可以嵌套,但建议不超过4层,太多时间复杂度太大,执行程序需要的时间过多。

循环语句

重复地执行相应的语句块

循环必须存在结束条件,否则为死循环

for循环

标准格式

for(表达式1;表达式2;表达式3)

{

循环体语句

}

执行过程:

1.先执行表达式1,有且只执行1次

2.判断表达式2的值,如果为真则执行循环体语句

如果为假则循环结束

3.执行完循环体语句后,继续执行表达式3,跳转至第二步

注意事项:

1.for循环中;不能用,:代替,也不能省略

2.for循环中表达式1可以省略,但表达式1需要在循环之前出现;表达式3也可以省略,需要在循环体尾部出现;表达式2也可以省略,for(;;),表示死循环

3.for循环中{}可以省略,有且只有1条语句时

4.for循环支持break结束循环;支持continue继续循环(结束本次循环)

5.支持嵌套,建议不超过4层

while循环

标准格式  while(表达式)

{循环体语句}

执行过程:判断表达式的值,如果为真执行表达式语句,如果为假,循环结束

注意事项

1.while循环的()后不能跟;

2.while循环的{}可以省略,但是有且仅有一条语句时才能省略

3.while循环的死循环为while(1);

4.while循环支持break结束循环,跳转至{}外

continue结束本次循环,跳转至表达式

 do…while循环

标准格式:do {循环体语句}

while(表达式);

执行过程:先执行循环体语句,在判断表达式的值,如果为真继续执行,如果为假则结束

注意事项:

1.do while语句()后要带;  唯二的,

2.区分while和do while的区别:  while先判断后执行,do while先执行后判断

3.do while的死循环为do{}while(1);

4.do while支持break结束循环,跳转至{}外

continue结束本次循环,跳转至表达式

5.do while支持嵌套,但建议不超过4层

goto循环------不推荐使用

辅助语句

 break

 continue

 return

小练习

1.输入学生成绩,0-100,输出a90-100, b80-90以下,70-80c,60-70d,60以下不及格

2.请输入年月日,计算这一天是今年的第几天switc

3.输出1000以内

        3.1.7的倍数

        3.2.包含7的数字

        3.3.任意数

4.输入一个数字,判断这个数字是不是素数,如果是打印是,不是打印不是

for(i=2;i<-sqrt(n);i++)

   gcc sushu.c -lm

 pow(x,y)

 abs(x)   |x|---int型

 fabs(x)    |x|---浮点型

5.求M阶乘

6.1+1/2+1/3+…1/n>15   n=?

7.公交收费:每三站收5毛,不分类算法

Fee=(s-1)/3*0.5+0.5

……

每n站收5毛:

Fee=(s-1)/n*0.5+0..5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值