C Primer Plus 第2章 C语言概述

孤者浪人 提交于 2019-12-01 09:55:40

2.1一个简单的实例

程序清单2.1 first.c程序

------

#include <stdio.h>

int main()

{

int num;

num=1;

printf("I am a simple");

printf("computer.\n");

printf("My favorite number is %d because it is first . \n",num);

return 0 ;

}

2.2实例说明

2.2.2程序细节

一、#include 指示和头文件

#include <stdio.h>

该句相当于您在文件中该行键入了stdio.h文件的完整内容。这样可以在多个程序间共享公用的信息。

#include 语句是C预处理器指令(preprocessor directive)的一个例子。通常,C编译器在编译前要对源代码 做一些准备工作,这称为预处理。

stdio.h(standard inprt output header)文件作为所有C编译包的一部分提供,包含有关输入和输出的函数信息以供编译器使用。在C中,人们称出现在文件顶部的信息集合为头(header),C实现通常都带有许多头文件。

简言之,头文件指引编译器把您的程序正确的组合到一起。

二、main()函数

一个C程序总是(不考虑例外)从main()函数开始。这个函数是C程序的基本模块。

int指明了main函数的返回类型。

圆括号()包含传递给函数的信息。

三、注释

/*一个简单的程序*/

包含在/**/之间的部分是程序注释,都会被编译器忽略掉。可以单行也可以多行。

//符号内的注释只能限制在单行。

四、花括号、程序体和代码块

{

......

}

通常,所有的C函数都使用花括号来表示函数体的开始和结束。

五、声明

int num;

程序中的这一行叫声明语句。

在C语言中,所有的变量必须在使用前定义。

传统上,C语言要求必须在一个代码块的开始处声明变量,在这之前不允许使用其他语句。

1、数据类型

把一个变量声明为整数类型或字符类型是计算机正确的存储、获取和解释该数据的基本前提。

2、名字的选择

可供使用的字符有大写、小写字母,数字和下划线。第一个字符必须是字母或下划线。

C语言的名字区分大小写。

3、声明变量的好处

A、所有变更放在一起,可以让读者更容易掌握程序的内容。

B、程序编写之前考虑一下需要声明的变量会促使您做一些计划。

C、减少程序中很难发现的一类细微错误。

D、如果没有声明所有变量,将不能编译您的C程序。

六、赋值

num=1;

把1赋给变量num。

前面的int num;语句为变量num分配了内存空间,该赋值语句在那个地方为变量存储了一个值。如果您想的话,以后还可以给num赋另一个值,这就是num为什么叫变量的原因。

赋值语句的顺序是从右到左。

七、printf()函数

printf("I am a simple");

printf("computer.\n");

printf("My favorite number is %d because it is first . \n",num);

圆括号中包括的内容是从main()传递到函数printf()的信息。这样的信息被称为参数(argument),更完整的名称是函数的实际参数(actual argument).

第二行,\n被称为换行符,字符的意思是开始新的一行。

换行符是转义字符的一个例子。

转义字符通常用于代表难于表达或者是无法输入的字符。

\t代表tab键;\b代表退格键;

每个转义字符都是\开始。

第三行,%d是一个占位符,其作用是指示输出num值的位置。

%告诉程序把一个变量在这个位置输出,d告诉程序将输出一个十进制的整数变量。

实际上,printf中的f暗示着这是一种格式化的输出函数。

八、return语句

return 0;

带有返回值的C语言函数要使用一个return语句,该语句包括关键字return,后面紧跟要返回的值,然后是一个分号。

2.3一个简单程序的结构

程序由一个或多个函数组成,其中必须有一个名为main()的函数。

函数头(header),包括预处理语句和函数名;

函数体(body),位于花括号中,并由一系列语句组成,每个语句以一个分号结束;

#include <stdio.h>

int main(void)

{

statements;

return 0 ;

}

2.4使程序可读的技巧

*选择有意义的变量名和使用注释;

*使用一个空行来分隔定义部分和动作部分;

*每个语句使用一行;

2.5更进一步

2.5.1说明

程序开始处使用一个注释说明文件的名称和程序的目的。对以后浏览或打印这些文件时很有帮助。

2.5.2多个声明

在一个声明语句中声明多个变量时,要使用“,”把多个变更分隔开来;

2.5.4输出多个值

printf("There are %d feet in %d fathoms! \n”,feet,fathoms);

printf("Yes , I said %d feet!  \n”,6*fathoms);

注意,要输出的变量列表出现在引号之后的语句尾部,还要注意每一项与其余项之间要用逗号隔开;

第二句说明,输出值不必是一个变量,它只需结果值具有合适类型的某个式子;

2.6多个函数

/*two_func.c--在一个文件中使用两个函数*/
#include <stdio.h>
void butler(void);//第一次出现在原型中,通知编译器要用到该函数;

int main(void)
{
    printf("I will summon the butler function.\n");
    butler();//第二次以函数调用的形式出现;
    printf("Yes,Bring me some tea and writeable CD-ROMS.\n");
    return 0;
}

void butler (void)//第三次程序给出了函数的定义,即函数的源代码;
{
    printf("You rang,Sir?\n");
}

原型,是一种声明形式,它告诉编译器您正使用一个特殊的函数,它也了指明了函数的属性。

注意:void的意思是“空的”而不是“无效的”。

butler()函数执行的时间由main()函数调用它的位置决定。

所有的C程序都是从main()函数开始执行的,不管它在文件中处于什么位置,然而C的惯例是把main()函数放在开头,因为它通常为程序提供了最基本的框架。

C标准建议您为要用的所有的函数提供函数原型。

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!