C语言题库及答案(选择题) 下载本文

B.树形、网形、环形 C.顺序、选择、循环

D.主程序、子程序、函数 266.以下叙述正确的是()。

A.do-while语句构成的循环不能用其它语句构成的循环来代替. B.do-while语句构成的循环只能用break语句退出.

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环. D.用do-while语句构成的循环,在while后的表达式为零时结束循环 267.对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 A.将5个初值依次赋给a[1]至a[5] B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10]

D.因为数组长度与初值的个数不相同,所以此语句不正确 268.以下不正确的定义语句是()。 A.double x[5]={2.0,4.0,6.0,8.0,10.0}; B.int y[5]={0,1,3,5,7,9}; C.char c1[]={'1','2','3','4','5'}; D.char c2[]={'\\x10','\\xa','\\x8'};

269.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。 A.2 B.3 C.4 D.无确定值 270.若二维数组a有m列,则在a[i][j]前的元素个数为()。 A.j*m+i B.i*m+j C.i*m+j-1 D.i*m+j+1 271.若有说明:int a[3][4];则数组a中各元素()。 A.可在程序的运行阶段得到初值0 B.可在程序的编译阶段得到初值0 C.不能得到确定的初值

D.可在程序的编译或运行阶段得到初值0

272.设有数组定义: char array [ ]=\则数组 array所占的空间为()。 A.4个字节 B.5个字节 C.6个字节 D.7个字节 273.以下能正确定义数组并正确赋初值的语句是()。 A.int N=5,b[N][N];

B.int a[1][2]={{1},{3}}; C.int c[2][]={{1,2},{3,4}}; D.int d[3][2]={{1,2},{34}};

274.以下对二维数组a的正确说明是()。

A.int a[3][] B.float a(3,4) C.double a[1][4] D.float a(3)(4) 275.若有说明:int a[10];则对a数组元素的正确引用是()。

A.a[10] B.a[3,5] B.a(5) D.a[10-10] 276.在C语言中,一维数组的定义方式为:类型说明符数组名()。 A.[常量表达式] B.[整型表达式] C.[整型常量]或[整型表达式] D.[整型常量] 277.以下能对一维数组a进行正确初始化的语句是()。

A.int a[10]=(0,0,0,0,0) B.int a[10]={}; C.int a[]={0}; D.int a[10]={10*1}; 278.以下对一维整型数组a的正确说明是()。

- 26 -

A.int a(10); B.int n=10,a[n];

C.int n; scanf(\ D.#define SIZE 10 (换行) int a[SIZE]; 279.若有说明 int a[3][4];则对a数组元素的正确引用是()。 A.a[2][4] B.a[1,3] C.a[1+1][0] D.a(2)(1) 280.若有说明 int a[3][4];则a数组元素的非法引用是()。 A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 281.以下能对二维数组a进行正确初始化的语句是()。 A.int a[2][]={{1,0,1},{5,2,3}}; B.int a[][3]={{1,2,3},{4,5,6}}; C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[][3]={{1,0,1}{},{1,1}};

282.以下不能对二维数组a进行正确初始化的语句是()。 A.int a[2][3]={0};

B.int a[][3]={{1,2},{0}};

C.int a[2][3]={{1,2},{3,4},{5,6}}; D.int a[][3]={1,2,3,4,5,6};

283.若有说明: int a[3][4]={0};则下面正确的叙述是()。 A.只有元素a[0][0]可得到初值0 B.此说明语句不正确

C.数组a中各元素都可得到初值,但其值不一定为0 D.数组a中每个元素均可得到初值0

284.若有说明: int a[][4]={0,0};则下面不正确的叙述是()。 A.数组a的每个元素都可得到初值0 B.二维数组a的第一维大小为1

C.因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1 D.有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 285.以下定义语句中,错误的是()。 A.int a[]={1,2}; B.char *a[3];

C.char s[10]=\D.int n=5,a[n];

286.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。 A.整型常量 B.整型表达式

C.整型常量或整型表达式 D.任何类型的表达式

287.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。 A.char s[10]=\B.char t[]=\C.char s[10];s=\

D.char s[10];strcpy(s,\

288.以下不能正确定义二维数组的选项是()。 A.int a[2][2]={{1},{2}}; B.int a[][2]={1,2,3,4};

- 27 -

C.int a[2][2]={{1},2,3}; D.int a[2][]={{1,2},{3,4}};

289.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};则数组x在内存中所占字节数是()。

A.3 B.6 C.10 D.20 290.以下数组定义中不正确的是()。 A.int a[2][3];

B.int b[][3]={0,1,2,3}; C.int c[100][100]={0};

D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

291.以下不能正确进行字符串赋初值的语句是()。 A.char str[5]=\B.char str[]=\C.char *str=\

D.char str[5]={'g','o','o','d',0};

292.若使用一维数组名作函数实参,则以下正确的说法是()。 A.必须在主调函数中说明此数组的大小 B.实参数组类型与形参数组类型可以不匹配 C.在被调用函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致

293.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。

A.自动(auto) B.静态(static) C.外部(extern) D.寄存器(register) 294.在C语言中,函数的隐含存储类别是()。

A.auto B.static C.extern D.无存储类别 295.以下正确的描述是:在C语言程序中()。 A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和函数的调用均可以嵌套

296.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。 A.void B.int C.float D.double 297.以下不正确的说法是:C语言规定()。 A.实参可以是常量,变量或表达式 B.形参可以是常量,变量或表达式 C.实参可以为任何类型

D.形参应与其对应的实参类型一致 298.以下正确的函数定义形式是()。 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);

299.以下正确的说法是:在C语言中()。

A.实参和与其对应的形参各占用独立的存储单元 B.实参和与其对应的形参共占用一个存储单元

- 28 -

C.只有当实参和与其对应的形参同名时才共占用存储单元 D.形参是虚拟的,不占用存储单元 300若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数()。 A.没有返回值

B.返回若干个系统默认值 C.能返回一个用户所希望的值 D.返回一个不确定的值

301.以下叙述中正确的是()。

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态(static)类别变量的生存期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值 302.以下正确的说法是()。

A.用户若需调用标准库函数,调用前必须重新定义

B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C.系统根本不允许用户重新定义标准库函数 D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

303.若用数组名作为函数的实参,传递给形参的是()。 A.数组的首地址

B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数

304.以下正确的说法是()。

A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参类型不一致,以实参类型为准

305.C语言允许函数类型缺省定义,此时函数值隐含的类型是()。 A.float B.int C.long D.double 306.C语言规定,函数返回值的类型是由()。 A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定 307.以下错误的描述是:函数调用可以()。 A.出现在执行语句中 B.出现在一个表达式中 C.做为一个函数的实参 D.做为一个函数的形参

308.关于建立函数的目的,以下正确的说法是()。 A.提高程序的执行效率 B.提高程序的可读性 C.减少程序的篇幅

- 29 -

D.减少程序文件所占内存

309.以下只有在使用时才为该类型变量分配内存的存储类说明是()。 A.auto和 static B.auto和 register C.register和 static D.extern和 register

310.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。 A.函数调用可以作为独立的语句存在 B.函数调用可以作为一个函数的实参 C.函数调用可以出现在表达式中

D.函数调用可以作为一个函数的形参

311.当调用函数时,实参是一个数组名,则向函数传送的是()。 A.数组的长度 B.数组的首地址

C.数组每一个元素的地址 D.数组每个元素中的值

312.在C语言中,形参的缺省存储类别是()。

A.auto B.register C.static D.extern

313.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 A.地址传递 B.单向值传递

C.由实参传给形参,再由形参传回实参 D.传递方式由用户指定

314.以下运算符中优先级最低的是()。

A.&& B.& C.|| D.|

315.在C语言中,要求运算数必须是整型或字符型的运算符是()。 A.&& B.& C.! D.|| 316.在C语言中,要求运算数必须是整型的运算符是()。 A.^ B.% C.! D.> 317.在位运算中,操作数每左移一位,其结果相当于()。 A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以4

318.表达式,0x13&0x17的值是()。

A.0x17 B.0x13 C.0xf8 D.0xec 319.若a=1,b=2则 a|b的值是()。

A.0 B.1 C.2 D.3 320.以下叙述中不正确的是()。 A.预处理命令行都必须以#号开始

B.在程序中凡是以#号开始的语句行都是预处理命令行 C.C程序在执行过程中对预处理命令行进行处理 D.以下是正确的宏定义 #define IBM_PC

321.设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。

- 30 -