c语言入门语句,C语言基础之语句-笔记五

基础概念:

1、语句:表达式后面加上分号,构成表达式语句。特殊情况为只有1个分号的语句,称空语句。

2、语句分类

(1)空语句:本身只有一个分号,在不需要执行任何任务,但语法要求出现一条完整的语句时使用。

(2)表达式语句:如:x=y+3;

(3)控制语句,包括选择语句和循环语句。

一、选择语句(分支语句)

分类:if语句和switch语句

1、if语句

① if(单分支);

② if(expression) ....else.....(双分支)

③ if .... else if ... (else if) .....else(多分支)

expression可以是任何能够产生整型结果的表达式,零值表示”假”,非零值表示”真”。C语言中不具备布尔类型。

(1)if语句示例

--1)单分支if语句

#include int main()

{

int i=0;//--i=1

if(i)//条件表达式,条件为真(非0),则执行,假(0)则不执行

{

printf("1111\n");

}

return 0;

}

--2)双分支if语句

#include int main()

{

int iNum=0;

while(1)//"1"为真,重复执行,非0即真

{

printf("请输入一个数\n");

scanf("%d",&iNum);

//条件判断

if(0==iNum%2)

{

printf("%d是偶数\n",iNum);

}

else

{

printf("%d是奇数\n",iNum);

}

}

return 0;

}

--3)多分支if语句

#include int main()

{

int i;

while(1)

{

printf("请输入成绩\n");

scanf("%d",&i);

if(i>90)

{

printf("成绩为A\n");

}

else if(i<=90 && i>80)

{

printf("成绩为B\n");

}

else if(i<=80 && i>70)

{

printf("成绩为C\n");

}

else

{

printf("成绩D\n");

}

}

return 0;

}

2、switch case 语句

(1)概念

switch 语句是一种多路判定语句,它判断表达式的值是否与整数或字符常量列表中的某个值相匹配,若找到了相应的匹配,就会执行与常量关联的语句, 遇到break语句终止执行。不符合case语句就执行default后的语句,同样遇到break语句终止执行。default子句可以出现在语句列表的任何位置,通常放在列表末尾。

执行过程:首先计算switch(表达式)中表达式的值,然后当case后不加break;时,程序执行case标签与表达式值匹配的语句,并从该条case语句开始,一直执行直至语句列表结束;当case后加上break;时,执行完case标签与表达式值匹配的语句后,程序跳到语句列表的末尾,即跳出switch语句。

(2)编写格式

switch(表达式)

{

case 1:

{

语句集;

}

break;

case 2:

{...}break;

default:

{

语句集;

}

break;

}

(3)示例

根据输入成绩并输出分数等级 >90:A ; >=90>80:B ; >=80>70:C; >=70>60:D;其他:不合格

#include int main()

{

int iscore;

while(1)

{

printf("请输入成绩\n");

scanf("%d",&iscore);

switch(iscore/10)

{

case 9:

{

printf("A\n");

}

break;

case 8:

{

printf("B");

}

break;

case 7:

{

printf("C");

}

break;

case 6:

{

printf("D");

}

break;

default:

{

printf("不合格");

}

}

}

return 0;

}

(4)使用

1)计算表达式的数据类型要与指定的case常量的数据类型匹配。

2)switch后的表达式可以包含任何变量名,也可以是常量,但结果必须是整型值。

3)case后面只能是常量(整型和字符型)。

(5)if和switch区别

if:范围性判断(线判断),条件的计算是自顶向下

switch:状态性判断(点判断)

二、循环语句

分类:for循环、while循环、do...while循环

1、for语句

(1) 编写格式

for(初始值;终止值;步长)

{

语句集;

}

程序执行过程:

782f38d25a026ba4c1d3a2cfba491cb5.png

初始值在循环最开始时执行一次,之后不再执行初始值。第一次执行完初始值后,执行for循环里面的语句,然后执行步长,接着终止值作判断,满足条件,直接执行for循环里面的语句,不满足条件则跳出for循环;然后再执行步长(调整部分),如此循环,直到终止值判断不满足条件跳出for循环。

在for语句中,continue跳过循环体的剩余部分,直接回到调整部分。在while语句中,调整部分是循环体的一部分,所以continue将会把它也跳过。

(2)示例

--绘制九九乘法表

#include int main()

{

int i,j;

for(j=1;j<10;j++)

{

for(i=1;i<=j;i++)

{

printf("%d*%d=%d\t",i,j,i*j);

}

printf("\n");

}

return 0;

}

for循环实现:对数组成员值从小到大进行排列:

#include #include #include #define NUM_ELEMENTS 10

int main()

{

int i,j,k=0;

int temp;

int value[10]={3,6,7,1,4,9,5,8,12,15};

for(i=0;ivalue[j])//将值小的排列在前面

{

temp=value[i];

value[i]=value[j];

value[j]=temp;

}

}

}

for(k;k<10;k++)

{

printf("value[%d]=%d\n",k,value[k]);

}

while(1);

return 0;

}

执行过程:

value[0]依次和value[1]、value[2]…value[9]比较,比较完之后将最小的值给value[0],第2次value[1]依次和value[2]、value[3]…value[9]比较,比较完之后将次小的值给value[1],最后value[8]和value[9]比较,比较完之后将最次小的值给value[8]。

739e547691a967c08676a06e932bfc55.png

(3)注意

for嵌套使用,可以实现画界面效果。

2、while语句

(1)while(表达式)//表达式为真,才执行语句

{

语句集;

}

--重复执行,有可能执行不到

(2)do

{

语句集;

}while(条件表达式);

--至少执行一次,条件满足继续执行,直到条件为假,结束程序。(当型循环)

(3)示例

--1)重复执行,按esc退出

#include int main()

{

char ch=0;

int i=0;

while(1)

{

printf("111\n");

ch=getch();

if(27==ch)//27为esc的ASCII码

{

break;//若输出为esc,则退出

}

}

return 0;

}

--2)重复执行,按y再回车,进行下一步,按n退出

#include int main()

{

char ch='y';

while(ch=='y')//while中可以是常量也可以是变量也可以是表达式

{

printf("111\n");

ch=getch();

if('n'==ch) //若输入为n,则退出

{

break;

}

}

return 0;

}

--3)至少执行一次,直到条件不满足结束循环。

#include int main()

{

int i=0;

do

{

printf("111");

}while(1);

return 0;

}

(4)for和while区别:

while和for语句的循环体可能一次也不执行,而do-while语句的循环体至少也要执行一次。

for:范围条件限定(循环次数)已知 while:循环条件未知

三、其它控制语句

break; continue; goto; return;exit等

1、break语句和continue语句

(1) break语句概念

1)用于在 switch 语句中终止case,也可用于循环中突然终止循环

2)当循环中遇到 break 语句时,循环立即终止,控制权传递给循环之后的语句

3)多层循环中,break只向外跳一层

(2) continue语句概念

1)只能在循环中使用让封闭循环进行下一次迭代

2)遇到该语句时,跳过循环体中剩余的语句,控制权传递给重新初始化步骤

3)在while循环和do…while循环中,程序控制权传递个条件测试语句

4)在for循环中,continue影响循环的增量部分,然后执行条件测试

(3)示例

--1)break在前,continue在后

#include int main()

{

int i;

for(i=0;i<10;i++)

{

if(i==2)

{

break; //结束for循环

}

if(i==4)

{

continue;

}

printf("%d\n",i);

}

return 0;

}//运行输出 0 1

--2)continue在前,break在后

#include int main()

{

int i;

for(i=0;i<10;i++)

{

if(i==2)

{

continue;//结束当前循环,进入下一次循环

}

if(i==4)

{

break;

}

printf("%d\n",i);

}

return 0;

}//运行输出 0 1 3

break和continue两条语句中的任意一条出现在嵌套的循环内部,只会对最内层的循环起作用,无法对外层循环起作用。

2、goto语句

goto 语句将控制权传递给C程序中同一函数内的其他语句。

C语言是结构化语言,顺序较为严谨,故一般不用goto,会破坏结构体。

3、return语句:

(1)编写格式:return expression;

(2)使用

1)表达式可选

2)return 语句用于从函数中返回

3)return 语句可带有值,该值将返回给调用程序,该语句使程序执行返回到调用函数的位置。

4)一个函数中可以使用多个return语句,但是遇到第一个return语句时返回

4、exit语句:结束函数,相当于

(1)编写格式:exit(int return_code);

(2)使用

1)exit() 用于跳出一个程序,是一个标准库函数

2)该函数的用途是立即终止程序,控制权交给操作系统

注:基于代码规范,各控制语句无论几行,都应加{}。

编辑 2020-4-22 21:03

注:本文旨于作为自己的学习笔记,不作他用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值