w3school c语言教程 飞龙整理 20141103

所需积分/C币:16 2014-11-03 18:26:17 1.61MB PDF
收藏 收藏
举报

w3school c语言教程 飞龙整理 20141103
UNX/ Linux上的安装 如果您使用的是 Linux或UNⅨX,请在命令行使用下面的命令来检查您的系统上是否安装了GCC: g CC -V 如果您的计算机上已经安装了GNU编译器,则会显示如下消息: Using built-in specs Target: 1386-redhat-linux Configured with: ./configure --prefix=/usr Thread model: posix gcc version 4.1.2 20080704(Red Hat 4.1. 2-46) 如果未安装GCC,那么您必须按照htt: gcc.gnu.org/ /install!上的详细说明安装GCC 本教程是基于 Linux编写的,所有给定的实例都已在 Cent os linux系统上编译过 Mac Os上的安装 如果您使用的是 Mac osⅩ,最快捷的获取GCC的方法是从苹果的网站上下载Ⅹcode开发环境,并按 照安装说明进行安装。一旦安装上 Xcode,您就能使用GNU编译器。 Xcoe目前可从 developer. apple. com/technologies/tools/上下载。 Windows上的安装 为了在 Windows上安装GCC,您需要安装 Mingw。为了安装MnGW,请访问 Mingw的主页 Www.minGw.org,进入 Mingw下载页面,下载最新版本的 Min gw安装程序,命名格式为MnGW- < version>eXe。 当安装 MinG时,您至少要安装 gcc-core、gccg++、binu和 Min gw runtime,但是一般情况下 都会安装更多其他的项。 添加您安装的 Mingw的bin子目录到您的PATH环境变量中,这样您就可以在命令行中通过简单的名 称米指定这些工具。 当完成安装时,您可以从 Windows命令行上运行gcc、g++、ar、 ranlib、dlo和其他一些GNU工 具 c程序结构 在我们学习C语言的基本构建块之前,让我们先来看看一个最小的C程序结构,在接下来的章节中可 以以此作为参考。 cHe| o World实例 C程序主要包括以下部分 预处理器指令 函数 变量 语句&表达式 注释 让我们看一段简单的代码,可以输出单词"He| lo World": #include <stdio.h> int main( /*我的第一个C程序*/ printf("Hello, World! \n") return 0 接下来我们讲解下上面这段程序: 1.程序的第一行#iη clude≤ stdio.h>是预处理器指令,告诉C编译器在实际编译之前要包含 stdio. h 文件。 2.下一行 int mair(是主函数,程序从这里开始执行。 3.下一行∧.将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。 4. 行prnt.)是C中另个可用的函数,会在屏幕上显示消息"Heo, World!" 行 retur0;终止main()函数,并返回值0。 编译&执行C程序 接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它。下面是简单的步骤: 1.打开一个文本编辑器,添加上述代码。 2.保存文件为helo.C。 3.打开命令提示符,进入到保存文件所在的目录。 4.键入 gcc hello,,输入回车,编译代码。 5.如果代码中没有错误,命令提示符会跳到下一行,并生成aOut可执行文件。 6.现在,键入a.out来执行程序。 7.您可以看到屏幕上显示"He∥oWor"。 s gcc hello. c s./a. out Hello world i 请确保您的路径中已包含gcc编译器,并确保在包含源文件helo.c的目录中运行它 C基本语法 我们已经看过C程序的基木结构,这将有助于我们理解C语言的其他基木的构建块。 c的令牌( Tokens) C程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面 的C语句包括五个令牌: printf("Hello, World! \n")3 这五个令牌分别是: printf Hello, World! \n 分号; 在C程序中,分号是话句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结 束。 例如,下面是两个不同的语句 printf( Hello, World! \n")3 return 0, 注释 注释就像是C程序中的帮助文本,它们会被编译器忽略。它们以∧开始,以字符棽终止,如下所示: *我的第一个C稈序* 您不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。 标识符 C标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母AZ或a-z或 下划线开始,后跟零个或多个字母、下划线和数字(0-9)。 C标识符内不允许出现标点字符,比如@、$和%。C是区分大小与的编程语言。因此,在C 中, Manpower和 manpower是两个不同的标识符。下面列出几个有效的标识符 zara abc move name a 123 myname50 temp J a23b9 retval 关键字 下表列出了C中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。 auto else long switch break enum register typedef case extern return union char float short unsigned const for signed Vo id continue goto sizeof volatile default static while do struct Packed double c中的空格 只包含空格的行,可能带有注释,被称为空白行,C编译器会完全忽略它 在C中,空格用于描述空白符、制衣符、换行符和注释。空格分隔语句的各个部分,让编译器能识别 语句中的某个元素(比如int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中: int ages 在这里,int和age之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它 们。另·方面,在下面的语句中: fruit= apples+ oranges;//获取水果的总数 fruit和=,或者〓和 apples之间没有必要有空格字符,但是为了增强可读性,您可以根据需要适当增 加一些空格。 C数据类型 在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。交量的类型决定了 变量存储占用的空间,以及如何解释存储的位模式 C中的类型可分为以下几种 序 只 类型与描述 基本类型 它们是算术类型,包括两种类型:整数类型和浮点类型 枚举类型: 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变 量 void类型 类型说明符void表明没有可用的值。 派生类型: 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。 数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。在本章节接下来的部分我 们将介绍基本类型,其他几种类型会在后边几个章节中进行讲解。 整数类型 下表列出了关于标准整数类型的存储大小和值范围的细节 类型 存储大小 值汔围 char 1 byte -128到127或0到255 unsigned 1 byte 0到255 char signed char 1 byte -128到127 2或4 32,768到32,767或-2,147,483,648到 bytes 2.147483.647 unsigned int 2或4 bytes 0到65,535或0到4,294,967,295 short 2 bytes 32,768到32,767 unsigned short 2 bytes 0到65,535 4bytes 2,147,483648到2,147,483,647 unsigned 4 bytes 0到4,294,967,295 ong 为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof运算符。表达式 sizeof(type)得到对象或类型的存储字节大小。下面的实例滨示了获取int类型的大小 #include <stdio, h> include <limits. h> int main() printf( Storage size for int %d \n", sizeof(int)); return 0. 当您在 Linux上编译并执行上面的程序时,它会产生下列结果 Storage size for int :4 浮点类型 下表列出了关于标准浮点类型的存储大小、值范围和精度的细节: 类型 存储大小 值范围 精度 float 4 byte 12E-38到34E+38 6位小数 double 8 byte 2.3E-308到1.7E+308 15位小数 g double10bye34E4932到11+493219位小数 头文件 float. h定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将 输出浮点类型占用的存储空间以及它的范围值 include <stdio.h> #include <float.h> int main() printf("Storage size for float %d \n", sizeof(float)); printf("Minimum float positive value: %E\n FLT MIN 3 printf( Maximum float positive value: %E\n", FLT MAX ) printf("Precision value: %d\n", FLT DIG return 0 当您在Lnux上编译并执行上面的程序时,它会产生下列结果: Storage size for float:4 Minimum float positive value: 1.175494E-38 Maximum float positive value: 3. 402823E+38 Precision value: 6 void类型 void类型指定没有可用的值。它通常用于以下三种情况下: 号 类型与描述 函数返回为空 C中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返 回类型为空。例如 yoid exit( int status); 函数参数为空 2‖c中有各种函数不接受任何参数。不带参数的函数可以接受一个void。例如int rand( void); 指针指向void 3类型为vod*的指针代表对象的地址,而不是类型。例如,内存分配函数vod malloc( size t size);返回指向void的指钭,可以转换为仼何数据类型 如果现在您还是无法完全理解void类型,不用太担心,在后续的章节中我们将会详细讲解这些概念。 c变量 交量其实只不过是程序可操作的存储区的名称。C中每个变量都有指定的类型,类型决定了变量存储的 大小和布局,值的范围可以存储在内存中,运算符可应用于变量上 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是 不同的,因为C是大小写敏感的。基于前一章讲解的基本类型,将有以下集中基本变量类型: 类型 描述 char 通常是一个八位字节(一个字节)。这是一个整数类型。 对机器而言,整数的最自然的大小 float 单精度浮点值。 double 双精度浮点值。 void 表示类型的缺失。 C语言也允许定义各种其他类型的变量,比如枚举、指针、数组、结构、共用体等等,这将会在后续的 章节中进行讲解,本章节我们先讲解基本变量类型 C中的变量定义 变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类 型,并包含了该类型的一个或多个变量的列表,如下所小 type variable list: 在这里,type必须是个有效的C数据类型,可以是char、 w char、int、foat、 double、bol或任 何用户自定义的对象, variab| e list可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。 下面列出儿个有效的声明: int i, j,k char float f, salary; double d 行inti,j,k;声明并定义了变量i、j和k,这指示编译器创建类型为it的名为ⅰ、j、k的变量。 变量可以在声明的时候被初始化(指定一个初始值)在但们的宣言。初始化器由一个等号,后跟一个常 量表达式组成,如下所示 type variable name value; 下面列举几个实例: extern int d=3,f=5;//d和f的声明 int d =3, f=5; /定义并初始化d和f byte 22 //定义并初始化z char x=xj /变量ⅹ的值为'ⅹ 不带初始化的定义:带有静态存储持续时间的变量会被隐式初始化为NULL(所有字节的值都是0), 其他所有变量的初始值是未定义的。 c中的变量声明 变量声明向编译器证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下 也能继续进一步的编译。变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。 当您使用多个文件且只在其中一个文件中定义变量时(定义变量的文件在程序连接时是可用的),变量 声明就显得非常有用。您可以使用 extern关键字在任何地方声明一个变量。虽然悠可以在程序中多次 声明个变量,但变量只能在某个文件、函数或代码块中被定义次 实例 尝试下面的实例,其中,变量在头部就己经被声明,但它们是在主函数内被定义和初始化的 #include <stdio. h> //变量声明 extern int a, b extern int C: extern float f int main ()

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
a5524303 总体来说这份文档还是不错的。。 但是还是那句话,排版不太满意。。
2015-01-18
回复
zhuizhuixin1 这个真不错,很有共享精神。
2014-11-06
回复
  • GitHub

    绑定GitHub第三方账户获取
  • 脉脉勋章

    绑定脉脉第三方账户获得
  • 技术圈认证(专家版)

    博客专家完成年度认证,即可获得
  • 至尊王者

    成功上传501个资源即可获取
关注 私信 TA的资源
上传资源赚积分or赚钱
最新推荐