C语言概念题

更新时间:2024-06-16 07:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2、下列叙述中错误的是_______。(标准答案:A) (A)一个C语言程序只能实现一种算法 (B)一个C函数可以单独作为一个C程序文件存在 (C)C程序可以由一个或多个函数组成 (D)C程序可以由多个程序文件组成 4、以下叙述中错误的是_____________。(标准答案:A)

(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 (B)C语言源程序经编译后生成后缀为.obj的目标程序

(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中 (D)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 13、以下叙述中错误的是A

(A)使用三种基本结构构成的程序只能解决简单问题 (B)C语言是一种结构化程序设计语言 (C)结构化程序由顺序、分支、循环三种基本结构组成 (D)结构化程序设计提倡模块化的设计方法

18、以下关于结构化程序设计的叙述中正确的是

(A)一个结构化程序必须同时由顺序、分支、循环三种结构组成 (B)有三种基本结构构成的程序只能解决小规模的问题 (C)在C语言中,程序的模块化是利用函数实现的 (D)结构化程序使用goto语句会很便捷 标准答案:C

19、对于一个正常运行的C程序,以下叙述中正确的是C

(A)程序的执行总是从main函数开始,在程序的最后一个函数中结束 (B)程序的执行总是从程序的第一个函数开始,在main函数结束 (C)程序的执行总是从main函数开始

(D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 33、以下选项中关于程序模块化的叙述错误的是

(A)把程序分成若干相对独立的模块,可便于编码和测试

(B)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (C)把采用分成若干相对独立、功能单一的模块,可便于重复使用这些模块

(D)可采用自顶向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 标准答案:D

34、以下叙述中正确的是

(A) C程序中的注释只能出现在程序的开始位置和语句的后面 (B) C程序书写格式严格,要求一行内只能写一个语句 (C)用C语言编写的程序只能放在一个程序文件中 (D) C程序书写格式自由,一个语句可以写在多行上 标准答案:D

36、以下关于C语言数据类型使用的叙述中错误的是 (A)若只处理“真”和“假”两种逻辑值,应使用逻辑类型 (B)若要保存带有多位小数的数据,可使用双精度类型 (C)整数类型表示的自然数是准确无误差的

(D)若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型 38、以下叙述中错误的是

(A) C程序在运行过程中所有计算都以二进制方式进行(B) C程序在运行过程中所有计算都以十进制方式进行

(C) C程序中字符变量存放的是字符的ASCII值 (D)所有C程序都需要编译链接无误后才能运行

- 1 -

标准答案:B

39、以下关于C语言的叙述中正确的是

(A) C语言中的注释不可以夹在变量名或关键字的中间 (B) C语言中的变量可以再使用之前的任何位置定义

(C)在C语言算数表达式的书写中,运算符两侧的运算数类型必须一致 (D) C语言的数值常量中夹带空格不影响常量值的正确表示 标准答案:A

43、下列叙述中错误的是A

(A)一个C语言程序只能实现一种算法 (B)一个C函数可以单独作为一个C程序文件存在 (C) C程序可以由一个或多个函数组成 (D) C程序可以由多个程序文件组成

52、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是D (A)一条C语句可能会被转换成零条机器指令

(B)某种类型和格式的C语句被转换成机器指令的条数是固定的 (C)一条C语句可能会被转换成多条机器指令 (D)一条C语句对应转换成一条机器指令 标准答案:D

53、关于C语言的符号常量,以下叙述中正确的是 (A)符号常量在整个程序中其中都不会被重新定义 (B)符号常量的符号名是标识符,但必须大写 (C)符号常量的符号名必须是常量

(D)符号常量是指在程序中通过宏定义用一个符号名来代表一个常量 标准答案:D

57、关于算法,以下叙述中错误的是

(A)一个算法对于某个输入的循环次数是可以事先估计出来的 (B)同一个算法对于相同的输入必须得出相同的结果 (C)某个算法可能会没有输入

(D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕 标准答案:D

58、关于C语言的变量,以下叙述中错误的是 (A)由三条下划线构成的符号名是合法的变量名

(B)所谓变量是指在程序运行过程中其值可以被改变的量(C)程序中用到的所有变量都必须先定义后才能使用

(D)变量所占的存储单元地址可以随时改变 74、以下叙述中正确的是

(A)空语句就是指程序中的空行

(B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的 (C)复合语句在语法上包含多条语句,其中不能定义局部变量

(D)当用scanf从键盘输入数据时,每行数据在没有按下回车键(Enter键)前,可以任意修改 标准答案:D

75、以下叙述中正确的是

(A)程序必须包含所有三种基本结构才能成为一种算法

(B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 (C)只有简单算法才能在有限的操作步骤之后结束

(D)我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令 标准答案:D

- 2 -

76、以下叙述中正确的是

(A)在C语言程序设计中,所有函数必须保存在一个源文件中 (B)结构化程序必须包含所有的三种基本结构,缺一不可 (C)只要包含了三种基本结构的算法就是结构化程序

(D)在算法设计时,可以把复杂任务分解成一些简单的子任务 标准答案:D

77、以下叙述中正确的是

(A)预定义的标识符是C语言关键字的一种,不能另作他用 (B)只能在函数体内定义函数,其他地方不允许定义变量

(C)常量的类型不能从字面形式上区分,需要根据类型名来决定 (D)整型常量和实型常量都是数值型常量 标准答案:D

78、以下叙述中正确的是

(A)八进制数的开头要使用英文字母o,否则不能与十进制区分开

(B)英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符 (C)在C程序中的八进制和十进制,可以是否点数

(D)整型变量可以分为int型、short型、long型、unsigned型四种 标准答案:D

79、以下叙述中正确的是

(A) C语言程序总是从main函数开始执行 (B) C语言程序所调用的函数必须放在main函数的前面

(C) C语言程序中main函数必须放在程序开始位置(D) C语言程序总是从最前面的函数开始执行 96、以下叙述中正确的是

(A)在使用scanf函数输入整型或实数时,输入数据之间只能用空格来分隔 (B)在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上 (C)使用printf函数无法输入百分号%

(D)在printf函数中,各个输出项只能是变量 标准答案:B

97、以下叙述中正确的是

(A)复合语句也被称为语句块,它至少要包含两条语句

(B)在scanf函数的格式中,必须有与输出项一一对应的格式转换说明 (C) scanf函数中的字符串,是提示程序员的。输入数据时不必管它

(D)只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度

- 3 -

- 4 -

- 5 -

D)函数既可以直接调用自己,也可以间接调用自己 标准答案:D

420)以下叙述中正确的是

A)在复合语句中不能定义变量

B)对于变量而言,“定义”和“说明”这两个实际上同一个意思 C)函数的形式参数不属于局部变量 D)全局变量的存储类别可以是静态类 标准答案:D

421)设有定义语句:

char *aa[a]={“abcd”,”ABCD”}; 则以下叙述正确的是

A)aa是指针变量,它指向含有两个元素的字符型数组 B)aa数组的值分别是字符串“abcd”和“ABCD”

C)aa数组的两个元素只能存放含有4个字符的一维数组的首地址 D)aa[0]存放字符串“abcd”的首地址 标准答案:D

435)以下叙述中正确的是

A)#include必须放在C程序的开头

B)C语言的预处理不能实现宏定义和条件编译的功能 C)预处理命令行必须位于C源程序的起始位置 D)在C语言中,预处理命令行都以“#”开头 标准答案:D

485)以下叙述错误的是

A、C程序对预处理命令行的处理是在程序执行的过程中进行的 B、在程序中凡是以“#”开始的语句行都是预处理令行 C、#define MAX 是合法的宏定义命令行 D、预处理命令行的最后不能以分号表示结束 490)若程序中有宏定义行: #defined N 100

则以下叙述中正确的是

A、 在运行时用100替换标识符N B、 宏定义行中定义了标识符N的值为整数100 C、 上述宏定义实现将100赋值给标识符N

D、 在编译程序对C源程序进行预处理时用100替换标识符N 标准答案: D

517)下面选项中关于编译预处理的叙述正确的是 A)预处理命令行不能出现在程序的最后一行

B)凡是以#号开头的行,都被称为编译预处理命令行 C)预处理命令行必须使用分号结尾

D)预处理命令行的作用域是到最近的函数结束处 标准答案:B

518)以下叙述中正确的是

A)使用typedef说明新类型名时,其格式是:typedef 新类型名原类型名 B)在使用typedef改变原新类型的名称后,只能使用新的类型名 C)使用typedef说明新类型名时,后面不能加分号

- 11 -

D)在程序中,允许用typedef来说明一种新的类型名 标准答案:D

519)以下叙述中正确的是

A)结构体类型中各个成分的类型必须是一致的

B)在定义结构体类型时,编译程序就为它分配了内存空间

C)结构体类型中的成分只能是C语言中预先定义的基本数据类型 D)一个结构体类型可以由多个称为成员(或域)的成分组成 标准答案:D

520)以下叙述中正确的是

A)元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义 B)结构体类型中的各个成分均不能是数组或指针

C)使用typedef定义新类型名后,新类型名与原类型名实际上是等价的 D) 结构体类型的变量,不能在声明结构体类型组成时一起定义 标准答案:C

521下面选项中关于位运算叙述中正确的是 A)右移运算时,高位总是补0

B)位运算的对象只能是整型或字符型数据 C)左移运算的结果总是原操作数据2倍 D) 位运算符都需要两个操作数 标准答案:B

522)下面选项中关于“文件指针”概念的叙述正确的是

A) 文件指针就是文件位置指针,表示当前读写数据的位置

B)把文件指针传给fscaf函数,就可以向文本文件中写入任意的字符 C)文件指针指向文件在计算机中的存储位置 D) 文件指针是程序中用FILE定义的指针变量 标准答案:D

523)以下叙述中正确的是

A)在包含文件中,不得再包含其他文件

B)#include命令行不能出现在程序文件的中间

C)虽然包含文件被修改了,包含该文件的源程序也可以不重新进行编译和连接 D)在一个程序中,允许使用任意数量的#include命令行 标准答案:D

524)以下叙述中正确的是

A)函数的返回值不能结构体类型

B)结构体数组不能作为参数传给函数

C)在调用函数时,可以将结构体变量作为实参传给函数 D)函数的返回值不能是结构体指针类型 标准答案:C

525)以下叙述中正确的是

A)结构体变量的地址不能作为实参传给函数 B)结构体数组名不能作为实参传给函数

C)即使是同类型的结构体变量,也不能进行整体赋值 D) 结构体中可以含有指向本结构体的指针成员 标准答案:D

526)设有如下的说明和定义

- 12 -

struct { int a;

char *s;} x,*p=&x; x,a=4;

x,s=”hello”; 以下叙述中正确的是

A)语句++p—>a;的效果是使成员a增1 B)语句*p —>s++;等价于(*p)—>s++;

C)( p++)—>a与p++—>a都是合语法的表达式,但二者不等价 D)语句++ p—>a;的效果是使p增1 标准答案:A

527)下面关于位运算符的叙述,正确的是 A)||表示“按位或”的运算 B)~表示“按位异或”的运算 C)# 表示“按位异或”的运算 D)&表示“按位与”的运算 标准答案:D

528)下面关于“EOF”的叙述,正确的是 A) EOF的值等于0

B) EOF是在库函数文件中定义的符号常量

C)对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF D)文本文件和二进制文件都可以用EOF作为文件结束标志 537、以下叙述错误的是

A、可以用typedef说明的新类型名来定义变量

B、typedef说明的新类型名必须使用大写字母,否则会出编译错误 C、用typedef可以说明一种新的类型名

D、typedef的作用是用一个新的标识符来代表已存在的类型名 标准答案:B

538、以下叙述错误的是

A、函数的返回值类型不能是结构体类型,只能是简单类型 B、函数可以返回指向结构体变量的指针

C、可以通过指针变量来访问结构体变量的任何成员 D、只要类型相同,结构体变量之间可以整体赋值

438)读取二进制文件的函数调用形式为: fread(buffer,size,count,fp); 其中buffer代表的是

A) 一个文件指针,指向待读取的文件 B) 一个内存块的首地址,代表读入数据存放的地址 C) 一个内存块的字节数

D) 一个整型变量,代表待读取的数据的字节数 标准答案:B

439)以下叙述中错误的是

A)用typedef可以为各种类型起别名,但不能为变量起别名 B)用typedef可以新的类型明后,原有类型名仍有效

- 13 -

C)可以通过typedef增加新的类型

D)可以用typedef将已存在的类型用一个新的名字来代表 444)以下叙述中正确的是

A)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

B)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据 C)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 D)C语言中的文件是流式文件,因此只能顺序存取数据 448)以下关于宏的叙述中正确的是 A)宏替换没有数据类型限制 B)宏调用比函数调用耗费时间 C)宏名必须用大写字母表示

D)宏定义必须位于源程序中所有语句之前 451、以下关于typedef的叙述错误的是()

A、用typedef可以为各种类型说明一个姓名,但不能用来为变量说明一个新名 B、用typedef为类型说明一个新名,通常可以拯救程序的可读性 C、typedef只是将已存在的类型用一个新的名字来代表 D、用typedef可以增加新类型 458、若有以下语句

typedef struct S

{ int g; char h;} T; 以下叙述中正确的是 A、 B、 C、 D、

T是struct S 类型的变量 可用S定义结构体变量 S是srurct类型的变量 可用T定义结构体变量 标准答案:D

467、下列关于c语言文件的叙述中正确的是

A、文件由结构序列组成,可以构成二进制文件或者文本文件 B、文件由一系列数据依次排列组成,只能构成二进制文件 C、文件由字符序列组成,其类型只能是文本文件

D、文件由数据序列组成,可以构成二进制文件或者文本文件 标准答案:D

474、设文件指针fp已定义,执行语句fp=fopen(“file”,”w”);后,以下针对文本文件file操作叙述的选项中正确的是

A、写操作结束后可以从头开始读 B、可以随意读和写 C、只能写不能读

D、可以再原有内容后追加写 标准答案:C

- 14 -

- 15 -

本文来源:https://www.bwwdw.com/article/9bz3.html

Top