C语言常见概念(下)

作者:爱学习的小何同学!日期:2025/12/4

7、关键字

C语言中有一些保留的名字的符号,比如:int,if,return ,else,goto 等符号,这些符号被称为保留字或者关键字。

对于关键字的注意点有如下几点:

(1)关键字都是有特殊含义的,是保留给C语言使用的

(2)自己在C语言代码时,在创建变量名的时候,变量名是不能跟关键字重复的

(3)关键字不能由自己创建

C语言的32个关键字如下:

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

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

typedef union unsigned void volatile while

有小伙伴想了解C语⾔关键字的全部介绍,可以通过如下网址查看:https://zh.cppreference.com/w/c/keyword

8、字符和ASCII编码

在键盘上我们可以敲出各种字符,比如:q,w,r,f,e等,这些符号都被称为字符,C语言中字符是用单引号括起来的(注意:一定是英文状态的单引号)

例如:'a','b','#'等。

在计算机中所有的数据都是以二进制的形式进行存储的,那么对于上述我们所提及的字符在内存中是怎么以二进制的形式存储的呢?此时我们就引入编码的概念。 那么我们可以给这些字符分别编一个二进制序列,这个就叫做编码美国国家标准学会出台了一个标准ASCII编码,C语言中的字符就遵循ASCII编码的方式。

ASCII码表如下:该表中共有128个字符

从上述ASCII码表中可以得出如下信息:

(1)字符A~Z的ASCII码值为65~90

(2)字符a~z的ASCII码值为97~122

(3)对应的大小写字符(比如:B和b)的ASCII码值的差值为32

(4)数字字符0~9的ASII码值从48~57

(5)换行符\n的ASCII码值为:10

此外还要注意:在上述的128个字符中,ASCII码值从0~31这32个字符是不可打印字符,也就是这32个字符是无法打印在屏幕上的

对于字符类型的数据是用%c来打印的

写一个程序打印ASCII码值从32到127的字符:

1//写一个程序打印ASCII码值从32到127的字符:
2#include<stdio.h>
3int main()
4{ 
5	int j = 1;
6	for (int i = 32; i < 128; i++)
7	{
8		
9		printf("%c ", i);
10		
11		if (j %15==0)
12		{
13			printf("\n");//每行打印15个字符后就换行
14		}
15		j++;
16		
17	}
18	return 0;
19}

代码执行结果:(上述代码看不懂没关系,后续我会讲到该代码中的语法知识)

9、字符串和\0

在C语言中,使用双括号(注意是英文状态的双括号)括起来的一串字符串就被称为字符串。比如:"defafaf"。

字符串的打印是用%s来指定的

比如如下代码:

1
2//用%s来打印字符串数据
3#include<stdio.h>
4int main()
5{
6	printf("%s\n", "hello   students");
7	return 0;
8}

结果:

注意:C语言字符串中有一个特殊的知识,就是在字符串的末尾有一个隐藏的\0字符,而这个\0字符是字符串的结束标志

通过调试的方法来验证字符串的末尾有一个\0字符(对于在Visual Studio 2022中代码如何进行调试,后续我会讲

10、转义字符

在字符中,有一组特殊的字符是转义字符,转义字符的意思是:转变原来字符的意思。比如:字符n,单独写'n'就是字符n,而'\n'此时不是字符n而是换行符,这就是转义字符的意思。在该字符前面加上\就改变了原来字符所表示的含义。

1//转义字符
2#include<stdio.h>
3int main()
4{
5	printf("%s\n", "abdefee");
6	printf("%s\n", "abde\nfee");
7	return 0;
8}

结果:

printf("%s\n", "abde\nfee");这个代码中:abde\nfee,中的\n不就是字符n而是转义字符:换行符

C语言中这样的转义字符有很多,比如:

(1)\':表示字符单引号'

(2)\":表示字符双引号"

(3)\\:表示一个反斜杠\

代码打印:

1//转义字符打印
2#include<stdio.h>
3int main()
4{
5	printf("%c\n", '\'');
6	printf("%c\n", '\"');
7	printf("%c\n", '\\');
8	return 0;
9}

结果:

11、注释

注释是对代码的说明,编译器会忽略注释,也就是说,注释对实际代码没有影响。

好的注释可以帮助我们更好的理解代码,但是也不要过度注释,即:不要写没必要的注释。

建议在写代码的时候,加上一些有必要的注释,这样在后续再看该代码时,能清楚地知道之前写该代码时的思路是什么,也便于别人看自己代码时能知道自己写的代码实现的是什么功能。

注释有两种格式

(1)/*....*/的形式(该方式支持多行注释和单行注释)

单行注释是指要注释的信息都在一行;而多行注释是指要注释的信息在多行上

这个/*...*/注释是将注释的内容放在/*与*/中间.例如:

注意:/**/不支持嵌套注释

(2)//(该注释只支持单行注释)

该注释是将要注释的内容放在双斜杠//后面,从该双斜杠开始到该行的末尾都属于是注释信息。

例如:


C语言常见概念(下)》 是转载文章,点击查看原文


相关推荐


unipush推送入门:10分钟搞定UniPush在线消息集成
扑棱蛾子2025/12/2

引言 消息推送是提升 App 用户活跃度和留存率的关键能力。对于采用 UniApp 开发的跨端应用,DCloud 官方提供的 UniPush 服务无疑是集成推送功能最高效选择。 本文将以一名开发者的视角,手把手带你完成 从项目初始化到成功接收第一条推送消息 的完整流程。你将学会: UniPush 的正确接入姿势与核心配置 开发阶段必须使用的自定义调试基座 如何获取设备标识(CID)并进行在线推送测试 避开新手常见“坑点”的实用技巧 技术栈:UniApp + UniPush(华为、小米等厂商


LangChain 入门①:什么是 LangChain?LLM 应用开发的 “好帮手”
大模型教程2025/11/29

本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在智泊AI。 1.LangChain概述 ❝ LangChain是 2022年10月 ,由哈佛大学的 Harrison Chase (哈里森·蔡斯)发起研发的一个开源框架,用于开发由大语言模型(LLMs)驱动的应用程序。 比如,搭建“智能体”(Agent)、问答系统(QA)、对话机器人、文档搜索系统、企业私有知识库等。 ‍ 常用的LLM开发框架


C#.NET 范围与索引(Range、Index)完全解析:语法、用法与最佳实践
唐青枫2025/11/27

简介 C# 8.0 引入了范围(Ranges)和索引(Indices)功能,提供了更简洁、更直观的语法来处理集合中的元素和子集。这些功能大大简化了数组、字符串、列表等数据结构的操作。 索引(Indices) 从末尾开始的索引 使用 ^ 运算符表示从末尾开始的索引: int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // 传统方式获取最后一个元素 int last1 = numbers[numbers.Length - 1]; // 9 //


VI视频输入模块学习
浅笑离愁12342025/11/24

文章目录 1.RV1126的视频输入vi模块1.1什么是VI模块1.2RV1126的VI模块重要参数 2.RV1126的VI模块初始化API2.1RK_MPI_VI_SetChnAttr讲解: 1.RV1126的视频输入vi模块 V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写 1.1什么是VI模块 RV1126的VI模块指的是视频输入模块,它的


Redis_16_哨兵
寻梦缘62025/11/23

在我们上篇文章讲的主从复制模式下,主节点一旦挂了,就需要人工进行主从切换,并且需要将新的主节点通知给客户端。这会大大影响系统的可用性,毕竟靠人工修复这个事情是很不靠谱的,先不说要耗费大量的时间;还有可能配置错误,导致出现问题。 哨兵机制就是通过自动化的手段来解决主节点挂了的问题~~ 基本概念 哨兵进程是通过独立的进程来体现的,和之前redis-server是不同的进程!!redis-sentinel不负责存储数据,只是对redis-server起到监控的效果。而且这里的哨兵节点,也会搞一个


「干货长文」强化学习完全指南:从基础MDP到TRPO/PPO/GRPO算法演进
智见AGI2025/11/21

随着 gpt-o1出现以及 DeepSeek-R1 的技术开源,强化学习从以谷歌 DeepMind 团队为主的游戏领域,以及与传统控制相结合的具身智能机器人领域,走上了LLM甚至多模态的行业赛道。通过复杂任务拆解和奖励为导向的迭代训练大幅提升了大模型解决复杂问题能力,泛化性以及动态调整能力。Reinforce Learning 带领 LLM 步入 2.0 时代,继 PPO 之后,最近关于梯度优化(Policy Optimization)算法的创新也是层出不穷,GRPO,DAPO,CISPO 等


TypeScript 简史:它是怎么拯救我的烂代码的
也无风雨也雾晴2025/11/19

看烂代码的场景 接手老旧 JavaScript 项目的时候,盯着屏幕上的一行代码发呆,这种绝望你一定体会过: JavaScript function process(data) { return data.value + 10; // 此时 data 是 undefined,程序崩了 } 看着这个 data,我满脑子都是问号: 它是对象还是数字? 到底是谁传进来的? 我要是改了它,会不会导致隔壁模块的页面挂掉? 为什么明明是字符串 '10',结果拼成了 '1010'? 这时候我就在


从Docker到宝塔:Magento2 2.3.5 安装全流程踩坑与成功实践
Linux运维技术栈2025/11/18

前言:Magento2 作为 Adobe 旗下的企业级开源电商平台,凭借强大的扩展性、多语言支持和精细化运营功能,成为全球众多电商企业的首选。但它的安装配置门槛较高,尤其对新手而言,环境兼容、依赖管理、静态资源部署等环节极易踩坑——我就曾因盲目尝试 Docker 容器部署,遭遇了版本冲突、权限隔离、内存溢出等一系列问题,耗费大量时间仍未成功。 后来转向操作更直观的宝塔面板,在反复调试中解决了 Composer 1.x 降级、内存限制解除、静态文件 404、CSS/JS 缺失等核心痛点,最终摸索出


Python 的内置函数 set
IMPYLH2025/11/17

Python 内建函数列表 > Python 的内置函数 set Python 的内置函数 set() 是一个非常有用的数据结构,用于创建无序且不包含重复元素的集合。它提供了高效的成员检测和元素去重功能,是处理集合运算的理想选择。 基本用法 创建集合: # 使用花括号 fruits = {'apple', 'banana', 'orange'} # 使用set()函数 numbers = set([1, 2, 3, 2, 1]) # 结果为{1, 2, 3} 空集合创建: emp


Python 的内置函数 ord
IMPYLH2025/11/16

Python 内建函数列表 > Python 的内置函数 ord Python 的内置函数 ord() 是一个非常有用的字符串处理函数,它主要用于获取单个字符的 Unicode 码点值。具体来说,ord() 函数接受一个长度为 1 的字符串(即单个字符)作为参数,并返回该字符对应的 Unicode 码点的整数数值。 语法格式: ord(c) 其中 c 是一个表示单个字符的字符串。 主要特点: 只能处理单个字符,如果传入字符串长度超过1会抛出 TypeError对 ASCII 字符返

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2025 聚合阅读