zoukankan      html  css  js  c++  java
  • C 语言——开篇

    一. 使用C语言的理由

    (一)优点

    1.强大的控制及结构

    c是一种具有控制特性的现代语言,其设计使得用户可以自然的采用自顶向下的规划、结构化的编程,以及模块化的设计,使得编写出的程序更可靠、更易懂;

    2.高效、灵活性

    c程序往往很紧凑且运行速度快,表现出通常只有汇编语言才具有的精细控制能力,您可以细调程序以获得最大速度或最大内存使用率;

    3.可移植性

    c是一种可移植语言,较其他语言处于领先地位。在一个系统上编写的c程序经过很少改动或不经修改就可以在其他系统上运行,若修改有必要,则通常只需改变伴随主程序的一个头文件中的几项内容即可;

    4.面向编程人员

    c面向编程人员的需要。它允许您访问硬件,并操纵内存中的特定位。它具有丰富的运算符,使得您能够更加自由的表达自己的意图。因此,它更加灵活和自由,这是一种优点,也是一种危险。

    多数c实现都有一个大型的库,其中包含有用的c函数。这些函数能够处理编程人员通常会面对的许多需求。

    (二)缺点

    c在表达方面的自由会增加风险。尤其是c对指针的使用,您有可能会犯非常难以追踪的编程错误。

    c的简洁性与其丰富的运算符相结合,使其可能会编写出极难理解的代码。

    (当然,c还有许多优点,同时,c也存在缺点。我们还是在以后的学习当中进行深入讨论吧!)

    二.使用c语言的7个步骤(这是理想化的,在实践中,您可能需要做一些反复工作,用后一步骤中所了解到的内容来改进前一个步骤)

    (一)定义程序目标

    在开始时,您应对希望程序做什么有一个清晰商务想法。考虑程序所需要的信息、程序进行的计算和操作,以及程序应该向您报告的信息。这个阶段中,您应该用一般概念来考虑问题,而不是一些具体的计算机术语。

    (二)设计程序

    对程序有一个概念性的认识后,您应该决定程序如何完成它,用户界面应该是什么样的,程序应该如何组织,目标用户是谁,您有多长时间来完成这个程序?

    您还需要确定在程序中(或者辅助文件中)如何表示数据,以及用什么方法来处理数据。刚开始时,您的选择将是简单的,但您以后处理复杂的情况时,您会发现这些决策需要更多的思考。这里,也应该用一般的概念来考虑问题而不是具体的代码。但您的某些决策要取决于语言的一般特征。

    (三)编写代码

    这个阶段是您真正需要用到c知识的的地方。您可以在纸上勾画您的想法,最终将代码输入计算机中。同时,您可以添加相应的注释,使得程序更加具有易读性。

    (四)编译

    c语言是需要编译的语言,这就需要特定的编译器和相应的编译环境。编译器是一个程序,其工作是将源代码转化为可执行代码,而且还检查的您的程序是否为有效的c语言程序。若发现错误,则将错误报告给您,不生成可执行文件。理解特定编译器的报错信息不可或缺。

    (五)运行程序

    (六)测试和调试程序

    程序可以运行是一个好的迹象,但它可能运行的不正确。因此,您应该进行检查,看程序是否在做要做的事情。您可能会发现一些BUG,调试就是要发现并修正程序错误。当您成为本领更强、技艺更精湛的程序员时,您的错误也会变得更严重而且不易察觉。但这并不是不可救药,编译器可以找出多种建议,您也可以做一些事情追踪编译器未能找到的错误。

    (七)维护和修改程序

    或许存在一个较小的BUG,仅在有人输入以Zz开头的名字时该错误才显示出来,或许您想到一个更好的方式完成某件事,或许您想添加一个高明的新功能,或许您想改编该程序在其他系统上运行。。。

    如果您对程序作了清楚的文字注释并采取良好的设计做法,那么这些任务将会大大简化。

    (八)总结

    编程工作通常不想上面讲的过程那样是一条线,有时您必须在不同步骤之间来回反复。例如,当你编写代码时,可能发现您的计划是不切实际的。您可能会看到一个更好的实现方式,或者在程序运行后,让你有了改变该设计的想法。

    养成在编写代码前先进行规划的习惯,使用笔记来大略记下程序的目标,并勾勒出设计概貌,将会为您节省大量的时间。

     

    三.编程机制

    保存源代码文件时,其名称需要以.c结尾:例,wordcount.c,小点前为基本名,小点后为扩展名,组合在一起为文件名。

    c编程基本策略是使用程序将源代码转换为可执行文件:编译、链接。编译器将源代码转化为中间代码,链接器将中间代码和其他代码相结合来生成可执行文件。中间文件形式有多种选择,最一般的形式是:目标代码文件(包含机器语言代码,但还不能运行),链接器再将其与系统的标准启动代码和库代码结合,生成可执行文件。对于库代码来说,链接器只从库中提取您使用的函数所需要的代码。

     

    四.其他

    显示程序执行的窗口在程序终止时突然消失,可以在return语句前,添加一行:

    getchar();

     

    该行读取一次按键,程序将暂停直到按下【Enter】键时。

    若有一个等待按键的指令,则需要两次:

    getchar();
    getchar();

    例如:您需要输入数据并按【Enter】键以输入数据时。程序将读取数据,第一个getchar()将读取【Enter】键,第二个getchar()将导致程序暂停,直到再次按下【Enter】键。

  • 相关阅读:
    djinn:1 Vulnhub Walkthrough
    面试题:HTTP协议工作原理
    面试题:URI和URL的区别
    面试题:http和https的区别?什么是http无状态协议?什么是本地存储?
    Vue+Element 踩坑记录
    面试题:Vue的生命周期
    面试题:组件封装
    面试题:vuex
    面试题:callback
    面试题---华为机试在线训练:字符串最后一个单词的长度
  • 原文地址:https://www.cnblogs.com/mutouyky/p/8279001.html
Copyright © 2011-2022 走看看