w3school c语言教程 飞龙整理 20141103

-
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 ()
-
2015-01-18
-
2014-11-06
95.30MB
w3school教程 离线版PDF 飞龙整理 20141103
2014-11-04php sql mangodb html css bootstrap js jquery java jsp c# asp.net asp py ios
21.8MB
W3School离线手册(2016.07.15)
2016-07-15W3School离线手册(2016.07.15) W3School离线手册更新: 该文档为本人于2016年7月15日凌晨从W3School官网下载整理制作的CHM电子书文档。 1)要是有些人碰到chm
3.24MB
W3Cschool离线教程201608最新版高清完整PDF版
2016-08-23W3Cschool技术教程离线手册,根据(http://www.w3cschool.cn)2016年08版本下载整理。包含html5,css,javascript,jquery,bootstrap,p
8.72MB
w3school bootstrap教程 飞龙整理 20141001
2014-10-01w3school bootstrap教程 飞龙整理 20141001
33.35MB
w3cschool离线教程(2016年中秋版)
2016-09-10W3Cschool技术教程离线手册2016中秋版,根据(http://www.w3cschool.cn)2016年09版本下载整理。包含html5,css,javascript,jquery,boot
19.59MB
w3school离线完全版2012年7月18日最新版
2012-07-18本人刚刚亲手制作的w3school离线完全版,解压后70M 非chm格式,是一批网页 手动优化了一些连接错误问题 2012-7-18最新制作
5.46MB
W3School 全套教程
2009-07-03W3School 全套教程 重新整理的W3School全套教程很全面 很不错的一个学习文档
5.14MB
w3school html & css教程 飞龙整理 20141002
2014-10-02w3school html & css教程 飞龙整理 20141002
5.31MB
w3school java & java web教程 飞龙整理 20141001
2014-10-01w3school java & java web教程 飞龙整理 20141001
4.41MB
w3school node.js教程 & 官方api文档 飞龙整理 20141026
2014-10-26w3school node.js教程 & 官方api文档 飞龙整理 20141026
35KB
w3c-dom.jar 包
2014-05-06w3c-dom.jar 包 dom解析xml使用 包 免积分下载
631KB
w3school AngularJS教程 飞龙整理 20141001
2014-10-01w3school AngularJS教程 飞龙整理 20141001
3.19MB
w3school Python教程 飞龙整理 20141026
2014-10-26w3school Python教程 飞龙整理 20141026
3.1MB
w3school网站建设教程 飞龙整理 20141119
2014-11-19w3school网站建设教程 飞龙整理 20141119
21.19MB
W3School离线手册(2014.7.8)
2014-07-09W3School离线手册(2014.7.8) w3school离线手册,2014年7月8日 从网站下载整理制作的chm。 要是有些人碰到chm打开空白的,有以下两方法: ①右击->属性,看是否有“解除
3.33MB
w3school css参考手册 飞龙整理 20141026
2014-10-26w3school css参考手册 飞龙整理 20141026
2.38MB
w3school c语言教程 20141228
2014-12-28w3school c语言教程 20141228
80.26MB
w3school教程 离线版pdf 飞龙整理 20141003
2014-10-03php sql mangodb html css bootstrap js jquery java jsp c# asp.net asp py ios
10.31MB
w3school linux教程 飞龙整理 20141002
2014-10-02w3school linux教程 飞龙整理 20141002
522KB
w3school 正则表达式教程 飞龙整理 20141001
2014-10-01w3school 正则表达式教程 飞龙整理 20141001
4.33MB
w3school 设计模式教程 飞龙整理 20141001
2014-10-01w3school 设计模式教程 飞龙整理 20141001
1.36MB
Advanced WarCraft 3 Configurator
2008-07-22Advanced WarCraft 3 Configurator (AWC) 是一款功能强大的,操作简便的工具,你可以按自己喜好来配置WAR3。它还可以帮你改变一些原来游戏本身不允许修改的地方。不用说
51.77MB
java api最新7.0
2013-10-26JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟
3.7MB
Web前端开发最佳实践
2015-02-27最近几年,Web前端的发展非常迅速,并呈现出一片欣欣向荣的景象。但同时层出不穷的新技术又扰乱了开发者的思绪,造成了很多开发者疲于学习新技术而忽略了最基础的技术修炼,产生了浮躁的心态。很多开发者介绍最新
2.0MB
Bootstrap中文教程
2014-02-27Bootstrap是Twitter推出的一款简洁、直观、强悍的前端开发框架。 Bootstrap基于 HTML、CSS、JAVASCRIPT。它由Twitter的设计师Mark Otto和Jacob
2.98MB
w3school HTML参考手册 飞龙整理 20141027
2014-10-27w3school HTML参考手册 飞龙整理 20141027
19.70MB
W3School离线手册(2015.07.17)
2015-08-04W3School离线手册(2015.07.17) W3School离线手册更新: 该文档为本人于2015年7月17日下午从W3School官网下载整理制作的CHM电子书文档。 1)要是有些人碰到chm
559KB
5天驾驭JQuery教程(jQuery速成教程)【Word版本】
2013-02-22jQuery其实很简单,相信您看了W3Cfuns.com精心编写的jQuery速成教程后,一定会被它的优雅、轻巧吸引住,而且如果您掌握了它,定能成为提升薪水的一个资本。 本节并没有涉及到jQuery如
9.83MB
w3cschool菜鸟教程离线版chm手册 2016
2016-10-29w3cschool菜鸟教程离线版目录: HTML / CSS 学习 HTML 学习 HTML5 学习 CSS 学习 CSS3 学习 Bootstrap ASP.NET 学习 ASP.NET 学习 C#
10.30MB
IIS6完整安装包含iisadmin.mfl,asp.mfl,adsutil.vbs等
2008-12-07iis6完整安装包,在win2003及winxp中测试通过,包含其它下载包中缺少的: achg.asp ADSUTIL.VB_ aexp2b.asp aexp4b.asp appsrv.msc asp
-
GitHub
绑定GitHub第三方账户获取 -
脉脉勋章
绑定脉脉第三方账户获得 -
技术圈认证(专家版)
博客专家完成年度认证,即可获得 -
至尊王者
成功上传501个资源即可获取
-
博客
二叉搜索树 -golang实现
二叉搜索树 -golang实现
-
博客
HCIP第三天(STP生成树协议总结)
HCIP第三天(STP生成树协议总结)
-
博客
go-优雅地重启http服务之endless
go-优雅地重启http服务之endless
-
下载
机器学习Attack and Defense.pdf
机器学习Attack and Defense.pdf
-
学院
【数据分析-随到随学】Hadoop数据分析
【数据分析-随到随学】Hadoop数据分析
-
博客
2021-01-16课后练习(未完)
2021-01-16课后练习(未完)
-
下载
c++ 邻接数组实现四种图类
c++ 邻接数组实现四种图类
-
学院
单片机完全学习课程全五季套餐
单片机完全学习课程全五季套餐
-
下载
表彰大会实施方案.docx
表彰大会实施方案.docx
-
博客
2021-01-16
2021-01-16
-
下载
mysql-5.7.20-win32-debug-test.zip
mysql-5.7.20-win32-debug-test.zip
-
博客
SpringMVC项目配置
SpringMVC项目配置
-
博客
vlan试验
vlan试验
-
下载
LDW&LKA算法开发
LDW&LKA算法开发
-
学院
基于X210的裸机时钟温度显示器-第3/3季
基于X210的裸机时钟温度显示器-第3/3季
-
下载
在线教育app移动端页面psd设计稿.zip
在线教育app移动端页面psd设计稿.zip
-
博客
每日随笔2021-01-16
每日随笔2021-01-16
-
学院
(新)备战2021软考软件设计师学习教程培训套餐
(新)备战2021软考软件设计师学习教程培训套餐
-
学院
21年新MybatisPlus+Swagger3.x+SpringBo
21年新MybatisPlus+Swagger3.x+SpringBo
-
学院
【数据分析-随到随学】Hive详解
【数据分析-随到随学】Hive详解
-
学院
备战2021软考网络规划设计师历年真题套餐
备战2021软考网络规划设计师历年真题套餐
-
下载
Python——基于OpenCV的人脸数据、训练、识别.zip
Python——基于OpenCV的人脸数据、训练、识别.zip
-
学院
three.js入门速成
three.js入门速成
-
学院
【数据分析-随到随学】机器学习模型及应用
【数据分析-随到随学】机器学习模型及应用
-
学院
(新)备战2021软考网络工程师分类强化培训套餐
(新)备战2021软考网络工程师分类强化培训套餐
-
学院
(新)备战2021软考系统集成基础知识套餐
(新)备战2021软考系统集成基础知识套餐
-
下载
最新人教版五年级下册语文第二单元基础过关知识整理.doc
最新人教版五年级下册语文第二单元基础过关知识整理.doc
-
下载
电工学电子技术(上册)重点总结
电工学电子技术(上册)重点总结
-
学院
Java星选一卡通
Java星选一卡通
-
博客
Lingo学习笔记(一)——语法入门
Lingo学习笔记(一)——语法入门