1、1). 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )A.9B.10C.45D.90正确答案:C答案解析:线性表的长度为n,最坏情况下冒泡排序需要比较的次数为n(n -1)/2。2). 以下叙述中错误的是( )A.gets函数用于从终端读入字符串B.getchar函数用于从磁盘文件读入字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件正确答案:B答案解析:本题考查的是输入输出函数的使用,gets和 getchar函数用于从标准输入设备终端读入字符串和字符,并非从磁盘文件读入,fputs用于把字符串输出到文件,fwrite用于以二进
2、制形式输出数据到文件。3). 设有说明int(*ptr)M;其中的标识符ptr是( )。A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个指向具有M个整型元素的一维数组的指针D.具有M个指针元素的一维指针数组,每个元素都只能指向整型变量正确答案:C答案解析:根据C语言的语法规则可知,int(*ptr)M中的标识符ptr是一个指向具有M个整型元素的一维数组指针。4). 以下叙述中正确的是( )A.结构体变量的地址不能作为实参传给函数B.结构体数组名不能作为实参传给函数C.即使是同类型的结构体变量,也不能进行整体赋值D.结构体中可以含有指向本结构体的指针成员正确答案:D答案解析:一个
3、结构体变量包含若干成员,这些成员可以是数值类型、字符类型、数组类型,也可以是指针类型,甚至可以是正在定义的结构体类型指针。用结构体变量作实参时,采取的是值传递的方式,将结构体变量所占的内存单元的内容全部顺序传递给形参。形参也必须是同类型的结构体变量。结构体数组作为参数时,采取了地址传递的方式,形参须为同类型的结构指针或者形参结构数组。5). 以下选项中与 if(a=1)a=b; else a+; 语句功能不同的switch语句是( )A.switch(a=1) case 0:a=b;break; case 1:a+; B.switch(A case 1:a=b;break; default :
4、 a+; C.switch(A default:a+;break; case 1:a=b; D.switch(a=1) case 1:a=b;break; case 0:a+; 正确答案:A答案解析:if else语句的含义是,如果变量a的值等于1,则把变量b的值赋给变量a,否则,变量a的值加1。在本题的4个选项中,与其含义不同的是选项A,表示如果变量a的值等于1,则把变量a的值加1,否则,把变量b的值赋给变量a。6). 设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为( )A.8B.7C.6D.5正确答案:B答案解析:深度为m二叉树其总结点数为2m -1=24-1=15。总结点数减去度为1,2,3,4的结点个数就是叶子结点数。15-4-2-1-1=7。