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与java ee_Java EE 8怎么了?

java与java eeJava EE 8的工作进展顺利。 是时候赶上了! 无需费力就可以潜入… 不要忘记Java EE 7….. 围绕三个重要主题 HTML 5对齐–用于WebSocket的Java API(JSR 356),JSON处理(JSR 353),JA…

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容器池化的 但是,它们与无状…

java interestops_Java Channel.setInterestOps方法代码示例

import org.jboss.netty.channel.Channel; //导入方法依赖的package包/类protected void doConnect() throws Throwable {long start System.currentTimeMillis();ChannelFuture future bootstrap.connect(getConnectAddress());try{boolean ret future.awaitUninterruptibl…

python时间间隔循环_python循环间隔

广告关闭回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云社区年度征文,各种定制好礼等你!序言如图1.1中关于如何用python去计算两个时间(年月日)相隔多少天&#xff0c…

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找最短次数等等题目的问题。在…

ejb运行程序_在哪里可以运行EJB?

ejb运行程序EJB不仅为Java EE应用服务器而建。 他们还可以执行在的Java EE Web Profile的容器或简单的Java SE环境(Java SE的啊- !E!ASY 的J ava 乙是指合同)。 EJB Lite 仅支持完整的EJB规范提供的功能的子集所必需的-相同功能的…

css vue 选项卡_vuejs实现标签选项卡动态更改css样式的方法

html{{item.name}}jsvar app new Vue({el:"#app",router,data:{m:"hello vue.js",active:2,idx:0, //默认选择首页headerList:[{name:首页1},{name:首页2},{name:首页3},{name:首页4},{name:首页5},{name:首页6}]},methods:{// 1.选择selectMainTheme:fun…

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

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

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

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

javafx 浏览器_浏览器中的JavaFX

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

django写mysql轮询_django 多数据库及分库实现方式

定义及路由机制定义在settings里面的DATABASES是一个字典,用于定义需要的数据库,如下,一共定义了两个数据库。DATABASES {default: {NAME: app_data,ENGINE: django.db.backends.postgresql_psycopg2,USER: postgres_user,PASSWORD: s3krit}…

python换行不执行_PYTHON无法换行问题,求指点

PYTHON无法换行问题,百思不得其解。fp.write(u{a}\n.format(a\n.join(a)))改成fp.write(u{a}\n.format(a,.join(a)))“,”可以正常显示下附源码,请指点一二#!/usr/bin/env python# encodingutf-8from bs4 import BeautifulSoupimp…

javafx 示例_JavaFX列表示例

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