当前位置: 首页 > news >正文

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

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

 

相关文章:

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

目录 关键字 运算符 标识符 姓名和标识符 分隔符 常量和字符串常量 自由的书写格式 书写限制 连接相邻的字符串常量 缩进 本节我们来学习程序的各组成元素&#xff08;关键字、运算符等&#xff09;和格式相关的内容。 关键字 在C语言中&#xff0c;相if和else这样的标识…...

HalconDotNet.HTupleAccessException:Index out of range

原因可能是没有生成hv_Qx的值&#xff0c;我这里是没有生成该值的区域。...

Delphi-线程

碰到身份证阅读器项目&#xff0c;直接放进trimmer里面读卡&#xff0c;导致主页面卡顿&#xff0c;就打算放进子线程里试一下&#xff0c;就有了这个尝试。 1.创建线程文件 直接点击左上角file新建other&#xff0c;delphi有自带的模版 这个勾选了&#xff0c;就是他会给你…...

WeakMap

WeakMap简介 作为es6一种新的数据结构&#xff0c;他是一种键值对的集合。与Map最大的区别有两个 1. 是其中的键必须是对象或非全局注册的符号。 全局注册的符号 const s1 Symbol.for(mySymbol) 非全局注册的符号 const s1 Symbol(mySymbol)了解Symbol.for 2. 不会创建对它…...

获取网络ppt资源

背景&#xff1a; ​ 某度上有很多优质的PPT资源和文档资源&#xff0c;但是大多数需要付费才能获取。对于一些经济有限的用户来说&#xff0c;这无疑是个遗憾&#xff0c;因为我们更倾向于以免费的方式获取所需资源。 解决方案&#xff1a; ​ 然而&#xff0c;幸运的是&am…...

从0到1构建智能分布式大数据爬虫系统

文章目录 1. 写在前面2. 数据获取挑战3. 基础架构4. 爬取管理5. 数据采集6. 增量与去重设计 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐…...

C语言速通笔记(41-62)

40&#xff0e;十六进制转义字符&#xff1a;\x6d才是合法的&#xff0c;前面的0不能写&#xff0c;而且 x 是小写 41&#xff0e;字符型和整型是近亲&#xff1a;两个具有很大的相似之处&#xff0c;所有的字符都有一个它对应的整形数 据的 ASCLL 的数值。如 char a 65 % …...

Python 调用企业微信群机器人发送消息及文件

Python 操作企业微信群机器人。 企业微信群创建机器人 &#xff1a; 安装 requests json &#xff1a; pip install requests pip install json发送消息&#xff08;markdown&#xff09; import requests import json# 企业微信机器人发送文字 def send_markdown (message, …...

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

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

10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)

概念&#xff1a; 交叉验证法&#xff0c;就是把一个大的数据集分为 k个小数据集&#xff0c;其中 k − 1 个作为训练集&#xff0c;剩下的 1 个作为测试集&#xff0c;在训练和测试的时候依次选择训练集和它对应的测试集。这种方法也被叫做 k 折交叉验证法&#xff08;k-fold…...

中小企业:理解CRM与ERP系统的区别与联系,提升业务效能

许多中小型企业正面临着客户递增&#xff0c;市场营销&#xff0c;货存流通等递增数据整合的困扰。这个时候需要根据自身企业的实际情况去选择适合自己的系统。那么&#xff0c;中小企业使用CRM系统和erp系统的区别是什么&#xff1f; 一、含义和目标区别 CRM系统旨在帮助企业…...

01数仓平台 Hadoop介绍与安装

Hadoop概述 Hadoop 是数仓平台的核心组件。 在 Hadoop1.x 时代&#xff0c;Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源调度&#xff0c;耦合性较大。在 Hadoop2.x 时代&#xff0c;增加了 Yarn。Yarn 只负责资源的调度&#xff0c;MapReduce 只负责运算。Hadoop3.x 在…...

网络编程HTTP协议进化史

一、Http报文格式 具有约定格式的数据块 请求报文 request 状态行&#xff1a;本次请求的请求方式&#xff08;post get&#xff09;资源路径url http 协议的版本号&#xff0c;中间用空格划分 本次请求的请求方式&#xff08;post get&#xff09;资源路径url http 协议…...

第17章 匿名函数

第17.1节 匿名函数的基本语法 [捕获列表](参数列表) mutable(可选) 异常属性 -> 返回类型 { // 函数体 }语法规则&#xff1a;lambda表达式可以看成是一般函数的函数名被略去&#xff0c;返回值使用了一个 -> 的形式表示。唯一与普通函数不同的是增加了“捕获列表”。 …...

JVM虚拟机:JVM参数之标配参数

本文重点 本文我们将学习JVM中的标配参数 标配参数 从jdk刚开始就有的参数&#xff0c;比如&#xff1a; -version -help -showversion...

UEC++ 探索虚幻5笔记(捡金币案例) day12

吃金币案例 创建金币逻辑 之前的MyActor_One.cpp&#xff0c;直接添加几个资源拿着就用 //静态网格UPROPERTY(VisibleAnywhere, BlueprintReadOnly)class UStaticMeshComponent* StaticMesh;//球形碰撞体UPROPERTY(VisibleAnywhere, BlueprintReadWrite)class USphereCompone…...

Docker 安装 Redis 挂载配置

1. 创建挂载文件目录 mkdir -p /home/redis/config mkdir -p /home/redis/data # 创建配置文件&#xff1a;docker容器中默认不包含配置文件 touch /home/redis/config/redis.conf2. 书写配置文件 # Redis 服务器配置# 绑定的 IP 地址&#xff0c;默认为本地回环地址 127.0.0…...

Java操作Excel之 POI介绍和入门

POI是Apache 提供的一个开源的Java API&#xff0c;用于操作Microsoft文档格式&#xff0c;如Excel、Word和PowerPoint等。POI是Java中处理Microsoft文档最受欢迎的库。 截至2023/12&#xff0c; 最新版本时 POI 5.2.5。 JDK版本兼容 POI版本JDK版本4.0及之上版本> 1.83.…...

麒麟v10 数据盘初始化 gpt分区

麒麟v10 数据盘初始化 gpt分区 1、查看磁盘 lsblk2 、分区 parted2.1、 设置磁盘分区形式2.2、 设置磁盘的计量单位为磁柱2.3、 分区2.4、 查看分区 3、分区格式化4、 挂载磁盘4.1、新建挂载目录4.2、挂载磁盘4.3、查看挂载结果 5、设置开机自动挂载磁盘分区5.1、 查询磁盘分区…...

php时间和centos时间不一致

PHP 时间和 CentOS 操作系统时间不一致的问题通常是由于时区设置不同造成的。解决这个问题可以通过以下几个步骤&#xff1a; 检查 CentOS 系统时间&#xff1a; 你可以通过在终端运行命令 date 来查看当前的系统时间和时区。 配置 CentOS 的时区&#xff1a; 如果系统时间不正…...

好用的昆明线上经营推广哪家好选

在数字化浪潮席卷的当下&#xff0c;昆明的企业和商家们越来越意识到线上经营推广的重要性。选择一家靠谱的线上经营推广公司&#xff0c;能够让企业在激烈的市场竞争中脱颖而出。那么&#xff0c;在昆明众多的推广公司中&#xff0c;哪家才是比较好的选择呢&#xff1f;今天&a…...

2025最权威的十大AI辅助写作助手推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下快节奏的学术钻研环境里头&#xff0c;做研究的人跟学生们时常会碰到时间紧张以及写作…...

C语言实现热水器温度控制PID算法详解与嵌入式实战

1. 项目概述与核心价值最近在整理一些嵌入式开发的老项目&#xff0c;翻出来一个用C语言写的热水器温度控制PID算法示例。这玩意儿虽然代码量不大&#xff0c;但麻雀虽小五脏俱全&#xff0c;把PID控制的核心思想、参数整定、抗积分饱和这些关键点都体现出来了。对于刚接触自动…...

告别反复拔插!STM32F103 USB Device(CDC/MSC)上电自动重枚举的两种实现方法

STM32F103 USB设备免拔插重枚举技术深度解析 引言 在嵌入式开发领域&#xff0c;STM32F103系列微控制器因其出色的性价比和丰富的外设资源&#xff0c;成为众多工程师的首选。其中&#xff0c;USB接口的开发应用尤为广泛&#xff0c;从虚拟串口(CDC)到大容量存储设备(MSC)&…...

LibreCAD符号库创建终极指南:快速构建您的专业CAD图库

LibreCAD符号库创建终极指南&#xff1a;快速构建您的专业CAD图库 【免费下载链接】LibreCAD LibreCAD is a cross-platform 2D CAD program. It can read DXF and write DXF/PDF/SVG files, with basic support for DWG reading. It supports point/line/circle/ellipse/parab…...

3分钟掌握FSearch:Linux系统文件搜索效率提升300%的终极方案

3分钟掌握FSearch&#xff1a;Linux系统文件搜索效率提升300%的终极方案 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 还在为Linux系统中寻找文件而烦恼吗&#xff…...

从CenterFusion到车道线检测:聊聊DLAseg模型里可变形卷积的实战调优心得

从CenterFusion到车道线检测&#xff1a;DLAseg模型中可变形卷积的工程实践与调优策略 在自动驾驶和计算机视觉领域&#xff0c;特征提取网络的设计直接影响着感知系统的性能上限。Deep Layer Aggregation (DLA) 作为特征融合的经典方法&#xff0c;通过层级聚合机制实现了多尺…...

告别DLL地狱:VisualCppRedist AIO一站式解决Windows运行库依赖难题

告别DLL地狱&#xff1a;VisualCppRedist AIO一站式解决Windows运行库依赖难题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾因"缺少msvcp140.dl…...

FreeRTOS任务通知:轻量级任务通信机制的原理与应用实践

1. 项目概述&#xff1a;从“消息队列”到“任务通知”的思维跃迁在嵌入式实时操作系统&#xff08;RTOS&#xff09;的开发中&#xff0c;任务间的通信与同步是核心议题。我们习惯了使用队列&#xff08;Queue&#xff09;、信号量&#xff08;Semaphore&#xff09;、事件组&…...

树莓派边缘AI相机:3D打印外壳与TensorFlow Lite部署实战

1. 项目概述&#xff1a;打造一个专为边缘AI设计的“机器视觉大脑” 如果你正在捣鼓树莓派&#xff08;Raspberry Pi&#xff09;和BrainCraft HAT&#xff0c;想把机器学习模型从云端拉到设备端&#xff0c;搞点实时的图像识别、目标检测&#xff0c;那你大概率会遇到一个挺实…...