C语言标识符、关键字和注释

这一节主要讲解C语言中的几个基本概念。

标识符

定义变量时,我们使用了诸如“a”“abc”“mn123”这样的名字,它们都是程序员自己起的,一般能够表达出变量的作用,这叫做标识符(Identifier)。

标识符就是程序员自己起的名字,除了变量名,后面还会讲到函数名、宏名、结构体名等。不过,名字也不能随便起,C语言规定,标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线。

以下标识符是合法的:
a, x,  x3, BOOK_1, sum5

以下标识符是非法的:
3s    不能以数字开头
s*T    出现非法字符*
-3x    不能以减号(-)开头
bowy-1    出现非法字符减号(-)

在使用标识符时还必须注意以下几点:

  • C语言虽然不限制标识符的长度,但是它受到不同编译器的限制,同时也受到具体机器的限制。例如在某个编译器中规定标识符前128位有效,当两个标识符前128位相同时,则被认为是同一个标识符。

  • 在标识符中,大小写是有区别的,例如BOOK和book 是两个不同的标识符。

  • 标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义”。

关键字

关键字(Keywords)是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如 int、char、long、float、unsigned 等。我们定义的标识符不能与关键字相同,否则会出现错误。

你也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了。

标准C语言中一共规定了32个关键字,大家可以参考C语言关键字及其解释[共32个],后续我们会一一讲解。

注释

注释(Comments)可以出现在代码中的任何位置,用来向用户提示或解释程度的意义。程序编译时,会忽略注释,不做任何处理,就好像它不存在一样。

C语言支持单行注释和多行注释:

  • 单行注释以//开头,直到本行末尾(不能换行);

  • 多行注释以/*开头,以*/结尾,注释内容可以有一行或多行。


一个使用注释的例子:

/*Powered by: c.biancheng.net  Author: xiao p  Date: 2015-6-26
*/
#include 
int main()
{
/* puts 会在末尾自动添加换行符 */
puts("http://c.biancheng.net"); 
printf("C语言\n");  //printf要手动添加换行符
return 0;
}


C语言

在调试程序的过程中可以将暂时不使用的语句注释掉,使编译器跳过不作处理,待调试结束后再去掉注释。

需要注意的是,多行注释不能嵌套使用。例如下面的注释是错误的:

/*C语言/*中文*/网*/

而下面的注释是正确的:

/*C语言中文网*/  /*c.biancheng.net*/

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

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

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

相关文章

java 类.class_面试官:Java反射是什么?我回答不上来!

一.概念反射就是把Java的各种成分映射成相应的Java类。Class类的构造方法是private,由JVM创建。反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和…

巧解C语言运算符的优先级和结合性

本篇文章我们从一个例子入手讲解,请看下面的代码:#include int main(){ int a 16, b 4, c 2; int d a b * c; int e a / b * c; printf( "d%d, e%d\n", d, e); return 0; }运行结果:d24, e81) 对于表达式a b * c&#xff0…

jms mdb_MDB!= JMS,反之亦然

jms mdb基本 消息驱动Bean(又称为MDB)只是另一个EJB,例如无状态,有状态或单例。 使用MessageDriven批注指定。 MDB用于异步消息处理 它们与无状态EJB 相似 ,因为它们都是由EJB容器池化的 但是,它们与无状…

C语言中的三目运算符是啥?有何用处?

一般来说,C语言中的三目运算符为a?b:c即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为:表达式1? 表达式2:表达式3求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否…

status_code想要得到302却得到200_中考200天倒计时!教你高效规划!抓紧抢报预留座位!...

教育点击右上方蓝字关注金石教育金石教育青岛站推送青岛教育资讯,关注孩子成长关注教育主讲人——段莲1、金石教育首席学习规划师:在中考规划行业,段莲老师已经深入研究多年,了解最新的中考数据,并且能够把握住每个数据…

gui jfr_Java飞行记录器(JFR)

gui jfrJFR是一个Java分析器,它使您可以研究代码的运行时特征。 通常,您将使用探查器来确定代码的哪些部分导致大量内存分配或导致消耗过多的CPU。 有很多产品在那里。 过去,我使用过YourKit,OptimizeIt,JProfiler&am…

java 命名内部类_如何把java SWT程序中的匿名内部类改写成命名内部类?

展开全部//请看最后一个e69da5e6ba9062616964757a686964616f31333363386134private class ,其实命名内部类跟普通的java程序一样写,只要知道你自己的监听器要继承于哪个类,实现什么方法public class Level4Class extends ViewPart {private TableViewer …

C语言 | 递增运算符

如何灵活使用C语言递增运算符。 解题思路:自增运算符 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。对于自增就是加1这一点,读者应该不会有什么疑问。难点在于: 可以置于操作数前面&#…

数据结构实验之图论四:迷宫探索_迷宫搜索类的双向bfs问题(例题详解)

前言文章若有疏忽还请指正!更多精彩还请关注公众号:bigsai头条号:一直码农一直爽在搜索问题中,以迷宫问题最具有代表性,无论是八皇后的回溯问题,还是dfs找出口,bfs找最短次数等等题目的问题。在…

ngrok服务器搭建_利用暴露在外的API,无法检测的Linux恶意软件将矛头指向Docker服务器...

K8s已经成为一线大厂分布式平台的标配技术。你是不是还在惆怅怎么掌握它?来这里,大型互联网公司一线工程师亲授,不来虚的,直接上手实战,3天时间带你搭建K8s平台,快速学会K8s,点击下方图片可了解…

干货 | C语言系列3——常量,运算符,常用数学函数......

符号常量和const常量1.符号常量符号常量通俗来讲就是“替换”,又称为宏定义。格式如下:#define 标识符 常量宏定义可以定义单个变量为常量,也可以定义某个语句或片段。宏定义有一点需要特别注意,它只是“机械”替换,并…

javafx 浏览器_浏览器中的JavaFX

javafx 浏览器浏览器中的JavaFX屏幕截图 最近,Carl Dea和我启动了一个新项目,将JavaFX 8引入浏览器。 今天,我想介绍我们创建的前两个概念验证,以查看该想法是否完全可行。 对于不耐烦的人,这里是到PoC的链接。 但请注…

javafx 示例_JavaFX列表示例

javafx 示例这是使用JavaFX构建的示例列表应用程序。 该应用程序是待办事项列表。 该应用程序具有添加,更新和删除列表中项目的功能。 列表数据存储在HSQLDB关系数据库中。 该应用程序使用JDBC(Java数据库连接)API访问数据库。 该应用程序打包…

嵌入式C语言的7个硬核知识

1void 与 void*void表示的是无类型,不可以采用这个类型声明变量或常量,但是可以把指针定义为void类型,如void* ptr。void指针可以指向任意类型的数据,可用任意数据类型的指针对void指针赋值,比如int *ptrInt&#xff1…

C语言指针用得好犹如神助!这些使用技巧值得收藏

指针用的好犹如神助,用不好会让你叫苦连连,但大多数人是用不好指针的,所以后来的很多语言都把指针封装,屏蔽。比如JAVA,java是没有指针的,但是很多地方都用到指针,不过不对用户开放,…

wso2_使用WSO2开发

wso2几个月以来,我又开始使用WSO2产品。 在接下来的文章中,我描述了我遇到的一些(小)问题以及如何解决它们。 设置开发环境时,我要做的第一件事是在Mac上下载Developer Studi o(64位版本)。 解…

有意思的C语言运算符

在C语言中,运算符用于执行程序代码运算,会针对两个或者两个以上操作数进行运算。比如:5 - 2,它的操作数是 5 和 2,而运算符则是 “-”。常见的运算符可大致分为 4 种类型:算术运算符、关系运算符、赋值运算…

java反向映射_opencv 直方图和直方图反向映射

histogram使用np进行直方图像素统计通过histogram对图像的三个通道分别进行一维直方图统计,由于被统计的数组必须是一维的,所以使用ravel将二维数组转换为一维数组,通过range参数指定统计区间为0--256,bin参数指定将统计区间分为2…

新手学习C语言编程的8个致命错误,你中招了吗?

序言C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”。但由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不…

jpa 实体图查询_JPA实体图

jpa 实体图查询JPA 2.1的最新功能之一是可以使用实体图指定获取计划。 这很有用,因为它允许您自定义使用查询或查找操作检索的数据。 在使用中大型应用程序时,通常以不同的方式显示来自同一实体的数据。 在其他情况下,您只想选择最小的信息集…