练习与自测
1.填空
①现代计算机由5个主要组成部分:__、__、__、__、_。
②CPU由_与_组成。
③计算机程序以二进制代码的形式存在于_之中,计算机的运行是由存储在内存中的_控制的。
④CPU从_读取工作指令及计算数据。
⑤1个bit可以表示一个_或一个_。
⑥1个Byte是_个bit。
⑦机器语言、汇编语言都与CPU型号相关,由于与人类自然语言差距较大,被归属为_。C语言是一种_。
⑧高级语言的源程序必须经过_才成为计算机能识别的机器语言程序。
⑨磁盘上的可执行文件需要由操作系统复制入_才能运行。
⑩库函数是一些事先写好的程序片段。调用库函数时应通过_编译预处理命令对函数的名称做相应的说明。
2.判断下面陈述是否正确
①高级语言通常与机器相关。
②IDE是集成开发环境的简称,使用IDE可以方便地进行代码编辑、源程序编译、程序运行及程序调试。
③任何一个C语言程序都必须有且只能有一个main()。
④编译预处理命令以“;”为结束标志。
⑤printf()函数是编译器软件提供的一个库函数,可以直接调用。
⑥使用printf()函数应在代码开头的位置通过编译是编译器处理命令对函数的名称做相应的说明。
3.下面两段代码的输出是否一样?
程序代码1-6
程序代码1-7
4.下面代码的输出是什么?
程序代码1-8
5.下面代码与前一题目中的代码相比,你认为哪种写法更好?
程序代码1-9
6.指出下面代码中存在的错误并改正。
程序代码1-10
7.编程题。分别在显示器上输出下面两种图案。
8.编程题。在显示器上输出下面头像。
————————————————————
(1) 老式的C语言中“int”、“void”和“return 0;”是可以省略的。目前的多数编译器对老式的写法还持以宽容的态度(这叫做兼容,目的是让老式的代码依然能够编译运行,但那种写法毕竟是古代的方言,是将被逐渐淘汰的写法)。
(2) 只要是在操作系统下运行就如此。
(3) 对于printf()函数,有些编译器容许不使用#include<stdio.h>预处理命令就直接使用它。但这种宽容既不符合C语言的发展潮流也不值得提倡。此外,老式的C语言要求#写在第一列,现在的编译器没有这个限制了。
(4) 也有人称为Integration Design Environment。
(5) 使用IDE需要冒着被指责为菜鸟的风险,有些高手更喜欢表明自己不使用IDE而使用一些更为原始的开发环境。但总地来说,使用IDE开发软件更为方便。
(6) GUI:Graphical User Interface,图形用户界面,使用图形作为用户与计算机的接口。控制台程序是用字符与计算机交换信息的,属于CUI(Character User Interface)。
(7) 由GNU之父Stallman所开发的linux下的编译器,全称为GNU Compiler Collection,目前已经移植到Win32环境中,是一个用于编程开发的自由(free)编译器。
(8) 不改也没什么妨碍,但显得不够整洁。
(9) 同时,printf这个单词也是不容割裂的。
(10) 目前好像还没有实现可以使用汉字的C语言编译器,而VB、Java在这方面做的比较好。
(11) 事实上的确有很多人把字符串文字量看成是常量的一种。
(12) C99也容许使用其他字符命名,如汉字,但目前的编译器并没有实现这一点。java和VB的编译器实现了这点。毫无疑问,对我们来说,用汉字命名会使程序更清楚易懂。
(13) 实际上还有6个:<:、:>、<%、%>、%:、%:%:,这6个标点符号完全等价于[、]、{、}、#、##,是为键盘上没有后6个字符对应键的人所设的。