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

【C语言】C程序结构和基本语法

1、C语言程序结构

我们学习一门编程语言,第一个实例都是"hello world!",下面看一个最简单的C程序结构。

#include <stdio.h>int main()
{/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0;
}
  1. 程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
  2. int main() { }是主函数,C程序都是从主函数开始执行。
  3. /* … */ 会被编译器忽略,这里放置程序的注释内容,也可以使用//进行注释。
  4. printf(…) 是 C 中可用的输出函数,会在屏幕上显示消息 “Hello, World!”。
  5. return 0:终止 main() 函数,并返回值 0。

2、C语言程序基本语法

C 程序由关键字、标识符、常量、字符串值,或者符号构成。
1、注释
C语言有两种注释方式:

//	第一种注释方式(单行注释)
/* 第二种注释方式(单行注释) */
/* 第二种注释方式(多行注释)第二种注释方式(多行注释)...
*/

注意:不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。

2、分号;
在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。例如:

printf("Hello, World! \n");
return 0;

3、标识符
C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 、下划线 、数字构成,C 区分大小写,不允许出现标点字符,比如 @、$ 和 %。下面列出几个有效标识符:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

4、关键字
下表列出了 C 中的保留字,这些保留字不能作为常量名、变量名或其他标识符名称。

关键字说明
if条件语句
goto无条件跳转语句
while循环语句的循环条件
for一种循环语句
break跳出当前循环
continue结束当前循环,开始下一轮循环
switch用于开关语句
case开关语句分支
default开关语句中的"其它"分支
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
double声明双精度浮点型变量或函数返回值类型
do循环语句的循环体
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
void声明函数无返回值或无参数,声明无类型指针
auto声明自动变量
char声明字符型变量或函数返回值类型
int声明整型变量或函数
long声明长整型变量或函数返回值类型
register声明寄存器变量
static声明静态变量
struct声明结构体类型
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
return子程序返回语句(可以带参数,也可不带参数)
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
volatile说明变量在程序执行中可被隐含地改变

相关文章:

【C语言】C程序结构和基本语法

1、C语言程序结构 我们学习一门编程语言&#xff0c;第一个实例都是"hello world!"&#xff0c;下面看一个最简单的C程序结构。 #include <stdio.h>int main() {/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0; }程序的第一行 #incl…...

YOLOv8 目标检测 | 自定义数据集

本文介绍了使用用于目标检测的自定义数据训练 YOLOv8 模型。我正在使用来自 kaggle 的 yolo 格式的“Face Mask Dataset”&#xff0c;数据集链接如下&#xff1a;https://www.kaggle.com/datasets/maalialharbi/face-mask-dataset?resourcedownloadYOLOv8 是目前最先进的 YOL…...

Lua语法入门

注意&#xff1a;文章将持续更新完善 文章目录一. 初识Lua二. HelloWorld三. Lua的数据类型四. 变量五. 循环六. 函数七. 条件控制一. 初识Lua Lua 是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#…...

华为OD机试真题JAVA实现【最小步骤数】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明示例二输入输出解题思路...

预检请求OPTIONS

这里写目录标题简单请求和非简单请求简单请求非简单请求预检请求OPTIONS简单请求和非简单请求 浏览器将请求分为两大类&#xff1a;简单请求&#xff08;simple request&#xff09;和非简单请求&#xff08;not-so-simple request&#xff09; 简单请求 简单请求&#xff0…...

引入短信服务发送手机验证码进行安全校验

其他方案>引入QQ邮箱发送验证码进行安全校验 相对短信验证码&#xff0c;操作更简单而且免费 最近想给自己的项目在注册时加点安全校验&#xff0c;准备使用免费的邮箱验证来着&#xff0c;在上一篇引入QQ邮箱进行安全校验时&#xff0c;看有朋友说阿里云会送一些短信服务免…...

opencv绘制直线

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

Seata源码学习(五)- Seata服务端(TC)源码解读

Seata源码分析- Seata服务端&#xff08;TC&#xff09;源码解读 上节课我们已经分析到了SQL语句最终的执行器&#xff0c;但是再往下分析之前&#xff0c;我们需要先来分析一下TM客户端与TC端通讯以后&#xff0c;TC端的具体操作 服务端表解释 我们的Seata服务端在应用的时…...

低版本jQuery导致XSS Nuclei FUZZ POC

目录 1.前言 2. Nuclei FUZZ jQuery XSS POC 3.漏洞验证 4.修复建议 1.前言 我记得以前用那些漏扫工具时时常会报一个低版本jQuery的安全问题,当时还不会验证。直到有一天,它托梦给我。我悟了。低版本jQuery导致XSS POC文件文末获取。...

【Linux】进程的描述组织与进程状态

文章目录&#x1f3aa; 进程的描述组织&#x1f680;1.什么是进程&#x1f680;2.进程的形成&#x1f680;3.进程标识符 *⭐3.1 PS命令查看PID⭐3.2 /proc目录查看进程属性&#x1f680;4.父子进程⭐4.1 系统调用获取PID⭐4.2 fork创建子进程⭐4.3 fork双返回值问题⭐4.4 写时拷…...

8.2.1.1 WHERE 子句优化

本节讨论可用于处理 WHERE 子句的优化。示例使用 SELECT 语句&#xff0c;但相同的优化适用于 DELETE 和 UPDATE 语句中的 WHERE 子句。 注意 因为 MySQL 优化器的工作正在进行&#xff0c;所以这里并没有记录 MySQL 执行的所有优化。 您可能会尝试重写查询以使算术运算更快&am…...

拆个微波炉,分析一下电路

微波炉是用2450MHz的超高频电磁波来加热食品&#xff0c;它能无损穿越塑料&#xff0c;陶瓷&#xff0c;不能穿越金属&#xff0c;碰到金属会反射&#xff0c;但穿过含水食物&#xff0c;食物内的分子会高速摩擦&#xff0c;产生热量&#xff0c;使食物变熟。在厨房电器中&…...

DM8:DMDSC共享存储集群搭建-共享存储绑定

DM8:DMDSC共享存储集群搭建-共享存储绑定环境介绍&#xff1a;1 发现共享磁盘2 对共享存储进行分区格式化2.1 格式化成功但不可用2.2 解决问题修改错误的分区格式3 配置/etc/rc.d/rc.local3.1 编辑文件&#xff08;两个节点配置相同&#xff09;3.2 使rc.local生效4 重启操作系…...

Spark OOM问题常见解决方式

文章目录Spark OOM问题常见解决方式1.map过程产生大量对象导致内存溢出2.数据不平衡导致内存溢出3.coalesce调用导致内存溢出4.shuffle后内存溢出5. standalone模式下资源分配不均匀导致内存溢出6.在RDD中&#xff0c;共用对象能够减少OOM的情况优化1.使用mapPartitions代替大部…...

【Calcite源码学习】ImmutableBitSet介绍

Calcite中实现了一个ImmutableBitSet类&#xff0c;用于保存bit集合。在很多优化规则和物化视图相关的类中都使用了ImmutableBitSet来保存group by字段或者聚合函数参数字段对应的index&#xff0c;例如&#xff1a; //MaterializedViewAggregateRule#compensateViewPartial()…...

RabbitMQ相关概念介绍

这篇文章主要介绍RabbitMQ中几个重要的概念&#xff0c;对于初学者来说&#xff0c;概念性的东西可能比较难以理解&#xff0c;但是对于理解和使用RabbitMQ却必不可少&#xff0c;初学阶段&#xff0c;现在脑海里留有印象&#xff0c;随着后续更加深入的学习&#xff0c;就会很…...

在jenkins容器内部使用docker

在jenkins容器内部使用docker 1.使用本地的docker 进入/var/run,找到docker.sock [rootnpy run]# ls auditd.pid containerd cryptsetup dmeventd-client docker.pid initramfs lvm netreport sepermit sudo tmpfiles.d user chro…...

分布式事务解决方案

数据不会无缘无故丢失&#xff0c;也不会莫名其妙增加 一、概述 1、曾几何时&#xff0c;知了在一家小公司做项目的时候&#xff0c;都是一个服务打天下&#xff0c;所以涉及到数据一致性的问题&#xff0c;都是直接用本地事务处理。 2、随着时间的推移&#xff0c;用户量增…...

2022黑马Redis跟学笔记.实战篇(三)

2022黑马Redis跟学笔记.实战篇 三4.2.商家查询的缓存功能4.3.1.认识缓存4.3.1.1.什么是缓存4.3.1.2.缓存的作用1.为什么要使用缓存2.如何使用缓存3. 添加商户缓存4. 缓存模型和思路4.3.1.3.缓存的成本4.3.2.添加redis缓存4.3.3.缓存更新策略4.3.3.1.三种策略(1).内存淘汰:Redis…...

hadoop环境新手安装教程

1、资源准备&#xff1a; &#xff08;1&#xff09;jdk安装包&#xff1a;我的是1.8.0_202 &#xff08;2&#xff09;hadoop安装包&#xff1a;我的是hadoop-3.3.1 注意这里不要下载成下面这个安装包了&#xff0c;我就一开始下载错了 错误示例&#xff1a; 2、主机网络相…...

一文搞懂Agent Skill的原理与设计规范

最近 Skill 这个词在 AI 圈里出现的频率&#xff0c;越来越高。 你打开 Claude Code、Cursor、Codex&#xff0c;甚至 Gemini CLI&#xff0c;到处都在聊「Agent Skill」。 Agent Skill 刚出来&#xff0c;我以为这又是个新瓶装旧酒的概念。 Prompt 改个名字嘛&#xff0c;能…...

初创公司如何通过Taotoken统一管理多个AI模型的调用与开销

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初创公司如何通过Taotoken统一管理多个AI模型的调用与开销 对于资源有限的初创技术团队而言&#xff0c;在产品中集成多种AI能力是…...

别只点勾选!深入宝塔面板301重定向的Nginx配置文件,手动调试更灵活

别只点勾选&#xff01;深入宝塔面板301重定向的Nginx配置文件&#xff0c;手动调试更灵活 当你面对需要根据URL参数动态跳转、或是处理带复杂正则匹配的重定向需求时&#xff0c;宝塔面板的图形化界面可能突然变得束手束脚。这时候&#xff0c;直接编辑Nginx配置文件就像拿到…...

TikTok评论抓取工具:3步轻松获取完整评论数据

TikTok评论抓取工具&#xff1a;3步轻松获取完整评论数据 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 想要从TikTok视频中获取所有评论数据进行分析吗&#xff1f;TikTokCommentScraper是一款强大的开源…...

终极解放!淘宝自动任务神器让你每天多出30分钟自由时间

终极解放&#xff01;淘宝自动任务神器让你每天多出30分钟自由时间 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 你知…...

高效一键解锁12种加密音乐:Unlock Music免费开源工具完全指南

高效一键解锁12种加密音乐&#xff1a;Unlock Music免费开源工具完全指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址…...

用STM32F103和DHT11做个智能温湿度报警器,附ESP8266远程监控代码

STM32F103与DHT11打造智能环境监测系统&#xff1a;从本地报警到云端监控全解析 在智能家居和工业物联网快速发展的今天&#xff0c;环境监测系统已成为许多创客和开发者入门的首选项目。本文将带你用STM32F103微控制器和DHT11温湿度传感器&#xff0c;构建一个功能完善的智能…...

designmodel可以输出各种类型的几何模型文件格式,兼容各种主流的CAD绘制软件。

designmodel可以输出各种类型的几何模型文件格式,兼容各种主流的CAD绘制软件。 这是Geom软件的文件格式选择界面,各格式的用途和适用场景如下: DesignModeler Database (*.agdb)‌:ANSYS DesignModeler的原生数据库格式,用于保存几何模型的完整设计数据,支持后续在ANSYS…...

构建个人知识记忆桥梁:从数据抽取到智能检索的工程实践

1. 项目概述&#xff1a;一个连接记忆与未来的桥梁最近在开源社区里&#xff0c;我注意到一个挺有意思的项目&#xff0c;叫leninejunior/engrene-memory-bridge。光看这个名字&#xff0c;就透着一股子“连接”和“记忆”的味道。作为一个长期在数据工程和知识管理领域摸爬滚打…...

Windows热键冲突终极解决方案:Hotkey Detective一键精准定位

Windows热键冲突终极解决方案&#xff1a;Hotkey Detective一键精准定位 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你…...