您的位置  > 互联网

怎样学习C语言(J#,perlperlC)

很多人对学习C语言感到困惑,经常问我同样的问题:如何学习C语言? 我是一名教师,开发程序已有多年。 和很多刚入门的人一样,我学的第一门计算机语言是C语言。 经过这些年的发展,我深刻地认识到C语言对于一个程序员来说是多么的重要。 如果你不懂C语言,想要编写低级程序听起来几乎是可笑的。 如果不懂C语言,想要写出优秀高效的程序,这简直是天方夜谭。 为什么C语言如此重要?

第一:C语言的语法结构非常简洁精致,写出的程序也非常高效,很容易描述算法。 大多数程序员都愿意用C语言来描述算法本身,所以如果你想在编程方面有所建树,就必须学习它。

第二:C语言可以让你深入系统底层。 你知道哪个操作系统不是用C语言编写的? 所有 Unix、Linux、Mac 和 os/2 的内部或外部都不相同。 如果你不懂C语言,你怎么能深入这些操作系统呢? 更不用说你还得写他们的内核程序了。

第三:很多新语言都是由C语言衍生出来的,C++、Java、C#、J#、perl...哪一种不是? 一旦你掌握了C语言,就可以说你掌握了很多语言。 经过简单的学习后,您就可以使用这些新语言进行开发。 这再次验证了C语言是编程的重要基础。 另外,我再说一件事:即使现在招聘程序员,考试也都考C语言。 想要进入IT行业,就必须掌握好C语言。

那么如何学习C语言呢?

1:工欲善其事,必先利其器

学习C语言需要注意以下几点:

.0等开发环境曾经占据了DOS时代的大部分开发程序。 但在当今时代,使用Turbo? 推荐使用C++。 虽然这个东西比较笨重,但是一旦安装起来,使用起来还是非常方便的。

一个学习教程。 现在C语言教材那么多,但我推荐大家用清华大学出版社谭浩强主编的《C语言程序设计》第二版。 这本书非常适合初学者,内容也很精辟。

另外,还有很多辅助学习的软件。 毕竟我们处在这个时代。 学习软件有很多。 这不像以前我们只通过阅读和做题来学习。 我向大家推荐一个《集成学习环境(C语言)》。 知识点总结和常规讲解都很好。 还有题库测试环境。 据说有上千道题,甚至还有一个trubo?C,初学者甚至不用安装其他编译器就可以练习编程,非常适合初学者。 还有一个“C语言学习系统”软件,但感觉只是一个题库系统。 如果你觉得题目还不够,不妨一试。

2:向日葵系列

学习计算机语言的最佳方法是什么? 答案是:读程序。

是的,阅读程序是学习C语言最快、最好的方法。 就像我一样,在学习新的J#、C#等语言时,我不再拿着书逐行阅读,而是学习他们的套路。 当然,对于从未学过任何计算机语言的初学者来说,最好先看一下教程。 学习完每一章后,你必须仔细理解本章中的所有概念,然后不要错过本章中提到的所有示例。 程序,然后仔细阅读程序,直到理解每一行,然后找几道编程题,最好是与例程类似或相同的,尝试写出你已经理解的程序。 不要认为这对你来说是例行公事。 一旦理解了它,您就可以编写相同的程序。 这是绝对不确定的。 如果你不相信,就试试吧。 如果你写不出来,也不用担心。 回去继续研究套路。 想想你自己吧。 为什么写不出来呢? 然后一遍又一遍地编写这个程序,直到完成为止。 恭喜你,你已经快要开始了。

3:达到顶峰

写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。 ?

编写低级程序会让你成为编程大师吗? 不,编写底层程序无非就是掌握硬件的结构,而硬件又不同于硬件。 写一个芯片的驱动程序,无非就是掌握芯片的各个寄存器及其组合,然后进行数值的写入和读取。 ,仅此而已。 这只是熟悉一些io函数而已。

那么,怎样才能精通编程呢? 一个人怎样才能精通编程呢? 例如:你前面有10个人,你找到一个叫“张三”的人,你该怎么办? 第一种方法:直接问这10个人:“张三是谁?” 方法二:你问每个人“你是张三吗?” 直到你问的人是张三。 第三种方法:去一一问每个人:“你认识张三吗?指给我看。” 不要低估这个问题。 当然你说你会选择第一种方法。 是的,恭喜你的答案,因为这种方法是最快、最有效的。 然而,在编程中,寻找解决问题的最优方法和你所使用的手段是不同的。 它是考验一个程序员编程水平的重要标志,而且不容易达到。 刚才的问题和数据结构和算法中的问题类似:Map数据结构、穷举搜索和二分搜索。 因此,掌握数据结构和一些常用算法是登顶的必然之路。

经典C语言编程100个实例1-10

【程序一】

问题:有 1、2、3、4 个数字。 可以组成多少个不重复的不同三位数? 他们有几个人?

1、程序分析:百位、十位、个位可填的数字均为1、2、3、4。将所有排列组合好后,

去掉不满足条件的排列。

2、程序源码:

主要的()

整数 i,j,k;

(“\n”);

对于(i=1;i

对于(j=1;j

对于 (k=1;k

if (i!=k&&i!=j&&j!=k)

("%d,%d,%d\n",i,j,k);

【程序2】

主题:企业发放的奖金以利润提成为基础,当利润(一)小于或等于10万元时,奖金可增加10%; 如果利润高的话

金额在10万元以下、20万元以下时,10万元以下部分按10%收取佣金。 10万元以上部分收取佣金。

佣金为7.5%; 20万元至40万元之间,20万元以上部分按5%收取佣金; 40万元至60万元之间,佣金为5%

40万人民币部分,可获得3%的佣金; 60万元至100万元的部分,60万元以上部分可获得1.5%的佣金。

金额超过100万元时,超过100万元部分按1%收取佣金。 从键盘输入该月的利润 I。 应支付的奖金总数是多少?

1、程序分析:请用数轴划分定位。 注意定义时bonus需要定义为整数。

2、程序源码:

主要的()

长整数我;

int ,,,,,奖金;

scanf("%ld",&i);

=*0.1;=+*0.75;

=+*0.5;

=+*0.3;

=+*0.15;

如果(i)

{t=z;z=x;x=t;}

如果(y>z)

{t=y;y=z;z=t;}

("从小到大:%d %d %d\n",x,y,z);

-------------------------------------------------- --------------------------

【程序6】

问题:使用*号输出字母C的模式。

1、程序分析:可以先将字母C写在纸上,并附上“*”号,然后分行输出。

2、程序源码:

#“stdio.h”

主要的()

(“你好C世界!\n”);

(“****\n”);

(“*\n”);

(“*\n”);

(“****\n”);

-------------------------------------------------- --------------------------

【程序7】

问:输出一个特殊的,请在c环境下运行看看,非常!

1、程序分析:共有256个字符。 不同的角色有不同的图形。

2、程序源码:

#“stdio.h”

主要的()

字符a=176,b=219;

("%c%c%c%c%c\n",b,a,a,a,b);

("%c%c%c%c%c\n",a,b,a,b,a);

("%c%c%c%c%c\n",a,a,b,a,a);

("%c%c%c%c%c\n",a,b,a,b,a);

("%c%c%c%c%c\n",b,a,a,a,b);}

-------------------------------------------------- --------------------------

【程序8】

问题:输出9*9的公式。

1.程序分析:考虑行和列,总共9行9列,i控制行,j控制列。

2、程序源码:

#“stdio.h”

主要的()

整数 i,j,;

(“\n”);

对于 (i=1;i

{ for(j=1;j

=i*j;

("%d*%d=%-3d",i,j,);

(“\n”);

-------------------------------------------------- --------------------------

【程序9】

标题:请求输出棋盘。

1、程序分析:用i控制行,j控制列,根据i+j之和的变化来控制黑色方块或白色方块的输出。

2、程序源码:

#“stdio.h”

主要的()

整数 i,j;

对于(i=0;i

对于(j=0;j

if((i+j)%2==0)

("%c%c",219,219);

别的

(“”);

(“\n”);

-------------------------------------------------- --------------------------

【程序10】

主题:打印楼梯并在楼梯顶部打印两个笑脸。

1、程序分析:用i控制行,j控制列,j根据i的变化控制输出黑色方块的数量。

2、程序源码:

#“stdio.h”

主要的()

整数 i,j;

(“\1\1\n”);

对于(i=1;i

for(j=1;j='a'&&c='A'&&c='0'&&c