黑马程序员技术交流社区

标题: 几个重要的C语言概念 [打印本页]

作者: 靳小龙    时间: 2015-8-31 21:55
标题: 几个重要的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 <stdio.h>
int main()
{
    /* puts 会在末尾自动添加换行符 */
    puts("http://c.biancheng.net");
    printf("C语言中文网\n");  //printf要手动添加换行符
    return 0;
}
运行结果:
http://c.biancheng.net
C语言中文网

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

在C语言中,有的语句使用时不能带括号,例如声明类型的关键字 int、char、long 等,有的语句必须带括号,例如 puts()、printf()、scanf() 等。带括号的称为函数(Function)。

C语言发布时,它的开发者已经为我们编写了常用的代码(例如输入输出代码),我们可以拿来直接使用,不必再自己编写。这些代码,以函数(Function)的形式提供给我们,我们直接调用就可以。可以认为,函数是一段可以重复使用的代码。

函数的一个明显特征就是使用时带括号( ),必要的话,括号中还要包含数据或变量。我们将在《函数》一章中详细介绍,请大家先记住这个概念。
C语言中的函数和数学中的函数有很大的不同,最好不要拿两者对比。
C语言包含了几百个函数,为了便于管理和使用,这些函数被分门别类地保存到了不同的文件,使用时要引入对应的文件。这样的文件称为头文件(Header File),后缀为.h。

引入头文件使用#include命令,并将头文件放在< >之间,例如#include <stdio.h>、#include <stdlib.h>。

stdio 是 standard input and output 的缩写,称为“标准输入输出文件”。stdio.h中包含了很多常用函数,如 puts、printf、scanf 等。

需要注意的是:头文件必须在程序开头引入。
main 函数

我们说过,编写的代码要位于main(){ }之中,main 也是一个函数,称为主函数。main 比较特殊,程序运行时,会从 main 函数开始,直到 main 函数结束,所以代码中只能有一个 main 函数,否则程序将不知道从哪里开始执行,出现错误。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2