【CSDN新星计划】初阶牛C/C++赛道——顺序程序设计(C语句)

在这里插入图片描述

目录

 3.1 C语句的作用和分类

🍉(1)控制语句

🍉(2)函数调用语句

🍉(3)表达式语句

🍉(4)空语句

🍉(5)复合语句


 3.1 C语句的作用和分类

一个函数包含声明部分和执行部分,执行部分是由语句组成的,语句的作用是向计算机系统发出操作指令,要求执行相应的操作。一个C语句经过编译后产生若干条机器指令。声明部分不是语句,它不产生机器指令,只是对有关数据的声明。C程序结构可以用下图表示。

即一个C程序可以由若干个源程序文件(编译时以文件模块为单位)组成,一个源文件可以由若干个函数和预处理指令以及全局变量声明部分组成。一个函数由数据声明部分和执行语句组成。

C语句分为以下5类:

(1)控制语句

控制语句用于完成一定的控制功能。C语言只有9种控制语句,它们的形式是:

① if()...else...          (条件语句)

②for()...                  (循环语句)

③while()...              (循环语句)

④do...while()          (循环语句)

⑤continue                   (结束本次循环语句)

⑥break                        (中止执行switch或循环语句)

⑦switch                       (多分支选择语句)

⑧return                        (从函数返回语句)

⑨goto                          (转向语句,在结构化程序中基本不用goto语句)

上面9种语句表示形式中的()表示括号中是一个“判别条件”“...”表示内的语句。例如上面“if()···else··.”的具体语句可以写成

if (x>y) z=x;
else z=y;

其中,x>y是一个“判别条件”,“z=x;”和“z=y;”是C语句,这两个语句是内嵌在if··else语句中的。这个if··else 语句的作用是:先判别条件“x>y”是否成立,如果 x>y成立就执行内嵌语句“z=x;”,否则就执行内嵌语句“z=y;”。

(2)函数调用语句

函数调用语句由一个函数调用加一个分号构成,例如:
printf("This is a C statement,");
其中printf("ThisisaCstatement.")是一个函数调用,加一个分号成为一个语句。

(3)表达式语句

表达式语句由一个表达式加一个分号构成最典型的是由赋值表达式构成一个赋值语句。例如:
a=3
是一个赋值表达式,而
a=3;
是一个赋值语句。可以看到,一个表达式的最后加一个分号就成了一个语句一个语句必须在最后有一个分号,分号是语句中不可缺少的组成部分,而不是两个语句间的分隔符号例如:

i=i+1                 (是表达式,不是语句)

i=i+1;                任何表达式都可以加上分号而成为语句

例如:

i++;

是一个语句,作用是使i值加 1。又例如:

x+y;

也是一个语句,作用是完成x十y 的操作,它是合法的,但是并不把 x十y的和赋给另一变量,所以它并无实际意义。表达式能构成语句是C语言的一个重要特色。其实“函数调用语句”也属于表达式语句,因为函数调用(如 sin(x))也属于表达式的一种。只是为了便于理解和使用,才把“函数调用语句”和“表达式语句”分开来说明。

(4)空语句

下面是一个空语句:

此语句只有一个分号,它什么也不做。那么它有什么用呢?可以用来作为流程的转向点(流程从程序其他地方转到此语句处),也可用来作为循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。

(5)复合语句

可以用分把一些语句和声明括起来成为复合语句(又称语句块)。例如下面是一个复合语句:

{

float pi=3.14159,r=2.5,area;         //定义变量
area=pi*r*r;
printf("area=%f,area);

}

可以在复合语句中包含声明部分(如上面的第2行),C99允许将声明部分放在复合语句中的任何位置,但习惯上把它放在语句块开头位置。复合语句常用在 if 语句或循环中此时程序需要连续执行一组语句。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26621.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NAT—网络地址转换

目录 静态NAT 动态NAT NAPT—easy IP 多对多的NAPT 端口映射—高级用法 NAT—网络地址转换 IPV4地址不够用 NAT ABC—三类地址中截取了一部分地址(并且让这部分地址可以重复使用)—私网地址 A类地址中:10.0.0.0-10.255.255.255 (…

官宣!Databend Cloud 和青云科技达成合作

近日,北京数变科技有限公司与北京青云科技股份有限公司(以下简称:青云科技 )顺利完成了产品兼容性适配互认证。本次测试是对 Databend 云原生数据仓库系统与青云科技公司自主研发的 QingStor U10000 进行严格的联合测试验证。测试结果显示&am…

imazing怎么导出app,Imazing修改APP存档的方法【2023详解】

相信很多小伙伴都不清楚Imazing导出APP及能够帮助我们更好地去管理手机,还能够替换从网上下载的游戏存档,让用户可以有一个更好地体验,那么具体要如何去操作呢?下面就跟着小编一起来看看Imazing修改APP存档的方法吧。 使用软件 iM…

HCIA配置命令集

目录 扩展 交换机 路由器 路由器网关配置 DHCP服务器 Telnet :远程登录协议 静态路由配置 动态路由 OSPF RIP NAT—网络地址转换 ACL—访问控制列表 ACL的分类: 配置 配置基础ACL : 例一: 例二: 配…

TypeScript - 函数(下)

目录 1、在函数中声明this 2、其他需要知道的类型 2.1 void 2.2 object 2.3 unknow 2.4 never 2.5 Function 3、其余参数(rest)和参数 4、参数解构 5、函数的可分配性 1、在函数中声明this TypeScript 将通过代码流分析推断函数中应该是什么&…

良心推荐!5款支持Linux系统的国产软件,兼容国产操作系统

虽然市面上大多数用户使用的是Windows操作系统,但也有不少使用Linux系统的用户,特别是国产操作系统的崛起,让Linux系统阵营的用户越来越多。Linux不像Windows那样,有着完整的生态环境丰富的软件应用,但也逐渐在完善中&…

【HCIA】12.网络服务与应用

文件传输协议FTP FTP基于TCP,传输较慢,但是比较可靠。典型的C/S架构。双通道协议。TFTP基于UDP,传输较快,但是不可靠。FTP有两种不同的传输模式 ASCII模式 传输文本文件时会对文本内容进行编码方式转换,提高传输效率&…

百科创建必看攻略!人物百度百科怎么创建?5分钟教会你创建人物百度百科词条

百度人物百科是一个广受欢迎的在线百科平台,它为用户提供了一个便捷的方式来了解各种各样的人物信息。如果你有一个人物的详细资料,你可以通过创建一个百度人物百科页面来分享这些信息。 下面是分媒互动分享的创建百度人物百科页面的步骤以及需要注意的几…

JavaWeb——基于Spring Boot的图书数字化管理系统的设计与实现

课程设计总结 1 概述 1.1 项目开发背景 随着信息技术的快速发展,数字化管理已经成为各行各业提高效率和管理水平的重要手段。在图书管理领域,数字化管理系统可以有效地提高管理效率,提供更好的用户体验。本项目旨在开发一个基于Spring…

Zotero翻译插件“zotero pdf translate”——使用时出现广告的问题的解决办法

一、背景: 在Zotero上安装了“zotero-pdf-translate”插件来辅助翻译。今天忽然发现,在使用CNKI翻译引擎的时候,末尾被加上了广告: (查看名企职位领高薪offer!--->智联招聘https***dict.cnki.net/ad.html) 如下&…

后端Long类型传到前端精度丢失的问题

问题出现:后端的Java Bean的id属性是用的Long类型对应数据库主键使用bigint类型,当使用JSON方式传递该数据给前端时,前端接收到的数据末尾会变成0。(发生的精度丢失问题) 问题原因:Java中的long能表示的范围…

修改conda默认的环境安装位置

修改conda默认的环境安装位置