- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编写ANSI C程序
白熊的C语言笔记
0.0.1 前言
要参加ACM比赛,从知识的要求上,至少的条件有三点:
一门程序设计语言,例如C
数据结构方面的知识
算法设计方面的知识
但是很明显的,如果按照学校一直以来的教学进度的话,学完这三门课需要一年半的时间,对于一个真正想学点什么的人来说,太长了。
为了能尽快的让同学们进入ACM这个技术竞赛,我们决定开办这个C语言的培训,但是因为对于你们学习进度以及对于老师授课的接受程度并不是很了解的原因,这次的培训,从整体上来说反应不是很好,主要的原因是因为我觉得你们已经上过课的话那这次就当做是复习,所以速度上有点太快,在此向所有同学致一声抱歉。
经过研究后,我决定还是从实际出发,在实际的编程中增进对程序的理解,而对于C语言的知识,可能与我们手上的那本C语言设计(第二版)有着不同的顺序。换句话说,我们的课程进度将与学校的无关。当然,在实行的过程中有什么意见的话,欢迎随时向我反馈,或者告诉你们班的联系人让他转告,感谢。
另外,培训的方式将改成一整天的以本文所讲的知识点为主的实战编程练习和讲解,希望大家能提前预习好本文的内容。
白熊
2009年10月19日1:21:08
0.0.2 推荐书目
本来今晚是想写一下以《C语言设计(第二版)》为基础的教材的,但是越看越发现里面一些不合理以及非常规的地方,因此收回对这本书“中规中矩”的评价,但依然缺乏属于老谭的思想。在此,我推荐几本书,大家可以去找来看看。
《C by Dissection The Essentials of C Programming Fourth Edition》(《C语言解析教程(原书第四版)》)
评价:一本相当不错的C语言入门书籍,我写的这个教程就是以这本书作为基础,针对我们需要用到的知识点做出来的,有兴趣的同学可以找原书来看。
《The C Programming Language》
评价:C语言学习的圣经,世界上公认的第一,但是内容相对比较深奥,建议有一定基础的同学自习。
1 编写ANSI C程序
1.1.1 准备编写第一个ANSI C程序
编程的目的是用于指示计算机完成特定的任务或解决特定的问题。在这其中,步进式地完成所需任务的过程被称为算法(algorithm)。而编程是沟通算法与计算机的活动。我们用计算机语言给计算机下达指令,让它完成。就像我们叫某某人帮忙做某某事一样。但计算机无法容忍多义性,因此必须要用精确的语言不厌其烦地详述所有步骤。
【多义性:一个语句可以被理解为多种意义。】
【本文的注释和补充说明将采用【】符号括起来】
编程过程可以分为四步:
描述任务
找出解决问题的算法
用C对算法进行编码
测试代码
源代码(source code)是编写出来的C语言代码,而包含源代码的文件称为源文件(source file)。
当程序员编写一个程序之后,他必须编译和测试他的程序。如果需要修改,就必须再次编辑源代码。这样,编程的过程由下述循环构成:
当程序员对程序的性能感到满意之后,就结束这个循环。
1.2. 第一个程序——Hello World
/*第一个C语言程序——Hello World!*/
#include stdio.h
int main (void)
{
printf(Hello World!\n);
return 0;
}
运行成功的话会出现
Hello World!
·/*第一个C语言程序——Hello World!*/
这是一行注释,编译器会自动忽略/*和*/所括起来的字符,这是为方便阅读而存在的文档,一般来说源文件开头的注释会注明该文件中代码的作用、作者和日期等信息。
·#include stdio.h
用#开始的行称为预处理指令,该指令用于与预处理器通信。#include指令使预处理器在代码当前位置加入标准头文件stdio的拷贝。【此项工作在编译开始之前】
这个头文件是C系统提供的。尖括号 指明该文件能在“通常的位置”找到。
我们引入这个文件是因为其中包含了关于printf()函数的信息。
【“通常的位置”根据编译环境而有所不同,在VC中,“通常的位置”指的是VC安装目录下的\VC98\Include文件夹】
【stdio是Standard Input Output的缩写,即“标准的输入输出”】
·int main (void)
每个程序都有一个命名为main的函数,程序从这里开始运行。
main前面的int表明这个函数将返回一个int类型的值。
main后面的圆括号()告诉编译器这是一个函数。
圆括号中的void表明该函数没有参数。
·{
函数体【函数的主体部分】以左花括号开始,以相应的右花括号结束。
我们的风格是每个括号单占一行,并靠左放置。
【花括号{}也用于把语句组织在一起。】
· printf(Hell
文档评论(0)