2022.01.02
- 第一章 C语言概述
-
任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕。(✘)
【解析】算法转化为机器语言。 -
C语言语句必须以分号;结束。(✔)
-
每个后缀为.C的C语言源程序都可以单独进行编译。(✔)
-
流程图是描述算法很好的工具,基本图形的功能如图所示:
-
只要程序包含了三种基本结构中的任意一种,就是结构化程序。(✘)
【解析】结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计,而不是说包含了三种基本结构就是结构化程序。 -
C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件。(✔)
-
链接将一个或多个目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序.exe.(✔)
-
程序模块化可以提高程序运行的效率。(✘)
【解析】模块化程序的优点:(1)易于维护和复用,可以提高程序编制的效率;(2)易于分工合作;(3)易于模块化调试测试。
模块化程序的副作用:(1)可能会降低程序运行效率;(2)设计的前期工作需要多花费时间。 -
C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令。(✘)
【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令。 -
c语言提供了定义函数和子程序的功能。(✘)
【解析】C语言没有子程序的概念,C语言有函数的概念,它就相当于一个子程序。 -
—个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构。(✔)
-
对于只包含表达式语句的程序段,执行顺序与书写顺序一致。(✔)
-
C程序的执行一定是从主函数开始,从主函数结束。(✘)
【解析】C语言程序的执行是从main()函数开始的,但不一定在main()函数结束,在任何其他地方可以调用exit()函数结束程序的运行。 -
每个C源文件都应当有一个主函数。(✘)
【解析】每个c语言程序都有且只有一个主函数。 -
c语言程序运行时可以从键盘上读入用户输入的字符或数据,并依此改变程序的运行步骤。(✔)
-
程序设计的步骤顺序为确定数据结构、确定算法、编码、在计算机上调试程序、整理并写出文档资料。(✔)
-
C语言程序由语句构成。(✘)
【解析】人们把可以连续执行一条指令的集合成为“程序”。 -
并非能用文本符号显示的字符都可以用作C语言的标识符。(✔)
-
实型常量必须用带小数点的数或带指数的数表示。(✔)
-
算术运算符的优先级高于赋值运算符。(✔)
-
符号常量是指在程序中通过宏定义用一个符号名来代表一个常量。(✔)
【解析】定义符号常量的好处是,如果在程序中多处使用了同一个常量,当需要对该常量修改时,只需要在定义处修改一处即可。
例如:#define 名字 替换文本
#define PI 3.1415926 -
有一类符号,它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。
在C语言中,构成字符常量的控制字符必须用转义字符表示。转义字符是一种以“”开头的字符。例如退格符用’b’表示,换行符用’n’表示。转义字符中的’'表示它后面的字符已失去它原来的含义,转变成另外的特定含义。反斜杠与其后面的字符一起构成一个特定的字符。
-
C语言的标识符分为3类关键字、预定义标识符和用户标识符。常量不属于标识符。(✔)
-
字符变量char c = '101’被分配一个字符的内存空间。(✔)
-
在VC环境下,double型数据在内存中占8个字节,float型数据占4个字节,int型数据占4个字节,char型数据占1个字节。(✔)
-
只能在函数体内定义变量,其他地方不允许定义变量。(✘)
【解析】变量可以定义在函数体外也可以定义在函数体内。 -
常量的类型不能从字面形式上区分,需要根据类型名来决定。(✘)
【解析】常量的类型可以从字面形式上区分.比如1为整型常量,1.0为实型常量,a为字符型常量。 -
预定义的标识符是C语言关键字的一种,不能另作它用。(✘)
【解析】预定义的标识符不是c语言的关键字 -
整型变量可以分为int型、short型、long型和unsigned型四种。(✔)
-
' ’表示字符0。(✘)
【解析】 ' ’表示结束。 -
' " '是非法的。(✘)
【解析】 ' " '是双引号符。 -
字符常量可以参与任何整数运算。(✔)
-
若有定义语句:char a=’82’,则变量a说明不合法。(✔)
【解析】定义语句: char a=’82’.定义字符变量a,’82’转义字符错误,八进制转义字符是由反斜杠’‘和随后的1~3个八进制数字构成的字符序列,’82’超过八进制数表示范围。’xhh’x开头的1~2位十六进制数字代表一个ASCII码字符,这里没有x,说明a不合法。 -
关键字可用作用户标识符,但失去原有含义。(✘)
【解析】关键字不可用作用户标识符。 -
预定义标识符可用作用户标识符,但失去原有含义。(✔)
【解析】预定义标识符具有见字明义的特点,如函数“格式输出”(英语全称加缩写:printf)、“格式输入”(英语全称加缩写:scanf)、sin、isalnum等等。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当还会使程序出错。 -
C语言中十六进制常量以0x开头,转义字符中十六进制以’/x开头。(✔)
-
实型常量中e的前后必须均有数据,且其后必须为整数。(✔)
-
定义符号常量必须用类型名来设定常量的类型。(✘)
【解析】在C语言的预编译处理中,可以用符号名代表一个常量,定义时不必指定常量类型。 -
常量是在程序运行过程中值不能被改变的量。(✔)
-
可以用&A取得符号常量A所占内存的首地址。(✘)
【解析】&是C语言的取地址运算符,只能对变量取地址运算,不能对常量进行取地址运算。 -
不能用sizeof求数值型常量和符号常量所占内存的大小。(✘)
【解析】 sizeof用来获取类型或数据对象的长度,其操作数可以是系统提供的数据类型,可以是用户自定义,也可以是各种常量和表达式。 -
若有说明语句: char c = '72 ';则变量c中存放的是1个字符。(✔)
【解析】用一对单引号括起来的单个字符为字符常量,以" "开头的转义字符也是字符常量。 " "后可以为某些单个字符也可以为八进制或十六进制数字,故c中存放的是一个字符。
int scanf; float case;
两行语句定义都合法。(✘).
【解析】scanf为库函数名,属于预定义标识符,可以被用户重定义,所以第一行语句合法。case为关键字,是选择结构switch语句中的关键字,不可被用户重定义,所以第二行语句不合法。
-
auto是C语言的关键字。(✔)
-
-018不符合C语言整形常量。(✔)
【解析】0表示为八进制,而且只有十进制数可以是负数,而八进制和十六进制数只能是整数。 -
若用户标识符的命名与预定义标识符相同,命名无效。(✘)
【解析】预定义标识符可以作为用户标识符,原来的预定义标识符将会被用户标识符覆盖,预定义标识符的原意失效;用户标识符与预定义标识符同名时,可能会导致运行错误。 -
char c = " hello! " 定义中有语法错误。(✔)
【解析】c是字符变量," hello! " 是字符串,字符串不能赋给字符变量,定义中有语法错误。 -
' 123321'是不合法的常量数据。(✔)
【解析】’ 123321 ’ 是字符串常量,应该使用双引号括起来。



