网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 541|回复: 0
打印 上一主题 下一主题

【C语言】标识符、关键字、注释、表达式和语句

[复制链接]

686

主题

693

帖子

3101

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3101
跳转到指定楼层
楼主
发表于 2024-1-11 21:09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wander 于 2024-1-11 21:10 编辑

标识符

定义变量时,我们使用了诸如 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 等。我们定义的标识符不能与关键字相同,否则会出现错误。

注释


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

C语言支持单行注释和多行注释:
  • 单行注释以//开头,直到本行末尾(不能换行);
  • 多行注释以/*开头,以*/结尾,注释内容可以有一行或多行。

一个使用注释的例子:
  • /*
  •   Powered by: c.biancheng.net
  •   Author: 严长生
  •   Date: 2017-10-25
  • */
  • #include <stdio.h>
  • int main()
  • {
  •     /* puts 会在末尾自动添加换行符 */
  •     puts("http://c.biancheng.net");
  •     printf("C语言中文网\n");  //printf要手动添加换行符
  •     return 0;
  • }


运行结果:
http://c.biancheng.net
C语言中文网

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

需要注意的是,多行注释不能嵌套使用。例如下面的注释是错误的:
/*C语言/*中文*/网*/
而下面的注释是正确的:
/*C语言中文网*/  
/*c.biancheng.net*/

表达式(Expression)和语句(Statement)


表达式(Expression)和语句(Statement)的概念在C语言中并没有明确的定义:
  • 表达式可以看做一个计算的公式,往往由数据、变量、运算符等组成,例如3*4+5、a=c=d等,表达式的结果必定是一个值;
  • 语句的范围更加广泛,不一定是计算,不一定有值,可以是某个操作、某个函数、选择结构、循环等。



重点小结:
  • 表达式必须有一个执行结果,这个结果必须是一个值,例如3*4+5的结果 17,a=c=d=10的结果是 10,printf("hello")的结果是 5(printf 的返回值是成功打印的字符的个数)。
  • 以分号;结束的往往称为语句,而不是表达式,例如3*4+5;、a=c=d;等。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-12-23 12:15 , Processed in 0.033025 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表