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用于以二进制形式输出数据到文件。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答案解析:一个结构体变量包含若干成员,这些成员可以是数值类型、字符类型、数组类型,也可以是指针类型,甚至可以是正在定义的结构体类型指针。用结构体变量作实参时,采取的是″值传递″的方式,将结构体变量所占的内存单元的内容全部顺序传递给形参。形参也必须是同类型的结构体变量。结构体数组作为参数时,采取了″地址传递″的方式,形参须为同类型的结构指针或者形参结构数组。5).以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是()A.switch(a==1){case0:a=b;break;case1:a++;}B.switch(A{case1:a=b;break;default:a++;}C.switch(A{default:a++;break;case1:a=b;}D.switch(a==1){case1:a=b;break;case0:a++;}正确答案:A答案解析:ifelse语句的含义是,如果变量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。