当前位置:免费学习网考试资料计算机类内容页

C语言考试模拟测试题

2020-12-28 14:21:46 计算机类 访问手机版

  C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。下面是小编为大家搜索整理的C语言专项训练题,希望能给大家带来帮助!更多精彩内容请及时关注我们免费学习考试 网!

  1. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为

  A.9

  B.10

  C.45

  D.90

  正确答案:C

  答案解析:线性表的长度为n,最坏情况下冒泡排序需要比较的次数为nn -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. 以下选项中与 ifa==1a=b; else a++; 语句功能不同的switch语句是

  A.switcha==1 case 0:a=b;break; case 1:a++;

  B.switchA case 1:a=b;break; default : a++;

  C.switchA default:a++;break; case 1:a=b;

  D.switcha==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.8

  B.7

  C.6

  D.5

  正确答案:B

  答案解析:深度为m二叉树其总结点数为2m -1=24-1=15。总结点数减去度为1,2,3,4的结点个数就是叶子结点数。15-4-2-1-1=7。