热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言学习:如何由dos向windows转变

C语言学习:如何由dos向windows转变--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
  很多人学C语言很长一段时间了,还不知C究竟能干什么,以为学习c语言没什么用,纯粹是为了应付学校的考试.更有人说"学C语言?别做如此愚蠢的行为了!赶快学C++吧!"这种看法是不对的,不应该把c跟c++之间划起绝对的界限,过分看重c++而把c贬得一无是处,这是很片面的.C++功能虽然强大,但它毕竟是c的"超集",在c++里有哪一处找不到c的影子呢?没有c的支持,c++只能是无本之木。

  一般情况下,c++编程方式编写的程序源代码量小,但编译后的代码量较大,运行的速度略低,不过开发时的工作量和工作难度较小;而c编程方式编写的源代码量较大,但可执行的效率高.如果一些对速度要求高,尤其是对硬件操作较多的程序,大多数还是用c编程方式开发的(用C又比用汇编简单,易于实现).另外,学Win32 C程序设计还有助于更深入地了解Windows 的内幕和Win32 API。

  任何的编程语言都是一种工具,学习语言的目是要使用它来编写出实际需要的软件来,而软件作为一个用户程序,运行时要依赖操作系统,大多数人使用什么操作系统,我们就要编写出基于哪一种平台上的程序来.这样,软件才会有更大的市场。

  现在市面上出现的有关c语言方面的书大多是教授DOS下的c,上机实习也是在Turbo C 2.0(简称Tc)环境下转来转去.编程环境的单调总使人感到不爽.这也没办法,dos 下的c是最简单的,初学者当然要从最简单的入门啦.连比较有名的计算机专家谭浩强编的书也都是赞成从dos下的c学起的.再说,一个刚刚入门的人想在windows 这样的多进程,多线程的操作系统下用c编程,那似乎又不太现实.(那要了解在windows下,一个win32程序大体上是怎样执行的.要对系统有比较多的了解才行,一个初学者暂时还不具备那么多的知识)但我们的脚步又不能够只停留在dos里,应该积极地从dos向windows转变.在dos的时代,我们可以对dos下的编程迷恋,但现在都是windows横行霸道的时代了,我们就应用c语言编写windows平台上的程序,因时而变,学以致用.是时代使然!如果现在还是dos雄霸天下的话,那我就不会写这篇狗屁不通的文章来遗笑大方了,不被臭鸡蛋扔死才怪呢!

  "变法"是大势所趋的了,关键是怎么变,不单单是学习c语言的人如此,就连学c++的人都这样,笔者曾经在QQ上碰到一个学了c++将近一年的小伙,居然问我,他想编一个windows窗口,该怎么下手,如果学一门语言用了一年时间,只是学了一点语法知识,却没有编过一道程序,那实在是一种悲哀.下面我谈谈从dos向windows转变的一些个人见解,(这纯属个人观点,仅供参考,如果您已是高手,完全不必要在此浪费时间):

  一.拓宽视野,改变偏见

  别老以为c只是dos特有的东西,一提到c语言就认为c只能在dos下编程.其实,这是被tc束缚了意识,我们在学校里平时就只在dos的tc里面用c编程,很少用到"图形模式",整天面对?quot;乌黑黑"的屏幕,也难怪有些人一看到一个用c语言描绘出来的像windows的窗口便以为是c++的手笔.其实,作为一种语言,可以在任何一种平台上编程,只是接口不同而已,只要找到适合该平台的编程工具即可,c语言当然也能在windows下大放异彩.眼界放宽点,改变偏见,必有精彩发现.

  二.选择优秀的编程工具.

  “有好的工具,做起事来就事半功倍”.在dos下我们常用tc或bc(borland c).在windows下可以用c++builder 或者visual c++ 来编程,最好用visual c++ 毕竟是微软的东西嘛!微软一天不垮台,编程者的饭碗就不会掉的啦 ^_^ .再说,windows操作系统是微软出的,其内幕微软是最清楚不过的了,在应用程序接口上,相信vc也是做得最好的.不过用vc++6来编c程序会恨烦的,大家要有心理准备.同时可以选择多种编程工具,例如汇编,可以加强对windows的了解,是成为高手的好方法。

  三.加强对windows的了解.

  可以说编一个程序,就是用一种语言的语法形式将数据结构和表面的执行过程描述出来.在不同的操作系统下,其程序的执行过程是不同的.我们应该对windows的系统机制最起码有个大体的了解,才有可能编写windows的程序.dos是单进程单线程的系统,进程从头到尾的顺序执行,而windows是多进程、多线程的操作系统,是基于事件的,消息驱动的操作系统.明白这些是在windows下编程必不可少的,多学学它,你会发现windows 和 dos有很多的不同之处。

  四.采取灵活多变的学习方法.

  在不同的时期,学习不同的东西?可是有些人学习像word,excel这类操作性极强的办公软件时,总是先看书,看到尾巴忘了头,到上机时却不知所措.这种学习方式是被动的,看这些软件操作的书,里面说的都是具体的操作,不亲手又怎能接受新知识?

  五.多进行比较.

  dos和windows有许多共同和不同的地方,如果是从dos学过来的话,在学习过程中不妨多进行比较,把不同的地方记下,相同的地方可以跳过,这可以快速地了解系统的不同之处,迅速地学到东西!

  学习程序设计,我主张"实践->理论->再实践"的方式,在编程的初期,不管你会不会写程序,都应先实践,(这里的实践是指编程工具操作方面的实践),学会操作编程工具.也许有些人会说:"废话!没有理论,又怎么实践?"不错,当你坐在一台电脑面前不知所措时,你就会想方设法使自己学会操作它,主动看书,看联机帮助,请教别人,忙得个"不亦乐乎",这不是变"被动"为"主动"了吗? 边学习边操作,以实践来带动理论的学习,接着达到"理论与实践同步",就可闯过第一关,学会了编程工具的基本操作,可以为以后上机实践打下铺垫.

  光学会操作像vc这类的工具还不行,工具是死的,人才是活的,不会编程只能是空操作,你还会说:"废话!没有理论,怎么实践?"的,这时就要学习编程的真功夫了,也就是我说的第二阶段--学"理论"阶段,深入研究前辈们的著作,吸取前人的智慧精华为我所用,扎扎实实打好编程内功,功夫到家了就应该"再实践",将学到的东西运用于实际,编写出我们需要的软件来.学以致用嘛,呵呵~~这种方式总比"先学好语法的条条框框,再上机实践"的效果好得多啦.

  关于向windows转变的个人观点就只谈这些,希望初学者早日踏上windows的光明大道!由于我也是一个菜鸟,水平有限,写得不好,还请各位多多包涵!
推荐阅读
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 如何在联想win10专业版中修改账户名称
    本文介绍了在联想win10专业版中修改账户名称的方法,包括在计算机管理中找到要修改的账户,通过重命名来修改登录名和属性来修改显示名称。同时指出了windows10家庭版无法使用此方法的限制。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • win10系统搭建Java开发环境的操作方法
    本文介绍了win10系统搭建Java开发环境的详细操作方法,包括下载Windows10系统和Java SE,安装Java开发环境,设置变量等步骤。操作简单,只需按照指导进行即可。 ... [详细]
  • 字符常量与变量的定义及使用方法
    本文介绍了字符常量与变量的定义及使用方法,包括字符常量的定义、值和转义字符的表示方法;字符串常量的定义和结束标志;字符型数据与整型数据的区别;字符型变量的定义和内存占用;字符串变量的运算方法。同时提醒注意字符串常量不可赋值给字符型变量,需使用数组或指针进行存取。 ... [详细]
author-avatar
全球时_尚热门焦点吧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有