国家二级C语言机试(C语言基础知识)模拟试卷6(题后含答案及解析)

  • 格式:doc
  • 大小:44.50 KB
  • 文档页数:12

国家二级C语言机试(C语言基础知识)模拟试卷6 (题后含答案及解析)

题型有:1. 选择题

选择题

1. 以下叙述中错误的是

A.结构化程序由顺序、分支、循环三种基本结构组成

B.C语言是一种结构化程序设计语言

C.使用三种基本结构构成的程序只能解决简单问题

D.结构化程序设计提倡模块化的设计方法

正确答案:C

解析:结构化程序由顺序结构、选择结构和循环结构3种基本结构组成。已经证明,由3种基本结构组成的算法可以解决任何复杂的问题。由3种基本结构所构成的算法称为结构化算法;由3种基本结构所构成的程序称为结构化程序。

知识模块:C语言基础知识

2. C语言源程序名的后缀是

A..exe

B..obj

C..c

D..cp

正确答案:C

解析:由C语言构成的指令序列称为C源程序,源程序文件的后缀为“.c”。源程序经过c编译程序编译生成后缀为“.obi”的二进制文件(称为目标文件),然后由称为”连接程序”(Link)的软件把目标文件与C语言提供的各种库函数连接起来,生成后缀为“.exe”的可执行文件。 知识模块:C语言基础知识

3. 以下叙述中正确的是

A.程序的算法只能使用流程图来描述

B.N—S流程图只能描述简单的顺序结构的程序

C.计算机可以直接处理C语言程序,不必进行任何转换

D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构

正确答案:D

解析:结构化程序有_三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。N-S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C程序,只能处理二进制代码。 知识模块:C语言基础知识

4. 计算机能直接执行的程序是

A.目标程序

B.可执行程序

C.汇编程序

D.源程序

正确答案:B

解析:把由高级语言编写的程序称为”源程序”,由二进制代码表示的程序称为”目标程序”(后缀名为.obi),由汇编语言编写的程序称为”汇编程序”。为了把源程序转换成机器能接受的目标程序,软件工作者编制了一系列软件,通过这些软件可以把用户按规定语法写出的语句一一翻译成二进制的机器指令。这种具有翻译功能的软件称为”编译程序”,每种高级语言都有与它对应的编译程序。c源程序经过C编译程序编译之后生成一个后缀为.obi的二制进文件(称为目标文件),这个F1标程序要和C语言的库函数相链接生成一个后缀为.exe的文件,这个文件可以在操作系统中直接执行,称为可执行程序。 知识模块:C语言基础知识

5. 下列叙述中正确的是

A.在C程序中:main函数的位置是固定的

B.C程序中所有函数之间都可以相互调用

C.每个C程序文件中都必须要有一个main函数

D.在C程序的函数中不能定义另一个函数

正确答案:D

解析:当一个程序作为另一个程序的子程序,并且它自己不独立执行时,这该程序可以没有主函数。主函数的位置不固定,并且可以调用程序中的其他函数,而其他函数不可以调用main(1函数。C语言‘规定,不能在函数的内部定义函数。 知识模块:C语言基础知识

6. 以下叙述中正确的是

A.程序的主函数名除main外,也可以使用Main或main

B.在C程序中,模块化主要是通过函数来实现的

C.程序可以包含多个主函数,但总是从第一个主函数处开始执行

D.书写源程序时,必须注意缩进格式,否则程序会有编译错误

正确答案:B

解析:C语言中任何一个有效的程序都有且只能有一个main( )函数,不能写成其他形式,一个C程序总是从主函数开始执行,到main函数体执行完后结束,而不论main函数在整个程序中的位置如何。而为了代码清晰容易看懂,最好加上注释,这是程序书写风格,与编译无关。 知识模块:C语言基础知识

7. 以下叙述中正确的是

A.C程序中的每一行只能写一条语句

B.简单C语句必须以分号结束

C.C语言程序中的注释必须与语句写在同一行

D.C语句必须在一行内写完

正确答案:B

解析:C语言的书写格式自由,一行可写多条语句,一条语句也可写在不同行上。C语言注释是比较自由的,可以写在一行或者多行。C语言规定每条语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分。 知识模块:C语言基础知识

8. 有以下程序#include<stdio.h>main0{inta=0,b=0;/*给a赋值a=10-b=20;给b赋值*/printf(‘‘a+b=%din’’,a+b);/**输出计算结果*/}程序运行后的输出结果是

A.a+b=30

B.a+b=10

C.出错

D.a+b=0

正确答案:D

解析:C语言规定,在字符”/*”和其后紧跟的第一个字符”*/”中间的部分是注释内容一且注释部分的内容不参与程序的编译和运行,因此,本题中稗序语句”a=10;b=20;”没有执行。 知识模块:C语言基础知识

9. 若变量已正确定义并赋值,以下不能构成C语句的选项是

A.A=a+b;

B.B++;

C.a=a+b

D.A?a:b;

正确答案:C

解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。 知识模块:C语言基础知识

10. 以下选项中不合法的标识符是

A..FOR

B.&a

C.print

D.0

正确答案:B

解析:合法的标识符要满足组成字符为a~z以及A~z,数字字符0到9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。 知识模块:C语言基础知识

11. 以下选项中,能用作用户标识符的是

A._0_

B.8_8

C.yoid

D.unsigned

正确答案:A

解析:在C语言中,用户的标识符只能由字*或下划线开始。一般强调文见其义的命名方法。但是C语言中的保留字不能用作用户的标识符。而选项C和D全部为保留字,选项B中以数字开头,这些都不正确。 知识模块:C语言基础知识

12. 以下选项中,不合法的C语言用户标识符是

A.Aabc

B.a-b

C.a_b

D._1

正确答案:B

解析:在C语言中的用户标识符只能由字*,数字和下划*组成,并且第一个字符必须是字*或卜划线,在选项A中出现非法的字符。 知识模块:C语言基础知识

13. 阅读以下程序#include<stdio.h>main( ){intcase;floatprintF;printf(‘‘请输入2个数:’’);scanf(‘‘%d%f’,&case,&printF);printf(‘‘%d%f\n’’,case,printF);}该程序在编译时产生错误,其出错原因是

A.定义语句出错,printF不能用作用户白定义标识符

B.定义语句出错,case是关键字,不能用作用户自定义标识符

C.定义语句无错,scanf不能作为输入函数使用

D.定义语句无错,printf不能输出case的值

正确答案:B

解析:case是C语言中的一个关键字,不能用作用户标识符来使用,所以这段程序代码存编译时就会出错。 知识模块:C语言基础知识

14. 关于C语言的变量,以下叙述中错误的是

A.所谓变量是指在程序运行过程中其值可以被改变的量

B.变量所占的存储单元地址可以随时改变

C.程序中用到的所有变量都必须先定义后才能使用

D.由三条下划线构成的符号名是合法的变量名

正确答案:B

解析:变最是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个存储

单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。 知识模块:C语言基础知识

15. 以下叙述中正确的是

A.标识符的长度不能任意长,最多只能包含16个字符

B.语言中的关键字不能作变量名,但可以作为函数名

C.用户自定义的标识符必须’’见名知义’’,如果随意定义,则会出编译错误

D.标识符总是由字*、数字和下划线组成,且第一个字符不得为数字

正确答案:D

解析:标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。C语言合法标识符的命名规则是:①标识符由字*、数字和下划线组成;②第一个字符必须为字*或下划线:③大写字*与小写字*被认为是两个不同的字符;④C语言规定了一个标识符允许的字符个数,为32,超过的字符将不被识别。C语言的标识符可分为以下3类:①关键字,不能用于为自定义标识符命名。②预定义标识符。③用户标识符。由用户根据需要定义的标识符称为用户标识符,又称自定义标识符,一般用来给变量、函数、数组等命名,一般做到见名知义,但是没有特殊规定。 知识模块:C语言基础知识

16. 以下叙述中正确的是

A.在C程序中的八进制和十六进制,可以是浮点数

B.八进制数的开头要使用英文字*O,否则不能与十进制区分开

C.整型变量可以分为int型、short型、long型和unsigned型四种

D.英文大写字*x和英文小写字*x都可以作为二进制数字的开头字符

正确答案:C

解析:整型变量分为以下4种类型:①基本型:以int表示。②短整犁:以shortint表示,或以shott表示。③长整型:以longint表示,或以long表示。④无符号型:以unsignedint表示,选项Clr确,实型常最仪有十进制表示形式,八进制以数字0开头,十六进制开头为0x或者0x,不是二进制。 知识模块:C语言基础知识

17. 以下选项中能表示合法常量的是

A.’\007’’

B.1.5E2.0

C.’\’

D.1.2

正确答案:A

解析:选项D,1200中间不能有逗号,否则编译时会认为是1或出错。选项B,2.0错误,必须为整数。选项C,要表示字符斜杠常量’\’,应该在反斜杠的前而再加上一个反斜杠。选项A为字符*常量,为正确选项。 知识模块:C语言基础知识