一.简单C程序:
#include<stdio.h> int main(void) { int n; n=1; printf("n=%d ",n); return 0; }
文件名命名为first.c保存,并编译运行,其结果显示为:
n=1
这是怎么来的呢?接下来将对程序中的细节进行说明!
二.程序细节
1.#include<stdio.h>
该语句的作用相当于在文件该行所在位置键入了文件stdio.h的完整内容,实际上是一种剪切和粘贴操作,可方便在多个程序间共享公用的信息。#include为c预处理指令,即编译前做的准备工作。stdio.h为头文件(人们称出现在文件顶部的信息集合为头),包含了有关输入和输出函数的信息。c实现通常带有许多头文件,它包括了建立最终的可执行程序时编译器需要用到的信息,例如定义常量,或者说明函数名以及该函数如何使用。但是函数的实际代码被包含在预编译代码的库文件中,而不是头文件。它起到指引正确组合程序的作用。
2.main函数(int main(void))
可以对其他函数任意命名,但main()函数必须是开始的函数。
int表示main()函数的返回类型,意味main()函数返回值是int类型的整数。
括号()里表示传递给函数的参数,void表示不接受任何参数。
3.声明
int n;
表示:声明了一个int类型的变量名为n的变量。编译器为它分配一个合适的存储空间,而赋值则在那个地方为变量存储了一个值。所有变量都必须在使用之前定义。
- 数据类型
声明正确的类型是计算机正确存储、获取和解释该数据的基本前提。例如整数类型、字符类型和浮点数类型。
- 标识符
即为一个变量、函数或其他实体所选的名字。
可供使用的字符有小写字母、大写字母、数字和下划线(_)。第一个字符必须是字母或者下划线。
C语言的名字区分大小写的!
4.printf()函数
称为换行符,表示“在下一行的最左边开始新的一行”,它只是影响程序输出如何显示;
%d为站位符,指出n输出的位置和数值,以十进制整数变量为基准输出整数,属于格式化操作,例如%f输出浮点数,%c输出一个字符等。
5.return语句
带有返回值的函数要使用一个return语句,后面接要返回的值。(后续将要介绍)。
三.多个函数
举例:
#include<stdio.h> void butler(void); //函数原型 int main(void) { pritnf("I am a student. "); butler(); //函数调用 printf("I am from china. "); return 0; } void butler(void) //函数定义
{ printf("I am twenty years old. "); }
该程序结果:
I am a student.
I am twenty years old.
I am from china.
用户自定义的函数:(以后将对非void函数进行原型声明)
第一次,在原型中表示通知编译器要用到该函数:
声明该函数,void表示该函数不返回值,括号()里的void表示不接受main()函数传递的参数或没有参数;
第二次,以函数调用的形式出现:
该函数的执行时间是由main()函数调用它的位置决定,而不是该函数的定义的位置决定。
所有的C程序都是从main()函数开始执行的,不管它在程序文件中的什么位置。
被调函数执行完毕,程序回到函数调用之后的语句继续执行。
第三次,给出函数定义,即本身的源代码:
四.关键字
关键字是C语言的词汇。不能用作标识符。
同时变量名尽量不用保留标识符:那些以下划线字符开始的标识符和标准库函数的名字。