《21天学通C语言(第6版•修订版)》一1.7 问与答

1.7 问与答

21天学通C语言(第6版•修订版)
问:如果要将自己编写的程序提供给别人,应提供哪些文件?

答:C语言的优点之一是,它是一种编译型语言。这意味着对源代码进行编译后,将得到一个可执行程序——一个独立的程序。将hello提供给所有有计算机的朋友是完全可能的,您只须将可执行程序hello.exe提供给他们即可。他们不需要源代码文件hello.c和目标文件hello.obj,也不需要C编译器。但获得可执行程序的人必须拥有和您同类型的机器,如PC、Macintosh、Linux机器等。

问:创建可执行文件后,还需要保留源代码文件(.c)和目标文件(.obj)吗?

答:如果删除源代码文件,则以后将无法修改程序,因此应该保留该文件。目标文件的情况则不同,保留目标文件是有原因的,但这超出了您现在应该考虑的范围。就现在而言,一旦删除可执行文件后,便可以将目标文件删除。如果需要目标文件,可以重新编译源代码文件。

大多数集成开发环境都会创建除源代码文件(.c)、目标文件(.obj或.o)和可执行文件之外的其他文件。只要保留了源代码文件(.c),便可以重新创建其他文件。

问:如果编译器自带了编辑器,必须使用该编辑器吗?

答:完全可以不用。您可以使用任何编辑器,只要它能够以文本格式保存源代码。如果编译器自带了编辑器,应尽可能使用它。如果您要使用其他的编辑器,当然,也可以。作者使用的是一个单独购买的编辑器,虽然所有的编译器都自带了编辑器。编译器自带的编辑器越来越好,其中的一些能够自动格式化C语言代码,其他的一些则使用不同的颜色来显示源代码文件的不同部分,使得查找错误更容易。

问:如果只有C++编译器,而没有C编译器,该如何办?

答:正如今天的课程中指出的,C++是C语言的超集。这意味着可以使用C++编译器来编译C程序。大多数人在Windows环境下使用Microsoft’s Visual C++编译其C程序,在Linux和UNIX环境下,则使用GNU的编译器。

问:可以忽略警告消息吗?

答:有些警告并不会影响程序的运行,但有些会。编译器显示警告消息表明有什么地方不正确。大多数编译器都允许用户设置警告等级。通过设置警告等级,可以只显示最严重的警告或显示所有的警告(包括最微不足道的)。有些编译器甚至提供了各种中间等级。应查看程序的每个警告,并对其做出判断。程序最好没有任何警告和错误(有错误时,编译器将不会创建可执行文件)。

时间: 2024-09-13 21:19:00

《21天学通C语言(第6版•修订版)》一1.7 问与答的相关文章

《21天学通C++(第7版)》——17.6 问与答

17.6 问与答 21天学通C++(第7版) **问:vector会改变其存储的元素的顺序吗? 答:**vector是一种顺序容器,元素的存储顺序与插入顺序相同. **问:要将元素插入到vector中,应使用哪个函数?元素将插入到vector的什么位置? 答:**成员函数push_back将元素插入到vector末尾. **问:哪个函数用于获悉存储在vector中的元素个数? 答:**成员函数size ()返回存储在vector中的元素个数.对于所有STL容器,该函数都如此. 问:随着vecto

《21天学通C++(第7版)》——12.7 问与答

12.7 问与答 21天学通C++(第7版)问:我编写的类封装了一个动态整型数组,请问我至少应该实现哪些函数和方法? 答:编写这样的类时,必须明确定义下述情形下的行为:通过赋值直接复制对象或通过按值传递给函数间接复制对象.通常,应实现复制构造函数.复制赋值运算符和析构函数.另外,如果想改善这个类在某些情况下的性能,还应实现移动构造函数和移动赋值运算符. 问:假设有一个类对象object,而我希望支持语法cout << object;,请问需要实现哪个运算符? 答:您需要实现一个转换运算符,让类

《21天学通Java(第7版)》—— 2.8 问与答

2.8 问与答 问:如果将一个超出变量取值范围的整数值赋给该变量,将发生什么情况? 答:从逻辑上说,您可能认为该变量将被转换为与之接近的更大类型,但情况并非如此.相反,将发生溢出,即从一个极端回到另一个极端.例如,byte变量的值从127(可接受的值)变到128(不可接受)时,将转到最小的可接受值,即−128,然后往上增大.您并不希望程序中发生溢出,因此将值赋给数值变量时,不应超过其所属数据类型的取值范围. 在计算机的内存很少,每个字节的内存都很金贵时,使用byte等较短的数据类型显得很重要.当

《21天学通Java(第7版)》—— 1.7 问与答

1.7 问与答 问:实际上,方法是在类中定义的函数.既然它们无论从外观和行为方面都类似于函数,为什么不将它们叫做函数呢? 答:有些面向对象编程语言确实将它们叫做函数(C++将它们叫做成员函数).其他一些面向对象语言将位于类(对象)内.外的函数区分开来,因为在这些语言中,使用不同的术语对理解每个函数的工作原理至关重要.因为其他语言有这种区别,同时术语"方法"在面向对象技术中很常用,所以Java也使用这个术语. 问:实例变量和实例方法同类变量和类方法之间有何区别? 答:在Java程序中,您

《21天学通C语言(第6版•修订版)》一导读

前 言 21天学通C语言(第6版•修订版) 本书旨在引导读者在21天内学通C语言编程.虽然有来自诸如C++.Java和C#的激烈竞争,但很多初学编程者还是会选择C语言.正如第1天课程介绍的原因,选择C语言可确保您不会误入"歧途". 将本书作为自学C语言的教材是一个明智的决定.虽然市面上有很多有关C语言的图书,但本书介绍C语言的方式最为合理,也让读者学习起来最为容易.本书的前五版都登上了畅销书排行榜,这一事实表明我们的观点得到了读者的认同.本书是按读者每天阅读一章的方式编写的.读者不需要

《21天学通C语言(第6版•修订版)》一1.2 为何要使用C语言

1.2 为何要使用C语言 21天学通C语言(第6版•修订版) 在当前的计算机编程领域中,有大量的高级语言可供选择,如C.Perl.BASIC.Java和C#.这些都是非常卓越的语言,适合用于完成大部分编程任务.虽然如此,但基于以下几个原因,很多计算机专业人员认为C语言是其中最佳的: C语言功能强大.灵活.使用C语言能够完成的工作只受限于您的想象力,语言本身不会给您带来任何约束.C语言可用于完成操作系统.字处理器.图形.电子表格等项目,甚至可用于编写其他语言的编译器. C语言很流行,是专业程序员的

《21天学通C语言(第7版)》一导读

前言 21天学通C语言(第7版) 从书名便可看出,通过学习本书,你可以自学C程序设计语言.在众多语言(如C++.JAVA和C#)中,C仍然是学习程序设计语言的首选.第1课中将详细介绍其中的原因.选择C作为程序设计语言是明智之举. 与市面上其他C语言的书籍相比,本书的讲解逻辑更清晰,初学者更容易理解.之前的6个版本一直在畅销书排行榜上遥遥领先,广受读者赞誉!本书为读者量身定制,每天只需花一小时便可学完一课内容.读者不需要有任何编程经验,当然,如果有其他语言的基础(如BASIC),学起来会更快.本书

《21天学通C语言(第7版)》一6.2 控制程序的执行

6.2 控制程序的执行 21天学通C语言(第7版) C程序默认的执行顺序是自上而下.从main()函数的起始位置开始,逐条执行语句,直至main()函数的末尾.然而,在实际的C程序中,很少严格按这样的顺序执行.C语言提供了各种程序控制语句,方便程序员控制程序的执行顺序.第4课介绍了一种程序控制语句--if语句,接下来介绍另外3种有用的控制语句: for语句: while语句: do...while语句. 6.2.1 for语句 for语句是由一条或多条语句组成的块.for语句有时也被称为for循

《21天学通C语言(第7版)》一2.6 课后研习

2.6 课后研习 21天学通C语言(第7版) 课后研习包含小测验和练习题.小测验帮助读者理解和巩固本课所学概念,练习题有助于读者将理论知识与实践相结合. 2.6.1 小测验 1.在C语言中,用花括号括起来的一组语句叫作什么? 2.每个C程序都必不可少的部分是什么? 3.如何在程序中添加注释?为什么要添加注释? 4.什么是函数? 5.C语言提供了哪两种类型的函数?它们有什么区别? 6.#include指令的有什么用途? 7.注释是否可以嵌套? 8.注释是否能超过一行? 9.包含文件的另一个名称是?

《21天学通C语言(第6版•修订版)》一第1章 C语言概览1.1 C语言简史

第1章 C语言概览 21天学通C语言(第6版•修订版) 欢迎阅读<21天学通C语言>第6版.今天的课程将带领读者开始向精通C语言的程序员进发.今天您将学习以下内容: 为什么说C语言是一种不错的编程语言. 程序开发周期中的各个步骤. 编写.编译并运行您的第一个C语言程序. 由编译器和链接程序所生成的错误消息. 1.1 C语言简史 21天学通C语言(第6版•修订版) 读者可能想知道C语言的起源,为何叫C语言.C语言是由贝尔实验室的Dennis Ritchie于1972年开发的.开发它并非为了消遣,