您的位置:首页 > 其它

ARP攻击原理与解决方法《二》

2010-09-09 14:05 162 查看
#include <stdio.h>

int main (void)

{ /*一个简单的C程序员 */

int num; /*定义一个名为num的变量 */

num = 1; /*为num赋一个值 */

printf ("I am a simple "); /*使用printf ()函数 */

printf ("computer.\n ");

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

return 0 ;

}

/*正确运行后的结果:

I am a simple computer.

My favorite number is 1 because it is first.

*/

/*实例说明:

#include <stdio.h> <-- 包含另一个文件

这行告诉编译器包含文件stdio.h中的全部信息。文件stdio.h是所有C语言

编译包的一个标准部分。这个文件对关键字输入和显示输出提供支持。

该语句的作用相当于在C源文件中此行的所在位置上完整的键入了文件stdio.h的内容。实际上

它是一种剪切粘贴的操作,这样可以方便的在多个程序间共享公用的信息。

C编译器在编译C源代码前要作一些准备工作;这个我们称之为预处理 ,而语句#include是C预处理指令的一个例子。

stdio.h文件作为所有C编译包的一部分提供,它包含了有关标准输入和标准输出函数的信息以供编译器使用。

通常称出现在C源文件顶部的信息集合称之为头,stdio.h代表标准输入输出头文件,在C源代码中通常有多个头文件的存在。

头文件还有一个重要的作用是,它包括了建立最终可执行程序时编译器需要用到的信息。头文件指引编译器把C提供的代码库和所编写

正确的组合在一起。(扩展:为什么不内置输入输出语名,因为不是所有的c程序都要用到输入输出包。#include 可以说不是C语言的语句

在第一列中#的符号表明这一行是在编译器接手之前是由C预处理器处理的语句。)

int main(void) <----函数名

在c程序中包含一个或多个函数,它们是C程序的基本模块。圆括号表明main()是一个函数名字,int表明main()函数的返回类型为整形。

其值将返回给系统,函数名后面的圆括号一般包含传递给函数的信息,void表示main()不接受任何信息.

总之这一行是声明一个main函数。一个C程序总是从这个main()的函数开始执行。

*/

/*一个简单的c程序*/ /* <----注释 *//*包含在这个括号的部分是程序的注释。使用注释的目的是为了别人或自己更容易的理解程序。它可以放在程序的

任何一个地方,可以在同行也可以在多行。在这个括号之间的所有内容都会被编译器忽略掉。另个在C99增加了另外一种写法

使用//符号,但是它只限制在一行里。注释符号不能嵌套.

*/

/*{......}花括号划定main函数的界线。通常所有的C函数都使用花括号来表示函数体的开始与结束.花括号还可用来把函数中的语句集中到一块或一个代码快中.

*/

/*int num; <----声明语句。这行语句声明了两件事。(1)在main函数中有一个名为num的变量,(2)int 说明num是一个整数。编译通过int 给变量num在内存中分配

一个合适的空间.句未分号指明这一行是C的一个语句或是一条指令。分号是语名的一部分它也标志一个语句的结束.

int 是C语言的一个关键字,因为他是关键字所以不能用它作变量或其它的作用,它是c中最基本一个数据类型

num是一个标识符也就是您为一个变量,函数或其它实体所选的名字。这样此声明把一个特殊的标识符和计算机内存中一个特殊位置联系,同时确定了这个位置的存储的数据类型。

在C中所有的变量都必须先定义在使用,传统的C要求必须把声明变量放在一个代码块开始处,在这之前不允许任何其它的语句.

*/

/*什么是数据类型:声明一个变量是什么数据类型是使计算机正确的存储,获取和解释该数据的前提.数据类型:一个值的集合和定义在这个值集上一组操作的总称

名字(标识符)的选择:尽量用有意义的变量名,如果不能用有意义的变量名应该用注释解释变量名的意思。变量名命名为第一个字符必须为字母或下划线,其它的可使用大小写字母

数字和下划线。但是操作系统和C库通常使用以一下或二个下划线开始的名字,因此最好不要使用下划线开始的标识符。另外C语言的名字是区分大小写即把一个大写字母和与这之

对应的小写字母看作是不同的

声明变量的好处:通过声明变量并且声明有意义的变量可以使源代码易读好懂。有计划的为程序的实现的作一些准备工作。声明变量可以避免一类很难发现的细微错误--变量名拼写错误。

如果没有声明变量编译器将不能编译C程序。

*/

/*num = 1; <---同赋值语句 ,意思是把1赋值给变量num 前面int num;为变量在内存中分配空间,该语名把数字1放到这个分配的空间中去,注意赋值语句的顺序是从右到左。同样语句也是以分号结束。

*/

/*printf ("I am a simple");

printf ("computer.\n");

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

所有这些行都使用了C标准函数:printf ().圆括号表明printf 是一个函数名。圆括号的内容是从函数main ()传递到函数printf ()的信息。例如第一行把I an a simple传递给printf()函数。这样的信息被称为

参数,更完整的名称是函数的实际参数。printf ()函数如何处理这个参数?程序将识别两个双引号之间的内容并把它显示在屏幕上。如何调用或请求printf()函数:只须键入函数的名字,把所需的一个或多个参数放进圆括号中

当程序运行到这一行时,控制权将交给该函数(这里是printf ())当函数完成他所要作的工作,控制权返回给原来的调用函数(这里是main())

第二行的\n并没有显示在屏幕上这是为什么呢?因为\n组合是一个转义字符,他是意思是开始新的一行其效果和在普通键盘上按下回车。转义字符通常用于难以表达或是无法键入的字符,每个转义字符都以斜线(\)开始,

这样就解释三个printf ()语句只产生两条语句,第一行没有转义字符而第二,三行都有。

最后一个printf () 在这一行中%d也没有显示在屏幕上而是显示成了数字1,而数字1是num的值。%d是一个占位符其作用是指出输出num值的位置。其中%告诉程序把一个变量在这个位置输出,d告诉程序将输出一个十进制整数变量。

printf ()中的f暗示着这是一种格式化的输出函数。

*/

/*return 0; <----返回语句 */
本文出自 “IT民工自学C” 博客,请务必保留此出处http://ghskdq.blog.51cto.com/5945957/988052
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: