2.1C语言的一个简单实例
#include <stdio.h>
int main(void) /*一个简单的C程序*/
{
int year; /*声明一个名为year的变量*/
year = 2018; /*赋值为2018*/
printf("%d,Hello Wolrd!\n", year); /*使用printf()函数*/
return 0;
}
2.2实例说明
一、#include 指示和头文件
#include <stdio.h>
这是程序的第一行。该语句的作用相当于您在该文件中该行所在的位置键入了文件stdio.h 的完整内容。
#include 语句是C预处理指令的一个例子。C编译器在编译之前要对源代码做一些准备工作,称为预处理。
stdio.h 文件作为所有C编译包的一部分提供,它包含了有关输入和输出函数的信息供编译器使用。
二、main() 函数
int main(void)
这行代码声明了一个main 函数。一个C程序总是从main() 函数开始执行的。int 指明了main() 函数的返回类型;圆括号表明main() 是一个函数的名字;圆括号内一般包含传递给函数的信息;void表示main() 函数不接受任何参数。
三、注释
/*一个简单的C程序*/
包含在/**/之间的部分是程序注释。在/*和*/之间的所有内容都会被编译器忽略掉。较长的注释可以单放一行,或者是多行。
C99增加了另一种风格的注释:
//这种注释必须被限制在一行内,一行的结尾标志注释的结束
四、花括号、程序体和代码块
{
...
}
花括号划定了main() 函数的界限。通常,所有的C函数都是用花括号来表示函数体的开始和结束。
五、声明
int year;
程序中这一行叫做声明语句。该语句声明一个名为year 的变量,且该变量是int 类型。 本例中year 是一个标识符(identifier),即为一个变量、函数或其他实体所选的名字。
1.数据类型
C语言可以多种数据类型。把一个变量声明为整数类型或字符类型是计算机正确地存储、获取和解释该数据的基本前提。
2.名字的选择
C语言规定,合法的标识符必须由英文字母或下划线开头,是字母、数字和下划线的序列,且有长度限制。C语言标识符分为三类:关键字、保留标识符、用户标识符。关键字是C语言中的词汇,如int 、void 等。保留标识符包括那些以下划线字符开始的标识符和标准库函数的名字,如printf。
- 变量名应尽量有意义,如果名字不能表达清楚,可以用注释解释变量所代表的意思
- 不能是关键字,一般不使用保留标识符
- 一般小写
3.声明变量的四点好处
- 把所有变量放在一起,可以让读者更容易掌握程序的内容
- 开始编写程序前,考虑一下需要声明的变量会促使您做一些计划工作
- 可以帮助避免程序中出现"变量名拼写错误类"的问题
- 如果没有声明变量就使用,将不能编译您的C程序
六、赋值
year = 2018;
将2018赋给变量year。前面的声明语句在计算机内存中为变量year 分配了空间,该赋值语句在此空间中为变量存储了一个值。
七、printf() 函数
圆括号表明printf 是一个函数名。圆括号中的内容是从函数main() 传递到函数printf() 的信息,这样的信息被称为参数,更完整的名称是函数的实际参数。
printf("%d,Hello Wolrd!\n",year);
%d是一个占位符,其作用是指示输出year 值的位置。%告诉程序把一个变量在这个位置输出,d 告诉程序将输出一个十进制整数变量。
八、return 语句
return 0;
return 语句是程序的最后一个语句。在int main(void) 中int 表示main() 函数的返回值应该是一个整数。C标准要求带有返回值的C语言函数要使用一个return 语句,该语句包括关键字return ,后面紧跟着要返回的值,然后是一个分号。
2.3一个简单程序的结构
函数的描述由函数头和函数体组成。函数头包括预处理语句和函数名;函数体位于花括号{ } 中并由一系列语句组成。
/*函数头*/
#include <stdio.h>
int main(void)
{
/*函数体*/
return 0;
}
2.4 使程序可读的技巧
- 选择有意义的变量和使用注释
- 使用空行分隔一个函数概念上的多个部分
- 每个语句用一行
2.5多个函数
#include <stdio.h>
void hello_wolrd(void); /*函数原型*/
int main(void)
{
printf("What to say?\n");
hello_wolrd();
printf("Hello Mr.Gold\n");
return 0;
}
void hello_wolrd(void) /*函数定义的开始*/
{
printf("Hello World!\n");
}
hello_wolrd() 函数在程序中出现了3次。第一次出现在函数原型中,通知编译器要用到该函数;第二次是在main() 函数中以函数调用形式出现;最后,程序给出了函数的定义,即函数本身的源代码。
2.6总结
C语言程序是由一个或多个函数组成的。每一个C程序都必须包含一个名为main() 的函数,程序总是从main() 函数开始执行。一个简单的函数结构如下:函数头后面紧跟一个开始花括号{ ,后面是构成函数体的语句,然后是起终止作用的结束花括号。
每个C语句都是一个针对计算机的指令。声明语句为变量指定一个名字并指明该变量中存储的数据类型。变量名是标识符的一种。赋值语句将值赋给变量。函数调用语句会导致所指定函数的执行。当被调函数执行完毕后,程序会返回到函数调用之后的语句继续执行。
printf() 函数用于输出语句和变量的值。
一门语言的语法是一套规则,用于管理这种语言中的合法语句组织在一起的方式。语句的语义就是它所表达的意思。编译器可以帮助你发现语法上的错误,但是程序里的语义错误只有在编译完之后才能从程序的行为中表现出来。检查语义错误可能包括跟踪程序的状态,即程序每执行一步之后所有变量的值。