C语言程序的基本语句
创始人
2025-05-30 08:07:07

C语言程序的基本语句

1.声明语句

声明语句用来对变量和函数进行说明。使用形式为:

类型说明符变量表;

类型说明符函数名(形式参数表);

例如:

int a,b;

int main(int x,int y);

2.表达式语句

表达式语句是由一个表达式加“;”构成的语句。使用形式为:

表达式;

例如:

n = 5;

i++;

a += b + c;

3.函数调用语句

函数调用语句由一个函数调用加分号“;”组成,使用形式为:

函数名(实参表);

例如:

printf("Hello,word!\n");

c = max(a,b);

分析:

printf是一个标准库中的输出函数,max是一个由用户自定义函数。

4.空语句

空语句是指仅由一个分号“;”组成的语句,即:

空语句不产生任何操作。

空语句的使用一般有两种情况:

  1. 在循环语句中使用空语句提供一个不执行操作的空循环体。
  2. 为有关语句提供标号,用以说明程序执行的位置。

例如:

while(getchar()!='\n')

;

分析:

该循环语句的功能是用键盘输入一个字符,只要输入的字符不是换行符(‘\n’)则继续输入,直到输入的字符为回车换行符时循环终止。

5.复合语句

用一对大括号{}把多条语句和声明括起来,就构成了一个复合语句。

例如:

a = 4;

b = 5;

c = a + b;

printf("%d",c);

}

注意:

  1. 在括号}外不需加分号。
  2. 复合语句内的各条语句都必须以分号”;“结尾。组成复合语句的语句数量不限。
  3. 复合语句可以出现在允许语句出现的任何地方。

6.流程控制语句

C语言有9种流程控制语句,可分为以下三类:

1.条件判断语句

条件语句:if()…和if()…else…

多分支选择语句:switch(){…}

2.循环执行语句

while语句:while()…

do while语句:do…while();

for 语句:for()…

3.转向语句

无条件转向语句:goto

结束本次循环语句:continue

终止执行switch或循环语句:break

函数返回语句:return

7.if语句

1.单分支if语句

该语句的一般形式:

if(表达式) 语句

在这里插入图片描述

2.双分支if语句

该语句的形式为:

if(表达式)

语句1;

else

语句2;

在这里插入图片描述

3.if语句的嵌套

一般形式为:

if(表达式1)

if(表达式2)

语句1

else

语句2

else

if(表达式3)

语句3

else

语句4

在这里插入图片描述

应当注意,else和if之间的配对关系。为了避免二义性,C语言规定else总是与它上面的最近的未配对的if配对。

例:

编写程序判别键盘输入字符的类别

/*
根据ASCII码判别字符类型:
小于32的为控制字符
在48和57之间为数字0到9
在65和90之间为大写字母A到Z
在97和122之间为小写字母a到z
其余为其他字符。
*/
#include
int main() {char c;printf("请输入一个字符:");c = getchar();if (c < 32)printf("控制字符");else if (c >= 48 && c <= 57)printf("数字");else if (c >= 65 && c <= 90)printf("大写字母");else if (c >= 97 && c <= 122)printf("小写字母");elseprintf("其他字符");return 0;}

结果:
在这里插入图片描述

8.switch语句

特点:可以根据一个表达式的多种值选择多个分支。又称分情况语句或开关语句。

switch语句的一般形式:

switch(表达式){
case 常量表达式1: 语句1
case 常量表达式2: 语句2
.....
case 常量表达式n: 语句n
default: 语句n+1

在这里插入图片描述

说明:

  1. 关键字switch后面括号内的表达式可以为整型、字符型和枚举型。
  2. 关键字switch后面用花括号{}括起来的部分称为switch语句体。
  3. 常量表达式是由常量构成的,不含变量和函数。关键字case与其后的常量表达式合称为case语句标号,并且各常量表达式的值不能相同,否则会出现错误。
  4. 在关键字case和各常量之间一定要有空格。
  5. 各语句块可以是一条或多条语句,不必用{}括起来。也可以为空语句,甚至可以省略语句块。
  6. 关键字default也起标号作用,代表所有case语句标号以外的标号,也可以没有dafault标号。
  7. 各个case和default的出现次序可以任意,但可能会影响程序的执行结果。为了程序的易读性,通常有规律性地书写各case,并且default写在最后。
1.在switch中使用break语句

break语句也称间断语句,可以在各语句块之后加上break语句。每当执行break语句时,立即跳出switch语句体。

switch语句通常总是和break语句联合使用,使得switch语句真正起到分支的作用。

例:

用数字1到7表示星期

#include
int main() {int a;printf("请输入一个数字:");scanf_s("%d", &a);switch (a){case 1: printf("星期一\n"); case 2: printf("星期二\n");case 3: printf("星期三\n"); case 4: printf("星期四\n"); case 5: printf("星期五\n"); case 6: printf("星期六\n"); case 7: printf("星期日\n");default: printf("error");}return 0;
}

结果:

在这里插入图片描述

添加break后:

#include
int main() {int a;printf("请输入一个数字:");scanf_s("%d", &a);switch (a){case 1: printf("星期一\n"); break;case 2: printf("星期二\n"); break;case 3: printf("星期三\n"); break;case 4: printf("星期四\n"); break;case 5: printf("星期五\n"); break;case 6: printf("星期六\n"); break;case 7: printf("星期日\n"); break;default: printf("error");}return 0;
}

结果:

在这里插入图片描述

9.while语句

1.当型循环

一般形式:

while(表达式) 语句;

其中表达式是循环条件、语句时循环体

一般地,表达式中要对某个变量进行判断,通常称这个变量为循环控制变量,简称循环变量。

在这里插入图片描述

2.直到型循环

一般形式:

do

语句;

while(表达式);

在这里插入图片描述

先执行一次循环体语句,再判别表达式的值,若为真(非0)则继续循环;否则,终止循环,亦即直到其值为假(或0),终止循环。

3.两者之间的区别

do…while是先执行后判断,因此do…while至少要执行一次循环体;

while是先判断后执行,如果条件不满足,则循环体一次也不执行。

另外,两者一般可以相互替换。

例:

任意一个正整数,将该数各位颠倒输出。

#include
int main() {int n, d;printf("请输入一个数:");scanf_s("%d", &n);while(n != 0) {d = n % 10;printf("%d", d);n = n / 10;}return 0;}

结果:

在这里插入图片描述

#include
int main() {int n, d;printf("请输入一个数:");scanf_s("%d", &n);do {d = n % 10;printf("%d", d);n = n / 10;} while (n != 0);return 0;}

结果:

在这里插入图片描述

差别:当输入n = 0时:

while结果:

在这里插入图片描述

do…while结果:
在这里插入图片描述

可以看到while无输出结果,而do…while有输出结果0。

10.for语句

一般形式:

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

语句;

说明:

  1. 表达式1通常用于在进入循环之前给某些变量赋初值,一般是赋值表达式。

  2. 表达式2通常是用来控制循环是否执行的循环条件,一般为关系表达式或逻辑表达式。

  3. 表达式3通常用来修改循环重复时循环控制变量的值,一般是赋值表达式。

  4. for后面的语句时循环体,如果由多条语句组成,一定要用花括号{}括起来。

在这里插入图片描述

例:

0到100求和

#include
int main() {int i;int sum = 0;for (i = 1; i <= 100; i++) {sum = sum + i;}printf("%d", sum);return 0;
}

结果:

在这里插入图片描述

注意:

for语句中的各表达式都可以省略,但分号间隔符不能省

如:for(;i<=100;i++)省略了表达式1.

11.goto语句

一般形式为:

goto 语句标号;

标号:语句

说明:

其中语句标号是按标识符规定书写的符号,放在某一语句的前面,标号后加冒号。

语句标号起标识语句的作用,与goto语句配合使用。

例:

求0到100的和

#include
int main() {int i = 1;int sum = 0;
a:sum = sum + i;i++;if (i <= 100)goto a;printf("%d", sum);return 0;
}

结果:

在这里插入图片描述

12.break和continue语句

1.break语句

一般形式为:

break;

break只能在循环语句和switch语句中使用。

作用:跳出循环,提前结束循环

#include
int main() {int i;for (i = 0; i <= 5; i++) {if(i==2)break;printf("%d\n", i);}return 0;
}

结果:

在这里插入图片描述

2.continue语句

一般形式:

continue;

作用:结束本次循环,转入下一次循环的判断与执行

#include
int main() {int i;for (i = 0; i <= 5; i++) {if (i == 2)continue;printf("%d\n", i);}return 0;
}

结果:
在这里插入图片描述

比较这两个输出的结果,我们就可以明确了解break和continue的区别。

相关内容

热门资讯

上海大众途观价格(上海大众途观... 本篇文章极速百科给大家谈谈上海大众途观价格,以及上海大众途观价格表对应的知识点,希望对各位有所帮助,...
怎么开罐子盖子(怎么开罐子盖子... 今天给各位分享怎么开罐子盖子的知识,其中也会对怎么开罐子盖子视频进行解释,如果能碰巧解决你现在面临的...
西安到兰州(西安到兰州的高铁票... 本篇文章极速百科给大家谈谈西安到兰州,以及西安到兰州的高铁票对应的知识点,希望对各位有所帮助,不要忘...
1000毫升等于多少斤(100... 今天给各位分享1000毫升等于多少斤的知识,其中也会对1000毫升等于多少斤怎么算进行解释,如果能碰...
徐州到洛阳(徐州到洛阳坐火车多... 本篇文章极速百科给大家谈谈徐州到洛阳,以及徐州到洛阳坐火车多长时间对应的知识点,希望对各位有所帮助,...
祝贺新年的诗句(新年诗句大全唯... 本篇文章极速百科给大家谈谈祝贺新年的诗句,以及新年诗句大全唯美对应的知识点,希望对各位有所帮助,不要...
公交乘车码怎么用(公交乘车码怎... 本篇文章极速百科给大家谈谈公交乘车码怎么用,以及公交乘车码怎么用微信对应的知识点,希望对各位有所帮助...
临沂违章查询(临沂违章查询ap... 本篇文章极速百科给大家谈谈临沂违章查询,以及临沂违章查询app对应的知识点,希望对各位有所帮助,不要...
左转弯闯红灯三张图解(左转弯闯... 本篇文章极速百科给大家谈谈左转弯闯红灯三张图解,以及左转弯闯红灯三张图解中途停止对应的知识点,希望对...
解除etc需要什么手续(解除e... 今天给各位分享解除etc需要什么手续的知识,其中也会对解除etc需要什么手续费用进行解释,如果能碰巧...
昆明交通违章查询(昆明交通安全... 今天给各位分享昆明交通违章查询的知识,其中也会对昆明交通安全网违章查询进行解释,如果能碰巧解决你现在...
变道(变道不打灯怎么处罚) 变... 本篇文章极速百科给大家谈谈变道,以及变道不打灯怎么处罚对应的知识点,希望对各位有所帮助,不要忘了收藏...
xfx是什么(xfx的网络语是... 今天给各位分享xfx是什么的知识,其中也会对xfx的网络语是什么进行解释,如果能碰巧解决你现在面临的...
卡罗拉双擎真实缺点(卡罗拉双擎... 本篇文章极速百科给大家谈谈卡罗拉双擎真实缺点,以及卡罗拉双擎真实缺点有哪些对应的知识点,希望对各位有...
新手炒现货怎么入门(炒现货技巧... 本篇文章极速百科给大家谈谈新手炒现货怎么入门,以及炒现货技巧对应的知识点,希望对各位有所帮助,不要忘...
郑州地铁3号线(郑州地铁3号线... 今天给各位分享郑州地铁3号线的知识,其中也会对郑州地铁3号线北延长线最新消息进行解释,如果能碰巧解决...
锂电池寿命(锂电池寿命最长多少... 今天给各位分享锂电池寿命的知识,其中也会对锂电池寿命最长多少年进行解释,如果能碰巧解决你现在面临的问...
成都到自贡(成都到自贡汽车时刻... 今天给各位分享成都到自贡的知识,其中也会对成都到自贡汽车时刻表进行解释,如果能碰巧解决你现在面临的问...
g1924高铁时刻表(高铁g1... 本篇文章极速百科给大家谈谈g1924高铁时刻表,以及高铁g1924路线对应的知识点,希望对各位有所帮...
五菱小卡单排1.5报价(五菱小... 本篇文章极速百科给大家谈谈五菱小卡单排1.5报价,以及五菱小卡单排15报价图片对应的知识点,希望对各...
吉利帝豪ec7(吉利帝豪ec7... 今天给各位分享吉利帝豪ec7的知识,其中也会对吉利帝豪ec718参数配置进行解释,如果能碰巧解决你现...
起亚越野车(起亚越野车型) 起... 今天给各位分享起亚越野车的知识,其中也会对起亚越野车型进行解释,如果能碰巧解决你现在面临的问题,别忘...
有酒后驾驶违法行为的(有酒后驾... 今天给各位分享有酒后驾驶违法行为的的知识,其中也会对有酒后驾驶违法行为的处罚进行解释,如果能碰巧解决...
g2215(g2215次列车途... 本篇文章极速百科给大家谈谈g2215,以及g2215次列车途经站点对应的知识点,希望对各位有所帮助,...
孔明斩魏延的歇后语是什么(孔明... 今天给各位分享孔明斩魏延的歇后语是什么的知识,其中也会对孔明斩魏延的歇后语下一句是什么进行解释,如果...
奇瑞发动机世界排名(奇瑞发动机... 本篇文章极速百科给大家谈谈奇瑞发动机世界排名,以及奇瑞发动机质量如何对应的知识点,希望对各位有所帮助...
国足1比1战平沙特是哪一年(国... 今天给各位分享国足1比1战平沙特是哪一年的知识,其中也会对国足1比0沙特球迷进行解释,如果能碰巧解决...
如何鉴别端砚(如何鉴别端砚白端... 今天给各位分享如何鉴别端砚的知识,其中也会对如何鉴别端砚白端进行解释,如果能碰巧解决你现在面临的问题...
断片啥意思(断片啥意思猜一个数... 本篇文章极速百科给大家谈谈断片啥意思,以及断片啥意思猜一个数字对应的知识点,希望对各位有所帮助,不要...
宝马535多少钱一辆(宝马53... 今天给各位分享宝马535多少钱一辆的知识,其中也会对宝马535多少钱一辆啊进行解释,如果能碰巧解决你...