快速学会C语言.docx





《快速学会C语言.docx》由会员分享,可在线阅读,更多相关《快速学会C语言.docx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言速成教程一教你如何10小时学会c语言令第一章C语言简介与Turbo C的使用令第二章C程序的结构令第三章常数与变数令第四章基本输出入函式令第五章流程图与抉择指令令第六章循环与自动重复令第七章数组与指针令第八章函数与呼叫令第九章档案存取第一章C语言简介与Turbo C的使用 c语言的优点:O效率高:C语言的编译器会产生最小的程序代码。O可移植性/移植性高:经过些许的修改,可以在不同的平台使用。O功能强而有弹性。O需要记忆的东西很少,易于写作。 Turbo C的安装:已安装在学校主机。Turbo C的环境设定:Turbo C安装的目录必须设定在PATH的系统变量。如:PATH=C:TC;C:
2、DOS;.如此 TC 才能1E常工作。 Turbo C的使用只要设定好PATH变量,在DOS提示号输入TC ,就可以执行Turbo C的整合环境了。TC将编辑(Edit)、编译(Compile)、连结(Link)、除错(Debug)、档案管理(File)、等等的功能整合在一起,所以我们称之为整合环境。最好先用CD的指令,变更工作目录到你要写C的目录,再执行TC,这样所产生的档案,就会里这个目录里面,便于备份与管理。移动光标方向键一t I -可以用来移动光标。删除文字将光标移到你要删除的文字上,再按下Del键即可。将光标移到要删除文字的右边,再按下BS退位键也可以。加载文字文件(C语言原始码文件
3、)按下功能键F3或按F10选File - Load就会出现一个询问窗口要求输入文件名;I Load File Name 1I *.CI其中的文件名可以使用万用字符*或?,或直接指定你要的槽名。若是使用万用字符,TC会再秀出一个窗口让你选择所要的档案,你可以用方向键移动反白光棒,按Enter键则是选择反白的档案。储存编辑的文字文件按下功能键F2或按F10选File - Save就会储存目前编辑档案。若你想另外取一个档名,并加以存盘,就必须按F10选File - Write to就会出现一个询问窗口要求输入文件名:New Name输入新的档名,按下Enter即可。编译并执行目前的所编辑的程序Tur
4、bo C是一种编译语言系统,你所写的程序,经过TC的编译(pass 1)及连结(pass 2)后,产生可执行档(.exe),才能在PC上执行。按下Ctrl + F9或按F10选Run - Run , TC会编译目前所编辑的程序,如果没有错误发生,TC会立即执行所编辑的程序。TC在执行完程序后,会立刻切换回到TC的整合环境,如果你还想看刚才程序执行的结果,可以按下Alt + F5或按F10选Run User screen ,就会切换到执行画面,再按下任何一键,就会回到TC的整合环境。结束 Turbo C按下Alt + X或按F10选File Quit便可结束Turbo C若你还有已编修尚未储存的
5、档案,TC会问你要不要存。IVerify -| NONAME.C not saved. Save?(Y/N)|要存就按Y ,不想存就按N o第二章C程序的结构 C程序的结构:第一列:#include 是用来定义一些函式的原型(prototype),数据结构(struct)或是常数(constant)。 C在使用变量之前,该变量都要先行宣告(declear)才可使用,而使用函式也是一样,必须先宣告它的原型才可以。宣告函式的原型是为了让C能在编辑时作数据的型别检查,以减少错误的发生。内建的函式原型定义都放在INCLUDE*.H中,用#include 就会将INCLUDEstdio.h这个档引含。s
6、tdio.h由档名可知道是跟标准输出入(standard I/O)有关,档内定义了档案输出入、屏幕输出、键盘输入等相关函式的原型、数据结构及常数。本例中的printf()就属于标准输出的函式。引含.h档并不会让你的执行档变大或是变慢,而且还能让编辑器作正确的型别检查,所以要养成写include的习惯。虽然在某些状况下,不加#include o所产生的执行档,一样可以正常的执行。第二列:main()main()就是主程序。程序在执行时,就是由这个函式开始执行。在C语言中,内定的型别是int ,所以原来的main()相当于是int main(int)在这里正确的写法应该是void main(voi
7、d),因为在这个简单的程序中,没有|口1传值,也没有输入参数。回传值,是指一个函式在执行后传回的数值。输入参数,是指一个函式可由参数决定执行的结果,这个部分在第八章中有详细的说明。第三列:第五列:在第三列及第五列之间,属于main()函式的程序代码。表示程序由此开始,表示程序到此结束。第四列:printf(Hello!);是本程序要求系统做动作的指令,称之为叙述。在C语言中,每一叙述都以分号(。做为结束。在这个程序中,利用缩排的方式,使程序的层次分明,增加可读性。在C语言中,调位字符(如:空白(space)、定位(tab)及换列字符)在编译时都会被忽略,所以可适时加入调位字符,使程序好看一点。
8、要注意的是,别把一个完整的个体拆开,如: main, printf等,这些字本身是一个完整的个体,不可予以拆开。而在各个个体之间,可以任意加入调位字符。 C语言中的英文字母是有分大小写的,printf()与PrintFO不同,内建的函式大多是小写的,你自己写的函式,则可以用大写来做区隔。 printf的功用printf()的功用是在屏幕上输出数据。在TC中,在编辑区内输入printf ,再将光标移到 printf这个字上,按下Ctrl + Fl就会看到以下Help画面:IHelp1这是 TC 的 Help 窗口1printf: formatted output to stdout1int pr
9、intf(const char *fbrmat,.);111- printf是将格式化的1数据输出到stdout-printf的语法I1Prototype in stdio.h1I -要用printf应该1I #include 的槽Print formats a variable number of arguments1-使用说明:不同的格式according to the format, and sends the output1须要不同的参数,这些to stdout. Returns the number of bytes output.I 数据会送到stdout。传In the even
10、t of error, it returns EOF.1回值是输出的byte数,11若发生错误则传回EOFSee alsoecvt fprintf putc1-可参考相关指令:puts scanfvprintfecvt,fprintf,putc,1puts,scanf,vprintf在用TC的整合环境中,只要将光标移到想进一步了解的指令或内建的函式上,按下Ctrl + Fl就可以叫出TC的Help说明窗口,得到该指令或函式的相关说明。printf 的语法:int printf(const char *format,.);其中const char *format指的是一个格式化的字符串。cons
11、t是常数的意思,在此表示 format这个字符串指针传入printf函式后,它的值不会被改变。.指的是不定参数,参数的数目取决于format字符串的内容,这些参数,通常是一些你要秀出来的变量。简单来说:printf(输出格式(含控制字符串),要印出的数据);在C语言中是用双引号()来引含字符串,也就是在双引号内的数据,是一个字符串。本章只介绍%d这个控制字符串,其它的控制字符串在第四章会讲到。%d表示以整数10进位的方式秀出数据。在输出格式(含控制字符串)内有几个d ,在要印出的数据内就要有儿个整数来对应。arith.c1#include 345678void main( void)print
12、f(u%d +%d =%dn;8,2,8+2);printf(%d -%d =%dnu,8,2,8-2);printf(M%d *%d =%dn,8,2,8*2);printf(M%d /%d =%dn8,2,8/2);8+2=108-2=68*2=168/2=4我们以第四列的叙述作说明:printf(%d +%d =%dnn,8,2,8+2);在输出格式(含控制字符串)内有3个d ,所以在要印出的数据的部分有8,2,及8+2三个整数对应,所以输出来的结果就是8+2=10在输出格式(含控制字符串)的最后有n符号,这是一个控制字符,表示要更换到下一列,其它的控制字符在第四章会提到。若将本例中的n
13、都删除,那秀出的结果会像这样子:8+2=108-2=68*2=168/2=4 C的四则运算计算机语言用的四则运算符号儿乎都是相同的:四则运算符号意义+加法4+26-减法(或代表负号)4-22*乘法4*28/除法4/22相关运算符号意义范例结果+变数值加1i-H-或+ii值加1变数值减1i-ii值减1%整数除法的余数4%20在书中提到C语言没有提供次方的功能,指的是在某些计算机语言可以用*表示次方,如:2*3,表示2的3次方;有的用“表示,如:2A 8,表示2的8次方。在C语言,没有运算符号可以表示次方,但是C语言有提供次方的函式:pow(), pow(2,3)表示2的3次方。一个式子如果有多个
14、运算的话,C是以先乘除后加减的方法来运算,当然我们也可以用括号()来改变这个法则,只要有括号,就优先运算。另外,在C语言内中括号及大括号是有其它的用途,所以在作数学运算时,只要用括号,就只能用小括号(),小括号可以多层,C在运算时,是由最内层开始运算。范例:(1+2*(3+4)*5-6*7/2+8=(1+2*(7)*5-6*7/2+8=(15)*5-6*7/2+8=75-42/2+8=75-21+8=62批注(Comments)通常老师会要求初学者在程序的每一列加上批注,这是为了让初学者知道自己在写些什么程序代码,了解为什么要这样写,而不只是照著书Keyin程序。写批注有助于自己了解程序的内容
15、,便于日后的修改。但写批注对于某些程序设计师而言可说是一种噩梦,因为写批注所花的时间可能会与写程序的时间相去不远,认为写批注只是在浪费时间。对一个相当好的程序设计师而言,也许写批注真的是浪费时间,因为好的程序代码本身就已经隐含了批注,这也是写程序相当高的境界。对一般的程序设计师而言,写一些批注还是比较好的作法,特别是某些程序代码是你花了一段时间才想到的特殊方法,加上一些批注,说明一下这个特殊的方法,以后要修改才能快速进入状况,否则,你可能会佩服自己当时是如何想到的这个方法,又再花一段时间才知道自己在写些什么程序代码。讲了这么多批注的正反面(正面居多)论调,在C语言中要如何写批注呢?只要用/*和
16、*/将你要的批注内容包起来就可以了。C在编译时,会将/*/内的数据略去,就如同调位字符一样。唯一的例外是:当/*/在一组双引号”内时,它们就属于这组双引号所包含的字符串。在C+语言中则可用当批注.comments.c or comments.cpp12345678910#include /* prototype : printf()*/ void main(void)/ main program (/*所有的程序代码都变成批注,所以这个程序目前是空的*/* printf(n%d +%d =%dnH,8,2,8+2);*/* printf(u%d -%d =%dnM,8,2,8-2);print
17、f(n%d *%d =%dn;8,2,8*2);printf(H%d /%d =%dn8,2,8/2);/ division*/ end of program巢状批注(Nested Comments)nestcomO.c1234567891011#include /* prototype : printf()*/void main(void)(/*这个程序必须把巢状批注的设定打开,才不会有错误*/*printf(M%d +%d =%dn;8,2,8+2);/* printfCd -%d =%dn;8,2,8-2);*/printf(M%d *%d =%dnu,8,2,8*2);printf(M
18、%d /%d =%dn*8,2,8/2);)上面的例子,有四组批注/*/,其中第三组及第四组的批注之间有部分重迭。想要Compile没有错误,必须第5列的/*与第10列的*/配,也就是第5列到第10列都是批注;另外第7列的/*与第7列的*/配,也就是第7列是批注。这种批注方式,我们称之为巢状批注。TurboC内定是不可使用巢状批注的,上面的例子会是第5列的/*与第7列的*/配,结果在第10列的*/会变成是多余的,造成Compile错误。打开巢状批注的方法:按下 F10 f Options f Compiler -* Source f Nested comments Off 将Off设为On就可
19、以了。巢状批注的使用时机在前面的例子只是为了说明巢状批注,也许你会觉得这样的用法是自找麻烦,但是以下的例子,你就会认为有巢状批注的功能还是比较好的。在nestcoml.c中,每一列的printf();后面都加上了批注。若要把这几列程序变成批注,不使用巢状批注,就会像nest8m2.c 一样,必须在每一列的printf();前后再加上/*/,若是使用巢状批注,就像nestcom3.c 一样,只要在这儿列的前后加/*/就可以了。nestcoml.c1 | #include /* prototype : printf() */*这个程序在每一个叙述后都加上了批注*/45678910void main
20、(void)printf(%d +%d =%dn,8,2,8+2);/*8+2=10*/|printf(%d -%d =%dn,8,2,8-2);/*8-2=6*/|printf(%d *%d =%dn,8,2,8*2);/*8*2=16*/|printf(%d /%d =%dn,8,2,8/2);/*8/2=4*/|11 I | nestcom2.c1 |#include /* prototype : printf()*/2 | void main(void)3 I 4 |/*这个程序不用把巢状批注的设定打开,也不会有错误*/5 I6 |/* printf(%d +%d =%dn,8,2,8
21、+2);*/*8+2=10/|/* printf(u%d -%d =%dnM,8,2,8-2);*/*8-2=6*/* printf(n%d *%d =%dn,8,2,8*2);*/*8*2=16*/* printf(n%d /%d =%dn;8,2,8/2);*/*8/2=4*/nestcom3.c#include /* prototype : printf()*/void main(void)/*这个程序也必须把巢状批注的设定打开,才不会有错误*/*printf(%d +%d =%dn,8,2,8+2);/*8+2=10*/|printf(%d -%d =%dn,8,2,8-2);/*8-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 学会 语言

限制150内