谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么自学C语言是一件非常容易且又其乐无穷的事。今天本人就与大家一起谈谈如何学习C语言或者说学习C语言应从哪几方面着手。
了解一些基本知识
一。C语言的背景
就个人感触,无论学习哪门语言首先应该了解一下自己所学语言的背景,也可以说它的发展史。
C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗。W.卡尼汉和丹尼斯。M.利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX.1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。C语言的优点很多,主要的有如下四点:
1.兼备高级语言与低级语言的优点,属于一种中间语言。
2.它是一种结构化程序设计语言,非常适合结构化程序设计。
3.有较丰富的数据类型、运算符以及函数供以选用。
4.直接与内存打交道,使修改、编辑其他程序与文档变得轻松,简单。
二。二大语系二种不同的学习方法
笔者学习过很多程序语言,例如:C,C++(C语言的扩展),QBASIC,VB(BASIC的可视化),JAVASCRIPT,JSCRIPT ,VBSCRIPT,JAVA,ASP,FOXPRO,PERL等等,就本人实践所得,其实高级程序语言分为两大语系。一路是以C为主的程序语言,例如:JAVASCRIPT,JAVA等,这类语言在函数的调用,程序语句的书写,循环的控制都极为相似。另一路是以BASIC为首的程序语言,例如:FOXPRO,VBSCRIPT等,此类语言同样具有相似的函数调用,程序语句书写以及循环控制,但与C语系是不同的。因此若是您以前是从QBASIC起家的,那么在学习C语言前最好是先洗洗脑,千万不要把学习BASIC的方法以及思路用在C身上。
讲到这里,我想大家对C语言一定有了感性认识吧!下面让我们再升华一下,全方位亲密接触它。学习C语言必须从以下四点入手,也就是说,只要你能掌握这四点的内容,那么基本上就大功告成了。
# include "stdio.h" /*定义头文件或说包含文件*/ main(argc,argv) /*定义带参数的主函数*/ int argc; /*定义参数类型*/ char *argv[]; /*定义第二参数类型*/ { FILE *fp1,*fp2,*fp3; /*定义文件指针*/ char a,b; /*定义字符变量*/ if((fp1=fopen(argv[1],"r"))==NULL) /*打开第一的注册表备份文件,如果不存在则跳出程序并显示 “The file don`t open!”*/ { printf("The file don`t open!"); exit(0); } if((fp2=fopen(argv[2],"r"))==NULL) /*打开第二的注册表备份文件,如果不存在 则跳出程序并显示 “The file don`t open!”*/ { printf("The file don`t open!"); exit(0);} if((fp3=fopen(argv[3],"w"))==NULL) /*建立新的文本文件,用于存放比较结果。*/ {printf("The file don`t open!"); exit(0);} rewind(fp1); /*规定文件指针fp1指向第一个注册表文件头部*/ rewind(fp2); /*规定文件指针fp2指向第二个注册表文件头部*/ while(!feof(fp1)||!feof(fp2)) /*开始比较*/ { a=fgetc(fp1); /*读取第一个注册表文件内容并赋予给字符变量a*/ b=fgetc(fp2); /*读取第二个注册表文件内容并赋予给字符变量b*/ if(a!=b) fputc(b,fp3); /*字符变量a与b不相同的话,那么把不同之处写入新建的文本文件中*/ if(feof(fp1)) fputc(b,fp3); /*如果第一个注册表文件已经读完,第二个文件还有未读取部分, 那么把第二个文件的剩余部分全部写入新建文件中*/ if(feof(fp2)) fputc(a,fp3);} /*如果第二个注册表文件已经读完, 第一个文件还有未读取部分,那么把第一个文件的剩余部分全部写入新建文件中*/ fclose(fp1); /*关闭第一个注册表文件*/ fclose(fp2); /*关闭第二个注册表文件*/ fclose(fp3); /*关闭新建文件*/ } |