为什么国内大学普遍把c语言作为程序设计的入门课程?

课堂上学到的c语言本身就是很简单的,在国内大学的c语言课堂上你很难学到真正做项目的能力,所以他们提出可以上手学习做一些c语言工程,我认为学习做项目的能力很重要,但是有些回答给的是做游戏,做窗体的项目,我倒不是很赞同。

国内大学普遍把c语言作为程序设计的入门课程,甚至我大一的时候那门课程的名字就不叫c语言,而是叫《程序设计基础》,其实意义很明白了:老师根本没指望你学完能用c语言做多么厉害的东西,他是希望你学会程序设计,而不只是c语言。至于做工程,其实c++,java都比c语言要好,除了底层计算机系统、嵌入式、物联网这些偏硬件的方向其他方向需要你用c语言做工程的方向其实少之又少,哪怕是嵌入式、物联网等方向写进单片机的程序其实也普遍比较简单,更需要补的是硬件知识和掌握各种API,而写底层系统你还要学的东西就实在是太多太多了。所以我依旧认为你把课堂上老师教你的内容学会了,入了编程的门就够了,更多高大上的复杂的东西你以后会发现普遍不是用c语言写的,你现在去学用c语言写窗体,写小游戏你以后会发现其实人家都在用Qt,c#,java这些,写的比你快还比你好,你学了也用处有限。

确实有余力可以选一门应用更广泛的语言继续学习,与c语言相互印证,或者想学习做项目的话,学一学单片机,自己做个呼吸灯,电子钟,温度显示器,指纹锁,收音机之类的,淘宝上买个可编程机器人与其他传感器组合实现一些自动寻迹,目标识别啥的功能,都很有意思,这才是目前c语言在工业界比较普遍的应用,写游戏写客户端写后台啥的早就是其他语言的主战场了,没必要空耗太多功夫。

先上结论,因为c语言只是最最基础的工具。c语言与编程的关系就像学会写汉字与写小说的关系,其实我觉得如果你以后的目标是自己开发出像微信、QQ、淘宝、抖音等等那种面向普通用户的大型程序的话,说c语言是拼音都不为过。

开始时候也觉得c语言天天就只是做一些没什么用的数学题很没意思,后来学习了其他语言和计算机相关知识后我发现其实学校教我们c语言的主要目的可能根本就不是叫我们用c语言开发出多么厉害的程序,而是以下这些目的:

①带你接触一种很多主流计算机语言都遵循的语法。

很多主流计算机语言(像c++,c#,java)都遵循了c语言的分号换行,大括号标记代码段,循环条件和if判断条件用小括号括起来,数组索引用中括号括起来等基础语法,以及特殊一些的js,Go,python也部分遵循了这些语法。这些习惯以后会伴随你敲的每一行代码,有的甚至老程序员了都会漏掉分号或者半边大括号,所以早点带你习惯这种语法是很重要的。

②带你接触编程常用概念。

c语言中的常量,变量,类,结构体,函数,循环,分枝判断等等都是大多数语言依旧在使用的概念,这些概念在程序中无处不在,在任何一门语言的学习中你都要先学习这些概念。

③带你熟悉程序员的思维方式。

举个最简单的例子,你在现实中如果要按照高挨个站队你会怎么做?这就是一个排序问题,程序员是怎么解决这个问题的?反正我学习了排序之后才意识到自己站队一般是用选择排序和插入排序的方法,而冒泡排序,归并排序,快速排序,堆排序等等算法其实应该是数学家或者程序员特有的考虑问题的方法,一般人很少接触到,还有递归和迭代,是最典型的数学家或者程序员的思维方式:把一个问题简化成我解决过的问题,不断简化下去得到最终的解。这种思维方式将会伴随你一生,哪怕你不做程序员了也会用得到。

④带你初步认识计算机的工作原理。

c语言是最贴近计算机底层的高级语言,特别是c语言中最令初学者困惑的指针和内存分配直接揭示了程序在计算机中的运行过程,其实你以后学到c++和计算机组成原理、汇编语言的时候就会更进一步理解为什么c语言里是那么设计的,熟练的c语言程序员看到一行代码就能知道执行完这行代码在内存里发生了什么,这在以后任何语言的debug中都是很重要的,你要知道你的每一行代码在做什么。

⑤带你学习写代码、编译、调试、运行的过程

这个想必我也不用多说,你以后学习任何一种计算机语言都离不开这几个步骤,只是有的可能把编译的过程隐藏起来了不给你看见。

最后,上面这些也只是我的一点总结,并不代表老师们的真实意图,我也还只是接触了计算机知识中的冰山一角,大概说的很不全面,也欢迎补充、指正。以及题主如果确实想急于做一些有意思看起来比较高大上的项目的话,可以去图书馆找找一些名叫“c语言项目实战”、“XXX项目实战(基于c语言)”、“c语言游戏编程”等等这样的书(不一定就是这些名字,我也没看过这些书),或者直接去学习python吧,刚学完c语言学习python应该会很快,在学习的过程中还能和c语言互相印证,然后你就可以借助python语言中的一些开源库做很多高大上的工作了,但我还是建议你学好c语言基础,因为那是你以后学习其他语言的一把钥匙。

每周一书《C语言程序设计:现代方法(第2版)》分享

内容简介

Content validity

时至今日,C语言仍然是计算机领域的通用语言之一,但今天的C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了C99标准,并与C89标准进行对照,补充了C99中的*特性。

本书分为C语言的基础特性、C语言的高级特性、C语言标准库和参考资料4个部分。每章末尾都有一个“问与答”小节给出一系列与该章内容相关的问题及答案,此外还包含适量的习题。本书是为大学本科阶段的C语言课程编写的教材,同时也非常适合作为其他课程的辅助用书。

作者简介

About the authors

K. N. King 世界知名的计算机程序设计教育家,现为佐治亚州立大学数学与计算机科学系副教授。他拥有耶鲁大学计算机科学硕士学位,加州大学伯克利分校计算机科学博士学位,曾任教于佐治亚理工学院。除本书外,他还撰写了广受欢迎的著作Modula-2: A Complete Guide 和Java Programming: From the Beginning,并在Dr.Dobb\’s Journal等权威杂志上发表了许多文章。业余时间,King教授还在多部电影中扮演过角色。

编辑推荐

Editor\’s recommendation

C语言的经典之作“近10年来*好的一部C语言著作”讨论了标准C和C标准库的全部特性强调软件工程和现代编程理念突出工业界的**实践、实际经验和编程风格已被包括哈佛大学、麻省理工学院、斯坦福大学等全球200多所学校采用为教材。

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本公众号不拥有所有权,也不承担相关法律责任。如果您发现本公众号中有涉嫌抄袭的内容,欢迎发送邮件至:chenyue@tianbo.com.cn 进行举报,一经查实,本公众号将立刻删除涉嫌侵权内容。

书籍资源请微信搜索关注“中科院计算所培训中心”公众号,添加公众号上的微信客服索取。

一周教你学会基本的C语言程序设计

今天教给大家基本的C语言程序设计,本文用到的是cfree5.0编辑软件,电脑可以到官网下载

下载地址:()

C语言代码要运行成功必须包括:头文件+主函数

一般的函数都包括在<stdio.h>这一个头文件中std:standard、i:input、o:output连起来的意思是标准输入输出

下面为大家演示输出函数printf、输入函数scanf

利用C语言输出函数printf,打印“hello world!”

代码如下:

#include <stdio.h>

int main()

{

printf(\”hello world!\\n\”);

return 0;

}

printf函数可以将输入的内容输出

输入3+5,结果输出8

#include <stdio.h>

int main()

{

int a,b;

scanf(\”%d %d\”,&a,&b);

printf(\”%d\\n\”,a+b);

return 0;

}

若是大家感兴趣,还会继续更新C语言程序设计基础内容,谢谢大家!

此外代码可以直接复制到编译软件运行!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。