1、国家二级 C语言机试( C语言基础知识)模拟试卷 4及答案与解析 一、选择题 1 以下叙述中错误的是 ( A) C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( B)用 C语言编写的程序称为源程序,它以 ASC 代码形式存放在一个文本文件中 ( C) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 ( D) C语言源程序经编译后生成后缀为 obj的目标程序 2 以下叙述中错误的是 ( A)算法正确的程序最终一定会结束 ( B)算法正确的程序可以有零个输入 ( C)算 法正确的程序可以有零个输出 ( D)算法正确的程序对于相同的输入一定有相同的结果
2、 3 关于算法,以下叙述中错误的是 ( A)同一个算法对于相同的输入必能得出相同的结果 ( B)一个算法对于某个输入的循环次数是可以事先估计出来的 ( C)某个算法可能会没有输入 ( D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕 4 以下叙述中正确的是 ( A)在 C语言程序设计中,所有函数必须保存在一个源文件中 ( B)在算法设计时,可以把复杂任务分解成一些简单的子任务 ( C)只要包含了三种基本结 构的算法就是结构化程序 ( D)结构化程序必须包含所有的三种基本结构,缺一不可 5 有以下程序 #include stdio h ma: in( ) ints, t, A=
3、10; doubleB=6: s=sizeof(A); t=sizeof(B); printf( d, dn, s, t); 在 VC6平台上编译运行,程序运行后的输出结果是 ( A) 4, 4 ( B) 2, 4 ( C) 4, 8 ( D) 10, 6 6 以下叙述中正确的是 ( A)可以在程序中由用户指定任意一个函数作为主函数, 程序将从此开始执行 ( B) C语言程序将从源程序中第一个函数开始执行 ( C) main的各种大小写拼写形式都可以作为主函数名,如: MAIN, Main等 ( D) C语言规定必须用 main作为主函数名,程序将从此开始执行 7 以下叙述正确的是 ( A)
4、C语言程序是由过程和函数组成的 ( B) C语言函数可以嵌套调用,例如: fun(fun(x) ( C) C语言函数不可以单独编译 ( D) C语言中除了 main函数,其他函数不可作为单独文件形式存在 8 以下叙述中正确的是 ( A) C语言程序总是从最前面的函数 开始执行 ( B) C语言程序总是从 main函数开始执行 ( C) C语言程序中 main函数必须放在程序的开始位置 ( D) C语言程序所调用的函数必须放在 main函数的前面 9 以下四个程序中,完全正确的是 ( A) #inc1ude stdio h ( B) #inc1ude stdio h main( );main(
5、)/*/Programming/*programming*/*/printf(programming!n); printf(programming!n); ) ( C) #inc1ude stdio H ( D) inc1ude stdio hmain( )main( )/*/*programming*/*/*programming*printf(programming!n); printf(programming!n); 10 以下叙述中正确的是 ( A) C程序书写格式严格,要求一行内只能写一个语句 ( B) C程序书写格式自由,一个语句可以写在多行上 ( C) C程序中的注释只能出现在程
6、序的开始位置和语句的后面 ( D)用 C语言编写的程序只能放在一个程序文件中 11 我们所写的每条 C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 ( A)一条 C语句可能会被转换成多条机器指令 ( B)一条 C语句对应转换成一条机器指令 ( C)一条 C语句可能会被转换成零条机器指令 ( D)某种类型和格式的 C语句被转换成机器指令的条数是固定的 12 以下叙述中正确的是 ( A)程序必须包含所有三种基本结构才能成为一种算法 ( B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 ( C)只有简单算法才能在有限的操作步骤之后结束 ( D)我们所
7、写的每条 C语句,经过编译最终都将转换成二进制的机器指令 13 以下选项中,能用作数据常量的是 ( A) 115L ( B) 0118 ( C) 1 5e1 5 ( D) 115 14 下列定义变量的语句中错误的是 ( A) floatUS$; ( B) doubleint; ( C) charFor; ( D) int int; 15 以下关于 C语言数据类型使用的叙述中错误的是 ( A)若要保存带有多位小数的数据,可使用双精度类型 ( B)若要处理如 人员信息 等含有不同类型的相关数据,应自定义结构体类型 ( C)若只处理 真 和 假 两种逻辑值,应使用逻辑类型 ( D)整数类型表示的自然
8、数是准确无误差的 16 以下选项中合法的标识符是 ( A) 1-1 ( B) 1 1 ( C) 11 ( D) 1 17 以下选项中不属于 C语言标识符的是 ( A)用户标识符 ( B)关键字 ( C)常量 ( D)预定义标识符 18 C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是 ( A)关键字可用作用户标识符,但失去原有含义 ( B)在标识符中大写字 *和小写字 *被认为是相同的字符 ( C)用户标识符可以由字 *和数字任意顺序组成 ( D)预定义标识符可用作用户标识符,但失去原有含义 19 以下选项中,合法的一组 C语言数值常量是 ( A) 12 0xa234 5
9、e0 ( B) 028 5e_3_0xf ( C) _1774e1_50abc ( D) 0x8A10, 0003 e5 20 以下选项中合法的常量是 ( A) 2 7e ( B) 999 ( C) 123E0 2 ( D) Oxab 21 以下选项中可用作 C程序合法实数的是 ( A) 3 0e0 2 ( B) E9 ( C) 1e0 ( D) 9 12E 22 若有以下程序段 doublex=5 16894; printf( fn, (int)(x*1000+0 5)/(double)1000); 则程序段的输出结果是 ( A) 5 175000 ( B) 5 169000 ( C) 5
10、170000 ( D) 5.168 23 以下叙述中正确的是 ( A)整型常量和实型常量都是数值型常量 ( B)常量的类型不能从字面形式上区分,需要根据类型名来决定 ( C)预定义的标识符是 C语言关键字的一种,不能另作它用 ( D)只能在函数体内定义变量,其他地方不允许定义变量 24 有以下程序 main( ) charc1 c2; c1=A+8-4; c2=A+8-5; printf( c, dn, c1, c2); 已知字 *A的 ASC 码为 65,程序运行后的输出结果是 ( A) D, 69 ( B) E, 68 ( C) E, D ( D)输出无定值 25 有以下定义语句,编译时会
11、出现编译错误的是 ( A) chara=11; ( B) chara=aa; ( C) chara=a; ( D) chara=x2d; 26 以下选项中非法的 C语言字符常量是 ( A) b ( B) 007 ( C) aa ( D) xaat 27 若有以下程序 #include stdio h main( ) charcl, c2; c1=C+8-3: c2=9-0; printf( c dn, c1, c2); 则程序的输出结果是 ( A) H9 ( B) H9 ( C) F9 ( D)表达式不 合法输出无定值 28 以下叙述中正确的是 ( A)字符变量在定义时不能赋初值 ( B)同一
12、英文字 *的大写和小写形式代表的是同一个字符常量 ( C)字符常量可以参与任何整数运算 ( D)转义字符用符号开头 29 C语言中 char类型数据占字节数为 ( A) 2 ( B) 3 ( C) 1 ( D) 4 30 若有定义语句: intx=12, y=8, z;在其后执行语句 z=0 9+x/y;则 Z的值为 ( A) 1 9 ( B) 1 ( C) 2 ( D) 2.4 31 若有以下程序 #include stdio h main( ) inta=0, b=0, c=0, d; c=(a+=b, b+=a); /*第 4行 */ d=c; /*第 5行 */ ; /*第 6行 */
13、 printf( d, d, dn, a, b, c); /*第 7行 */ 编译时出现错误,你认为出错的是 ( A)第 4行 ( B)第 5行 ( C)第 6行 ( D)第 7行 32 若有定义语句: intx=10;则表达式 x-=x+x的值为 ( A) -20 ( B) 0 ( C) -10 ( D) 10 33 若有定义语句: inta=3, b=2, c=1;以下 选项中错误的赋值表达式是 ( A) a=b=c+1; ( B) a=(b=4)=3; ( C) a=(b=4)+c; ( D) a=1+(b=c=4); 34 以下叙述中正确的是 ( A)在赋值表达式中,赋值号的右边可以是
14、变量,也可以是任意表达式 ( B) a是实型变量, a=10在 C语言中是允许的,因此可以说:实型变量中可以存放整型数 ( C)若有 inta=4, b=9;执行了 a=b后, a的值已由原值改变为 b的值, b的值变为 0 ( D)若有 inta=4, b=9;执行了 a=b; b=a;之后, a的值为 9, b的值为 4 35 若变量 x、 y已正确定义并赋值,以下符合 C语言语法的表达式是 ( A) +x y=x- ( B) x+1=y ( C) x=x+10=x+y ( D) double(x)/10 36 若有以下程序 #include stdio h main( ) inta=0,
15、 b=0, c=0c=(a+=+b, b+=4); printf( d, d, d0n, a, b, c); ) 则程序的输出结果是 ( A) 1, 5, 1 ( B) -1, 4, 4 ( C) 1, 5, 5 ( D) -1, 4, -1 37 若有定义 intx, y;并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+):(y+)中的条件表达式 (x-y)等价的是 ( A) (x-y 0) ( B) (x-y 0) ( C) (x-y 011x-y 0) ( D) (x-y=0) 38 以下叙述中正确的是 ( A)关系运算符两边的运算对象可以是 Ci吾言中任意合法的表达式 (
16、B)在 C语言中,逻辑真值和假值分别对应 1和 0 ( C)对于浮点变量 x和 y,表达式: x=y是非法的,会出编译错误 ( D)分支结构是根据算 *表达式的结果来判断流程走向的 39 若 a是数值类型,则逻辑表达式 (a 1)(a!=1)的值是 ( A) 0 ( B) 2 ( C) 1 ( D)不知道 a的值,不能确定 40 若变量已正确定义,以下选项中非法的表达式是 ( A) a!=4b ( B) a 4 ( C) a=1/2*(x=y=20, x*3) ( D) A+32 41 以下叙述中正确的是 ( A)对于逻辑表达式: a+ b+,设 a的值为 0,则求解表达式的值后, b的值会发
17、生改变 ( B)对于逻辑表达式: a+b+,设 a的值为 1,则求解表达式的值后, b的值会发生改变 ( C)关系运算符的结果有三利 1: 0, 1, -1 ( D) else不是一条独立的语句,它只是 if语句的一部分 国家二级 C语言机试( C语言基础知识)模拟试卷 4答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 C语言中的非执行语句例如宏定义命令,在预编译之后替换到代码中,该命令本身也就不存在了,不会转换成二进制的机器指令。由高级语言编写的程序称为 ”源程序 ”,把由二进制代码表示的程序称为 ”目标程序 ”。 C语言编写的源程序就是一 ASC 的形式存放在文本文件中的。 c
18、源程序经过 c编译程序编译之后生成一 个后缀为 obi的二进制文件 (称为目标文件 ),然后由称为 ”连接程序 ”(Link)的软件,把此, obi文件与 C语言提供的各种库函数连接起来生成一个后缀为 ExE的可执行文件。 【知识模块】 C语言基础知识 2 【正确答案】 C 【试题解析】 算法是指为解决某个特定问题而采取的确定且有限的步骤。一个算法应该具有以下 5个特征: 有穷性。一爪算法包含的操作步骤应该是有限的。也就是说,在执行若 T个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。 确定性。算法中的每一条指令必须有确切的含义, 不能有二义性,对于相同的输入必能得出相同的执行结果
19、。 可行性。算法中指定的操作,都可以通过已经验证过可以实现的基本运算执行有限次后实现。 有零个或多个输入。在计算机上实现的算法是用来处理数据对象的,在大多数情况下这些对象需要通过输入来得到。 有一个或多个输出。算法的目的是为了求 ”解 ”,这些 ”解 ”只有通过输出才能得到。 【知识模块】 C语言基础知识 3 【正确答案】 D 【试题解析】 算法和程序不同,算法满足以下特性:算法有 5个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。算法的确定性是指算法中的每一个步骤都必须有明确定义,不允许有模棱两可的解释,也不允许有多义性,因此对于相同的输入必有相同的输出,同时可以事先
20、估计算法的时间复杂度,对于有循环的算法,以循环体内的循环次数来估测时间复杂度。 【知识模块】 C语言基础知识 4 【正确答案】 B 【试题解析】 模块化设计思想,就是把复杂的任务分成简单的子任务,用函数或者过程描述子任务, C语言中一个程序可以包括多个源文件,每个源文件可以有若干个函数,结构化的程序由顺序结构、循环结构和选择结构三种基奉结构组成,不一定全要包括这三种结构,而算法不等于程序。 【知识模块】 C语言基础知识 5 【正确答案】 C 【试题解析】 关键字 sizeof用于测试不同类型变量所占的内存空间,返回所占的字节数。在 vc编译系统中,整型变量占用 4个字节的内存空间,而双精度型变
21、量占用 8个字节的内存空间。 【知识模块】 C语言基础知识 6 【正确答案】 D 【试题解析】 C语言规定必须以 main作为主函数名。程序中的 main( )是主函数的起始行,也是 C程序执行的起始行。每一个可执行的 C程序都必须有一个且只能有一个主函数。一个 C程序中可以包含任意多个不同的函数,但只能有一个主函数。程序要从 main( )函数开始执行,最后在 main( )函数中结束。 【知识模块】 C语言基础知识 7 【正确答案】 B 【试题解析】 在 C语言中,允许函数的嵌套调用,即递归调用。在 C语言中不存在过程的概念,在 C语言中函数允许单独编译,可以作为单独的文件形式存在。 【知
22、识模块 】 C语言基础知识 8 【正确答案】 B 【试题解析】 C语言中,一个源程序都有一个且只能有一个 main函数,即主函数: C语言规定必须用 main作为主函数名。其后的一对圆括号中可以是空的,但不能省略。程序中的 mainfl是主函数的起始行,也是 C程序执行的起始行。每一个程序都必须有一个且只能有一个土函数。一个 C程序总是从主函数开始执行,到 main函数体执行完后结束,而不论 main函数在整个程序中的位置如何。而调用函数的定义位置和调用没有直接关系。 【知识模块】 C语言基础知识 9 【正确答 案】 B 【试题解析】 在选项 A中, main( )函数后面的分号是错误的, C
23、语言在函数名后而不能有分号。在 C语言中注释内容必须放在 ”/和 ”+/”之间, ”/”和 ”*/”必须成对出现,按语法规定在注释之间不可以再嵌套 ”/ 和 ”+/”。在选项 C的程序段中注释语句之间有嵌套;所以选项 C不正确。 C语言用 #inc1ude命令行来实现文件包含的功能。 #inc1ude命令行的形式为: #inc1ude”文件名 ”,所以存选项 D中inc1ude前面少了一个 #符号,因而选项 D不正确。 【知识模块】 C语言基础 知识 10 【正确答案】 B 【试题解析】 本题主要考查的是 C语言结构中的源程序书写格式这个知识点,在 C语言中注释部分对程序的运行结果不产生任何影
24、响,它可以出现在任意位置; C语言书写自由,一行内可以写多个语句,一个语句可以写在多行上;由于C语言编写的程序有很好的移植性,可以放在多个程序文件中。 【知识模块】 C语言基础知识 11 【正确答案】 B 【试题解析】 由 C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而 C语言的语句条数和机器指令的条数不是一对一的关系。 【知识模块】 C语言基础知识 12 【正确答案】 D 【试题解析】 C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来
25、描述算法,而算法 +数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基小结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。 【知识模块】 C语言基础知识 13 【正 确答案】 A 【试题解析】 本题考查常量定义。数据常量可有 10进制、 8进制、 16进制、指数法等, 8进制数字为 0 7,第一个字符为 O,而不是 o。指数法表示时,指数部分须为整型,选项 A中数字后加入 L是说明此变量为长整型,是正确的常量表示形式。 【知识模块】 C语言基础知识 14 【正确答案】 A 【试题解析】 C语言规定,变量的标识符只能由字 *、
26、数字或下划线 3种字符组成,且首字符必须为字 *或下划线。在 C语言中大写字 *和小写字 *被认为是两个不同的字符。选项 B定义的变量标识符 int和选项 D定义 的变量标识符 int与 C语言的关键字 int是不同的,是正确的变量标识。选项 C定义的变量标识符 For与 C语言中的关键字 for是两个不同的标识符,而在选项 A包含有特殊字符 $,因而其不符合 C语言的变量命名规定。 【知识模块】 C语言基础知识 15 【正确答案】 C 【试题解析】 在 C语言中没有定义逻辑类型,而是用 0代表假,用非零代表真。 【知识模块】 C语言基础知识 16 【正确答案】 C 【试题解析】 本题考查标识
27、符定义。合法标识符的要求是由下划线、英文大小写字 *和数字组成的字符串 ,且第一个字符必须是字 *或下划线。 【知识模块】 C语言基础知识 17 【正确答案】 C 【试题解析】 C语言的标识符可分为以下 3类: 关键字。 C语言预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他川。这些字符称为关键字。例如, int、 double、 if、 else、 while、 for等。 预定义标识符。即预先定义并具有特定含义的标识符。 用户标识符。由用户根据需要定义的标识符称为用户标识符,又称自定义标识符,一般用来给变量、函数、数组等命名。 【知识模块】 C语言基础知 识 18 【正确答
28、案】 D 【试题解析】 预定义标识符是 C语言中的标识符,在 C语言中也有特定的含义,如函数 printf、 scanf、 sin等和编译预处理命令名 (如 define和 inc1ude)。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。 【知识模块】 C语言基础知识 19 【正确答案】 A 【试题解析】 八进制数其开头必须是数字 ”0”,其数字包括 0 7,而在选项 B中, 028是错误的。浮点数据的指数形式表示常鞋中, C语言规定字 *e或 E之前必须要有数字,且 e或 E之后的指数必须为整数,而选项 C中 4e1 5是错误的。在选项 D中,整型数据 10, 000的表
29、示形式是错误的。 【知识模块】 C语言基础知识 20 【正确答案】 D 【试题解析】 Oxab是十六进制表示的常龄。 【知识模块】 C语言基础知识 21 【正确答案】 C 【试题解析】 C程序的合法实数有两种表示形式,一种是小数形式,另一种是指数形式,对于用指数形式表示的实数来说,需要沣意的是字 *e或 E之前必须要有数字,且字 *e或 E后面的指数必须为整数。 【知识模块】 C语言基础知识 22 【正确答案】 B 【试题解析】 (int)(x*1000+0 5)/(double)1000表达式功能,保存数据 x的后三位小数,把第四位四舍五入。 【知识模块】 C语言基础知识 23 【正确答案】
30、 A 【试题解析】 整型常量和实型常量都是数值型常量,选项 A正确;常量的类型可以从字面上区分,比如整型常量不能有小数点,组成字符为 0 9等,选项 B错误:预定义标识符,即预先定义并具有特定含义的标识符,可以另作他用,不过更改了原有的含义,选项 C错误;变量可以定义住程序中任何的地方,属 于不同的变量,选项 D错误。 【知识模块】 C语言基础知识 24 【正确答案】 B 【试题解析】 字符变量 c1的 Asc 值等于 69,而字符变量 c2的 AsC 值等于68,当分别以字符和整型输出 c1和 c2的 Asc 码值时,其结果为 E, 68。 【知识模块】 C语言基础知识 25 【正确答案】
31、B 【试题解析】 在选项 B中由两个字符 aa组成一个字符串赋给一个字符变量 a时会出错。 【知识模块】 C语言基础知识 26 【正确答案】 C 【试题解析】 一个字符常量代表 ASc 字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。 【知识模块】 C语言基础知识 27 【正确答案】 A 【试题解析】 字符常量允许进行简单的算 *运算,则 C+5表示 H,而 9-0则表示数值 9。 【知识模块】 C语言基础知识 28 【正确答案】 C 【试题解析】 一个字符常量代表 ASC 字符集中的一个字符,在 C程序中,字符常量可参与任何整数运算,转义字符以一个反斜线开头后跟一个特定的字
32、符。 【知识模块】 C语言基础知识 29 【正确答案】 C 【试题解析】 C语言中 char类型数据占字节数为 1。 【知识模块】 C语言基础知识 30 【正确答案】 B 【试题解析】 由于 x, y,z都是整型数据,所以 x除以 y的值为整型数值 l, 1和0 9相加得到 1 9,再转换为整型数 赋给整型变量 z。 【知识模块】 C语言基础知识 31 【正确答案】 A 【试题解析】 第 4行出错,在第 4行括号中两个逗号不可以为空。单独的分号为C语言的空语句,是编译程序可以识别并且编译的,因此第 5、 6行都是正确的。 【知识模块】 C语言基础知 识 32 【正确答案】 C 【试题解析】 表
33、达式 x-=x+x等价于 x=x (x+x),整型变量 x的初始值等于 10,计算题同所求表达式的值时,首先计算 x与 x的和等于 20,然后再用 10减去 20等于 -10,得到该表达式的值。 【知识模块】 C语言基础知识 33 【正确答案】 B 【试题解析】 本题主要考查赋值表达式,对于赋值表达式来说,赋值号 ”=“的左边一定为变量名,右边为一个 C语言合法的表达式。 【知识模块】 C语言基础知识 34 【正确答案】 A 【试题解析】 选项 B中 a=10,在赋值时会把 10自动转换为 double类型然后赋值,实型变量中不可能存放整型。而选项 C中执行 a=b后, b的值不变还是 9,选
34、项 D中执行 a=b; b=a;后, a的值为 9, b的值也为 9。 【知识模块】 C语言基础知识 35 【正确答案】 A 【试题解析】 因为题中有语句 intk=0;,所以选项 B、 C、 D都是对 k的值加l,选项 A的语句 k+表示先利用 k的值进行运算,然后 k值才加 1。 【知识模块】 C语言基础知识 36 【正确答案】 C 【试题解析】 有逗号表达式构成的语句: pAd=+sum, pAd+, +pad;主要从左到由连续运算,因此 pad的值为 6。注意 pad和 pAd的是不同的变量。 【知识模块】 C语言基础知识 37 【正确答案】 D 【试题解析】 条件表达式的形式如下:表
35、达式!?表达式 2;表达式 3。其含义为当 ”表达式 1”的值为非零时,求出 ”表达式 2”的值,此时 ”表达式 2”的值就是整个条件表达式的值:当 ”表达式 1”的值为零时,则求 ”表达式 3”的值,这时 ”表达式 3”的值就是整个表达式的值。本题条件表达式的执行顺序是先求解表达式 ”x v”的值,若其值为非 0(可以是正数,也 ”丁以是负数 ),则再求表达式 ”x+”的值,其值就是条件表达式的值;若表达式 ”x y”的值为 0,则再求表达式 ”y+”的值,其值就是条件表达式的值。 【知识模块】 C语言基础知识 38 【正确答案】 A 【试题解析】 C语言中没有逻辑类型,用非零表示逻辑真。
36、0表示逻辑假,选项B错误,无法判断两个浮点变量是否相等,但是 x=v不会出现编译错误,选项 C错误,分支结构根据表达式的值,不一定为算 *表达式,选项 D错误。 【知识模块】 C语言基础知识 39 【正确答案】 C 【试题解析】 在逻辑表达式中, ab,只有在 a跟 b都为 0时,表达式的结果才为 0。在题中所给的表达式中 a要么等于 1,要么不等于 1,肯定会有一方的值不为真,表达式值为 1。 【知识模块】 C语言基础知识 40 【正确答案】 C 【试题解析】 赋值表达式左边应为变量,选项 C中左边为字符常最,因此非法,其余表达式均为合法的表达式。 【知识模块】 C语言基础知识 41 【正确答案】 D 【试题解析】 else不能单独使用,和 if匹配使用,要注意逻辑与运算和逻辑或运算出现的短路现象,关 系运算结果仅有 0和 1。 【知识模块】 C语言基础知识