C语言之程序的组成和元素格式

目录

关键字

 运算符

标识符

 姓名和标识符

 分隔符

 常量和字符串常量

自由的书写格式

书写限制

连接相邻的字符串常量

 缩进


 

本节我们来学习程序的各组成元素(关键字、运算符等)和格式相关的内容。

关键字

在C语言中,相if和else这样的标识符被赋予特殊的意义,这样具有特殊意义标识符称为关键字,它们不能作为变量名来使用,下面是我们常见的关键字:       

                                                C语言的关键字


auto  break  case char const continue default do double else enum extern 

float for goto if int long register return short signed sizeof static struct switch

typedef union unsigned void volatile while


 运算符

目前我们已经学习了多种运算符,等到后面学习到运算符时,我们再来系统讲解。

标识符

表示符时赋予变量和函数等的名称:必须以非数字开头,之后可以是非数字和数字的组合,非数字包括字母大小写以及下划线。

C语言区分大小写,ABC、abc、、AbC分别代表着不同的标识符。

合法的标识符如下:

x1、a_ _y、 abc_def、max_of_group、xyz、Ax3、If、iF、IF、if3

 非法的标识符如下:

if、123、98pc、abc$xyz、abc@def

 姓名和标识符

顾名思义,标识符就是用来和其他字符进行区分的。就如同身份证号(ID)一样,每个人都不会重复。

所谓姓名也是如此,但当姓名“分配”给每个人时,不能保证都不重复,如果程序也出现相同的变量名是十分麻烦的,这时我们就用标识符来解决这个问题,确保它们万中无一。

 分隔符

关键字和标识符都可以理解为构成语句的单位,用来分隔这些单位的符号就称为分隔符(punctuator),分隔符共有13中如下:

分隔符
                           [ ]     ( )     { }     *    ,    :      =    ;     …      #

 常量和字符串常量

字符常量、整数常量、浮点数常量和字符串常量都是程序的构成要素。

自由的书写格式

C语言原则上允许开发人员以自由的格式编写程序,并不像一些程序语言规定了必须从第几个字符开始写,或者每条语句必须写在一行之内。

不过在怎么自由也是有一些限制的:

书写限制

1.构成语句的单位中间不能插入空格类字符:例如int和return这样的关键字,变量n1和n2这样的标识符、+=和==这样的运算符都是构成语句的单位,在它们中间不能插入空格类字符(空格、换行、制表符等)

return

2.预处理指令中间不能换行: 例如#include这样以#开头的预处理指令原则上都必须写在一起

#include<stdio.h>

3.字符串常量和字符常量中间不能换行:用双引号括起来的字符串常量也是构成语句的单位,因此不能进行换行。

puts("我是一位超级超级帅的帅到爆炸的大帅哥");

连接相邻的字符串常量

可以把被空格类字符以及注释分隔开的相邻字符串作为为一个整体来看待。例如“ABC”和“DEF”连起来就是“ABCDEF”而这是相同的表达。

puts("我是一位超级超级帅的""帅到爆炸的大帅哥");

 缩进

13aa33b17a5d4f93892732356dc9bac7.png

每行的开头都会空几个空格,就像我们写作文一样每个段落开头要空两格。这样是为了我们能够更好的阅读,像这样以段落为单位向右移动的书写方式称为缩进(分段处理)。

在这里我们先不进行过多的赘述,只是让我们明白在写程序时那些构成语句元素的名称和规则,以后的每个知识我们都会单独进行系统的学习。305360e892364ac4893e2999dda16ae8.gif

最近身体不太好啊,朋友们注意身体健康啊!!!

 

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

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

相关文章

【Git】ssh: connect to host github.com port 22: Connection refused

错误展示&#xff1a; 错误原因&#xff1a;22端口被拒绝访问 解决办法 在~/.ssh/config文件&#xff08;有就直接编辑&#xff0c;没有就创建&#xff09;里添加以下内容&#xff0c;这样ssh连接GitHub的时候就会使用443端口。 Host github.comHostname ssh.github.comPort…

练习题——-【学习补档】日期差值

问题描述 描述 有两个日期&#xff0c;求两个日期之间的天数&#xff0c;如果两个日期是连续的我们规定他们之间的天数为两天。 输入描述&#xff1a; 有多组数据&#xff0c;每组数据有两行&#xff0c;分别表示两个日期&#xff0c;形式为YYYYMMDD 输出描述&#xff1a; 每组…

【开题报告】基于JavaWeb的共享会议室预约系统的设计与实现

1.研究背景 随着信息化技术的快速发展&#xff0c;越来越多的企业、学校和机构开始采用共享资源管理系统来提高内部资源利用率&#xff0c;减少时间和人力成本。在这些共享资源中&#xff0c;会议室作为一个重要的共享资源&#xff0c;其利用率的高低直接影响到企业或机构的工…

CleanMyMac X软件到底好不好用?有哪些优势

为了维护mac系统健康&#xff0c;优化系统功能&#xff0c;我们需要定期给电脑进行清理。那么作为mac清理软件CleanMyMac X软件具备哪些独特性和实用性呢&#xff1f;今天就给大家说明一下。 1、 简洁大气的外观。 用户正版官方下载安装之后&#xff0c;软件运行仅需几秒&…

FreeRTOS-钩子函数

钩子函数 Tick滴答钩子 /* FreeRTOSConfig.h */ #define configUSE_TICK_HOOK 1/* cmsis_os2.h */ /**Dummy implementation of the callback function vApplicationTickHook(). */ #if (configUSE_TICK_HOOK 1)__WEAK void vApplicationTickHook (void…

详解python 面向对象三大特征

文章目录 一、面向对象三大特征介绍1、封装&#xff08;隐藏&#xff09;2、继承3、多态 二、继承1、语法格式2、类成员的继承和重写3、super()获得父类定义4、设计模式\_工厂模式实现 5、设计模式\_单例模式实现关于Python技术储备一、Python所有方向的学习路线二、Python基础…

UE5 - 把ArchvizExplorer项目改造成自己的数字孪生项目 - 开发记要

参考&#xff1a; https://blog.csdn.net/qq_17523181/article/details/133853099 https://blog.csdn.net/qq_17523181/article/details/134455597 1. 安装项目 https://www.unrealengine.com/marketplace/zh-CN/product/archviz-explorer https://karldetroit.com/archviz-exp…

如何用好金鸣表格文字识别电脑客户端的“图片编辑”功能?

想要让文字识别效果更上一层楼&#xff0c;图片编辑处理少不了&#xff0c;今天就来教大家如何运用金鸣表格文字识别电脑客户端编辑器提升图片质量。 首先&#xff0c;点击顶部导航菜单中的“软件下载”&#xff0c;下载安装金鸣表格文字识别电脑客户端&#xff0c;并将图片添加…

工业软件:破局智能制造“关键一招”

工业是国民经济的重要支柱&#xff0c;也是技术创新的主战场&#xff0c;是创新活动最活跃、创新成果最丰富、创新应用最集中、创新溢出效应最强的领域之一。 过去&#xff0c;图纸定义产品、工艺约束制程、说明书描述功能&#xff0c;是工程惯例。一旦产品造好&#xff0c;想…

element-plus组件中的el-drawer的使用

在项目的制作过程中经常会用到弹窗组件&#xff0c;这里假设一种情况当你在一个页面需要多个弹窗组件的时候怎么样才能精准的打开和关闭对应的弹窗呐&#xff1f;&#xff1f; ① 绑定一个点击事件----【给点击事件传入一个下标】这里是打开事件 ② 使用element-plus中的 :befo…

工商业分布式光伏电站的盈利模式有哪些?

工商业光伏系统&#xff0c;是安装于机关事业单位、医院、学校、商场、写字楼、工商业园区等工商业相关建筑屋顶的光伏并网系统&#xff0c;通常属于分布式光伏项目。具有投资成本低、回报周期短、回报稳定、就近开发等特点&#xff0c;可以大幅度提升光伏发电利用率。 工商业…

图像处理中的角点检测Python-OpenCV 中的实现

马丁亚当斯 (Martin Adams)在Unsplash上拍摄的照片 一、说明 在图像处理的背景下&#xff0c;“特征”可以直观地理解为图像中易于识别并用于表示图像的独特或独特的部分。将特征视为图像中使其可区分的“地标”或“焦点”。为了使这一点更具关联性&#xff0c;请考虑一下您如…

EM32DX-C4【C#】站15

1外观&#xff1a; J301 直流 24V 电源输入 CAN0 CAN0 总线接口 CAN1 CAN1 总线接口 J201 IO 接线段子 S301-1、S301-2 输出口初始电平拨码设置 S301-3~S301-6 模块 CAN ID 站号拨码开关 S301-7 模块波特率拨码设置 S301-8 终端电阻选择开关 2DI&#xff1a; 公共端是…

stm32项目(11)——基于stm32的俄罗斯方块游戏机

1.功能设计 使用stm32f103zet6平台&#xff0c;以及一块LCD屏幕&#xff0c;实现了一个俄罗斯方块游戏机。可以用按键调整方块的位置、还可以控制方块下降的速度&#xff01; 2.视频演示 俄罗斯方块 3.俄罗斯方块发展史 俄罗斯方块是一种经典的拼图游戏&#xff0c;由苏联俄罗…

CoreDNS实战(二)-CoreDNS+ETCD实现DNS服务发现

1 引言 在前面的文章中讲了如何搭建一个内网的DNS服务&#xff0c;但是这里有个问题&#xff0c;mxsm-register.local表示局域网的注册中心域名&#xff0c;如果需要将每台部署了注册中心的IP地址写到CoreDNS的配置文件中。这样就需要每次都去修改 Corefile 配置文件。那有没有…

数据结构:链表应用:第6关:链表的分解

任务描述 本关任务&#xff1a;利用单链表A表示一个非零整数序列&#xff0c;把A分解为两个具有相同结构的链表B和C&#xff0c;其中B表的结点为A表中值小于零的结点&#xff0c;而C表的结点为A表中值大于零的结点。要求空间复杂度为O(1)&#xff0c;链表B和C均利用链表A的结点…

Perl | Multi-line Strings | Here Document

原文链接&#xff1a;https://www.geeksforgeeks.org/perl-multi-line-strings-here-document/ Multi-line string using Here Document Here Document is an alternative way for multiple print statements. A Here-Document can also be used for multi-line string. It d…

WordPress定时发布文章失败的原因及解决办法

WordPress的定时发布功能可以使我们能够提前准备好文章&#xff0c;并在特定的日期和时间自动发布。这样&#xff0c;可以根据内容计划和读者喜好来安排发布时间&#xff0c;而不必手动操作&#xff0c;在不方便操作的情况下实现内容的即时更新发布&#xff0c;这个功能还是非常…

Orvibo另款网关ViCenter-300的分析之二,系统分析

Vicenter300的分析,请上接之一 Orvibo另款网关ViCenter-300的分析之一的链接地址: Orvibo另款网关ViCenter-300的分析之一-CSDN博客 简单地看了一下硬件的组成部分,从中我们可以看出,Openwrt系统是嵌入式系统入门级的系统,也是一个很容易转换为产品的系统之一。 很多智…

【C语言】【二级】将所指字符串中所有下标为奇数位置上的字母转换成大写

题目 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。 例如&#xff0c;若输入" abc4EFG",则应输出"aBc4EFG"。 考点 考点&#xff1a;指针、ASCII码、 数组和循环语句。 解法&#x…