C语言考试

更新时间:2023-10-21 10:36:01 阅读量: 综合文库 文档下载

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

《C语言程序设计》课程考试题库

第一章 C语言概述

一、单项选择题

1、C 语言规定,必须用( )作为主函数名。 A.Function B.include C.main D.stdio 答案:C

2、( )是C 程序的基本构成单位。

A.函数 B.函数和过程 C.超文本过程 D.子程序 答案:A

3、在 C 语言中,每个语句和数据定义是用( )结束。 A.句号 B.逗号 C.分号 D.括号

二、判断题

1、一个 C 程序可以包含任意多个不同名的函数,但有且仅有一个主函数。( ) 答案:正确

2、C 语言规定: 在一个源程序中, main函数的位置必须在最开始。( ) 答案:错误

3、在 C 程序中语句是以分号结束的。( ) 答案:正确

第二章 程序的灵魂——算法

一、单项选择题

1、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( )A.有0个或多个输入 B.有0个或多个输出 C.有穷性 D.可行性 答案:B

2、以下叙述中正确的是( )。 A. C语言比其它语言高级。

B. C语言可以不用编译就能被计算机识别执行。

。 C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。 D. C语言出现的,具有其它语言的一切优点。 答案:C

3、以下叙述正确的是( )。

A. C语言的源程序不必通过编译就可以直接运行。

B. C语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C. C语言源程序经编译形成的二进制代码可以直接运行。 D. C语言中的函数不可以单独进行编译。 答案:B 答案:B

二、判断题

1、C语言的书写格式不会影响程序的可读性。( ) 答案:错误 2、C 语言程序实现与其他高级语言一样也要经过编辑、编译连接和运行这样的三步曲。(答案:正确

3、健壮的算法不会因为非法输入而出现莫名其妙的状态。( ) 答案:正确

第三章 数据类型 运算符与表达式

一、单项选择题

1、下列字符串是标识符的是( )。

A._HJ B.9_student C.long D.LINE 1 答案:A

2、( )不是 C 语言提供的合法关键字。

A.switch B.print C.case D.default 答案:B

3、判断字符型变量 ch 为小写字母的表达式是( )。

A.’a’<=ch<=’z’ B.(ch>=a)&&(ch<=z) C.(ch>=’a’)||(ch<=’z’) D.(ch>=’a’)&&(ch<=’z’) 答案:D

4、在C 语言中,回车换行符是( )。 A.\\n B.\\t C.\\v D.\\b

) 答案:A

5、设整型变量 a 值为9,则下列表达式中使 b 的值不为4的表达式( )。 A.b=a/2 B.b=a%2 C.b=8-(3,a-5) D.b=a>5?4:2 答案:B

6、能正确表示 x 的取值范围在[0,100]和[-10,-5]内的表达式是( )。 A.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B.(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C.(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 答案:B

7、10+’a’+1.5-567.345/’b’的结果是( )型数据。 A.long B.double C.int D.unsigned float 答案:B

8、设 a、b 和 c 是 int 型变量,且 a=2,b=4,c=6,则下面表达式中值为 0 的是( ) 。 A.‘a’+ ‘b’ B.a<=b C.a||b+c&&b-c D.!( (a

9、已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为( )。 main()

{char c=’A’;int i=10; c=c+10; i=c%i;

printf(“%c,%d\\n”,c,i); }

A.75,7 B.75,5 C.K,5 D.因存在非图形字符,无法直接显示出来 答案:C

10、C 语言中最简单的数据类型包括( ) 。

A.整型,实型,逻辑型 B.整型,实型,字符型 C.整型,字符型,逻辑型 D.整型,实型,逻辑型,字符型 答案:B

11、C 语言中,运算对象必须是整型数的运算符是( )。 A.% B.\\ C.% 和 \\ D.** 答案:A

12、下面程序的输出结果是( ) 。 mian()

{int x=2,y=0,z;

x*=3+2; printf(“%d”,x); x*=y=z=4; printf(“%d”,x); }

A.8 40 B.10 40 C.10,4 D.8,4 答案:B

13、下面程序的输出结果是( )。 main() {int i,j;

i=16;j=(i++)+i;printf(“%d”,j); i=15;printf(“%d %d”,++i,i); }

A.32 16 15 B.33 15 15 C.34 15 16 D.34 16 15 答案:A

14、若已定义 X和 Y为double 类型,则表达式:x=1,y=x+3/2 的值为( )。 A.1 B.2 C.2.0 D.2.5 答案:C

二、判断题

1、在C 语言中,整型数据与字符型数据在任何情况下都可以通用。( ) 答案:错误

2、在C 语言程序中,AHP 和 ahp 分别代表两个不同的标识符。( ) 答案:正确

3、在C 语言中,int、char和 short 三种类型数据在内存中所占用的字节数都是由用户自 己定义的。( ) 答案:错误

4、在 C 程序中一行内可以写几个语句,一个语句可以分写在多行上。因此,并不是每一条 C 语句都必须有一个分号的。( ) 答案:错误

5、在 C 语言程序中,happy是正确的标识符。( ) 答案:正确

6、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。( ) 答案:正确

7、浮点型常量的指数表示中 ,e 是可以省略的。 ( ) 答案:错误

第四章 最简单的C程序设计——顺序程序设计

一、单项选择题

1、C 语言中调用 printf 进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同,如果格式说明的个数小于输出项的个数,多余的输出项将 ( )。 A.不予输出 B.输出空格 C.照样输出 D.输出不定值或 0 答案:A

2、为了表示关系 x>=y>=z,应使用C 语言表达式( ) 。 A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=z) C. (x>=y>=z) D. (x>=y)&(y>=z) 答案:A

3、若已定义 int a=25,b=14,c=19;以下三项运算符(?:)所构成的语句的执行结果是( )。 a++<=25&&b--<=2&&c++?printf(\=%d\\n\

A. (***a=25,b=14,c=19) B. (***a=26,b=13,c=19) C. (###a=25,b=14,c=19) D. (###a=26,b=13,c=19) 答案:D

4、以下程序的输出结果是( )。 main() {

int i=010,j=10,k=0x10; printf(\

A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16

第八章 函数

一、单项选择题

1、以下函数定义正确的是( )。

A.double fun(int x, int y) B.double fun(int x; int y) C. double fun(int x, int y) ; D.double fun(int x , y) 答案:A

2、C 语言规定,简单变量作实参,它与对应形参之间的数据传递方式是( )。 A.地址传递 B.单向值传递 C.双向值传递 D.由用户指定传递方式 答案:B

3、以下关于C语言程序中函数的说法正确的是( ) 。 A.函数的定义可以嵌套,但函数的调用不可以嵌套; B.函数的定义不可以嵌套,但函数的调用可以嵌套; C.函数的定义和调用均不可以嵌套; D.函数的定义和点用都可以嵌套。 答案:B

4、一个数据类型为 void 的函数中可以没有 return 语句,那么函数的被调用时( )A.没有返回值 B.返回一个系统默认值 C.返回值由用户临时决定 D.返回一个不确定的值 答案:D

5、以下说法不正确的是( )。

A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以是任意类型 D.形参应与其对应的实参类型一致 答案:B

6、以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10

void arrin(int x[N]) { int i=0; while(i

scanf(\}

在下划线处应填入的是 ( )。

A.x+i B.&x[i+1] C.x+(i++) D.&x[++i] 答案:C

7、下列说法正确的是( )。

A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B.一个函数的函数体必须要有执行部分,可以没有变量定义

C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D.以上都不对 答案:C

。 8、若用数组名作为函数调用的实参,传递给形参的是( ) 。 A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数 答案:A

9、如果在一个函数中的复合语句中定义了一个变量,则该变量( ) 。 A.只在该复合语句中有效 B.在该函数中有效 C.在本程序范围内有效 D.为非法变量 答案:A

10、有以下程序

void f(int x,int y) { int t; if(x

{ t=x; x=y; y=t; } } main()

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c); printf(\}

执行后输出的结果是 。

A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 答案:C

二、判断题

1、C 程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。( ) 答案:错误

2、C 程序中函数不可以嵌套定义但可以嵌套调用。( ) 答案: 正确

3、在函数内的复合语句中定义的变量在本函数范围内有效。( ) 答案:错误

4、C 语言规定,简单变量做实参时,与其对应的形参之间是单向的值传递。( ) 答案: 正确

5、数组名也可作为函数参数使用,此时是地址传递。( ) 答案:正确

6、C 语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。( ) 答案:正确

7、函数形参的存储单元是动态分配的。( ) 答案:正确

第九章 预处理命令

一、单项选择题

1、C 语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用( )来提前解除宏定义的作用。

A.# ifdef B.endif C.# undefine D.# undef 答案:D

2、以下不正确的叙述是( )。

A.预处理命令都必须以“#”号开始

B.在程序中凡是以“#”号开始的语句行都是预处理命令行 C.C 语言在执行过程中对预处理命令行进行处理 D. # define ABCD是正确的宏定义 答案:C

3、在文件包含预处理语句(# include)的使用形式中,当之后的文件名用“” (双引号)括起时,寻找被包含文件的方式是( ) 。 A.直接按系统设定的标准方式搜索目录

B.先在源程序所在目录搜索,再按系统设定的标准方式搜索 C.仅仅搜索源程序所在目录 D.仅仅搜索当前目录 答案:B

二、判断题

1、预处理命令的前面必须加一个“#”号。( ) 答案:正确

2、宏替换不占用运行时间。( ) 答案:正确

3、C语言的编译系统对宏命令的处理是在对源程序中其它语句正式编译之前进行的。( ) 答案:正确

第十章 指针

一、单项选择题

1、变量的指针,其含义是指该变量的。

A.值 B.地址 C.名 D.一个标志 答案:B

2、设有说明 int (*ptr)[M];其中 ptr是( )。 A.M 个指向整型变量的指针

B.指向 M 个整型变量的函数指针

C.一个指向具有 M 个整型元素的一维数组的指针

D. 具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量 答案:C

3、如下程序的执行结果是 ( )。

# include main(){

static int a[ ]={1,2,3,4,5,6}; int *p; p=a; *(p+3)+=2;

printf(“%d,%d\\n”,*p,*(p+3)); }

A.1,3 B.1,6 C.3,6 D.1,4 答案:B

4、若有以下定义,则对 a数组元素的正确引用是( )。 int a[5], *p=a;

A.*&a[5] B.a+2 C.*(p+5) D.*(a+2) 答案:D

5、若有定义: int a[2][3];则对 a 数组的第i行第j列(假设 i,j 已正确说明并赋值)元素值的正确引用为( )。

A.* (* (a +i) +j ) B. (a+i)[j] C.* (a+i+j) D.* (a +i)+j 答案:A 6、设有下面的程序段: char s[ ]=“china”; char *p; p=s; 则下列叙述正确的是( )。 A.s 和 p 完全相同

B.数组 s 中的内容和指针变量 p 中的内容相等 C.s 数组长度和 p 所指向的字符串长度相等 D.*p与s[0]相等 答案:D

7、若有下列说明和语句:int a[4][5], (*p)[5]; p = a;则对a 数组元素的正确引用是 ( )。

A.p+1 B.*(p+3) C.*(p+1)+3 D.*(*p+2) 答案:B

二、判断题

1、在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。( ) 答案:正确

2、指针变量,只能作为函数的形参,不可以作函数的实参。( ) 答案:正确

3、由于指针变量存储的是地址,指针变量被定义之后可以指向任一类型的变量。( ) 答案:错误

第十一章 文件

一、单项选择题

1、若用 fopen( )函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是( )。

A. “ab+” B. “wb+” C. “rb+” D. “ab” 答案:B 2、若 fp 是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )。 A.EOF B.0 C.非零值 D.NULL 答案:C

3、以下叙述中不正确的是( ) 。

A.C 语言中的文本文件以 ASCII 码形式存储数据 B.C 语言中对二进制位的访问速度比文本文件快 C.C 语言中,随机读写方式不使用于文本文件 D.C 语言中,顺序读写方式不使用于二进制文件 答案:D

二、判断题

1、文件指针用于指向文件,文件只有被打开后才有对应的文件指针。( 答案:正确

2、文件指针和位置指针都是随着文件的读写操作在不断改变。( ) 答案:错误

3、以“r”方式打开一个文件时,文件指针指向文件首。( ) 答案: 正确

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

Top