C语言笔试题带答案 下载本文

评析:习惯上常常把语句重复执行的次数作为算法运行时间的相对量度,称作算法的时间复杂度。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。

(2)数据的物理结构在计算机存储空间中的存放形式称为数据的 【2】 。

答案:【2】内模式或物理模式或存储模式

评析:一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据库内部的表示方法。例如,记录的存储方式是顺序存储、索引按照什么方式组织;数据是否压缩存储,是否加密等。

(3)若按功能划分,软件测试的方法通常分为 【3】 测试方法和黑盒测试方法。

答案:【3】白盒

评析:软件测试的方法有三种:动态测试、静态测试和正确性证明。设计测试实例的方法一般有两类:黑盒测试方法和自盒测试方法。

(4)数据库三级模式体系结构的划分,有利于保持数据库的 【4】 。

答案:【4】数据独立性

评析:数据库的三级模式体系结构把数据的组织管理工作进行了划分,把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,保证了数据的独立性。

(5)在关系运算中,查找满足一定条件的元组的运算称之为 【5】 。

答案:【5】选择

评析:在关系数据库中,选择运算也是一个元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中的那些满足逻辑条件的元组所组成。

(6)在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为 【6】 。

答案:【6】8

评析:在一般16位PC机中,一个float型数据在内存中占4个字节(32位),一个double型数据占8个字节。

(7)设有以下变量定义,并已赋确定的值,

char w;int x;float y;double z;

则表达式:w*x+z-y所求得的数据类型为 【7】 。

答案:【7】double型或双精度型

评析:①先进行W*X的运算,先将字符型w转换成整型,运算结果为整型;②再将W*X的结果与z相加,要先将第一步的整型转换为double型,运算结果为double型;③最后将W*X+Z的结果与y相减,要先将float型y转换成double型,结果为double型。

(8)若运行时给变量x输入12,则以下程序的运行结果是 【8】 ;

main(){

int,y;

scanf(””%d””,&X);

y=x>12?x+lO:x-12;

printf(“”%d\n”\

}

答案:【8】0

评析:三目运算符的形式为(表达式1)7(表达式2):(表达式3)。当(表达式1)值为真时,返回(表达式2)的值;为假时,返回(表达式3)的值。题中因为x>t2为假,所以结果为x-12,即为0。

(9)四条语句:x++;、++x;、x=x+l;、x=l+x;,执行后都使变量x中的值增l,请写出一条同一功能的赋值语句(不得与列举的相同) 【9】 。

答案:【9】x+=1:

评析:题面中的四条语句的作用是使x的值加1,在c中有多种方法可以对变量进行加1操作,这里可以利用C的复合赋值运算符+=实现,本题答案为x+=1:。

(10)设有以下定义和语句,则*(*(p+2)+1)的值为 【10】 。

int[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

答案:【10】60

评析:本题定义了一个3行2列的二维数组a,并定义了一个指向两个元素的一维数组指针p,让p指向二维数组a的首行。*(*(p+2)+1)是引用a[2][1],其值是60。

(11)若要使指针p指向一个double类型的动态存储单元,请填空。

p= 【11】 malloc(sizeof(double));

答案:【11】(double*)

评析:函数malloc返回的是void*,所以若要使指针指向一个double类型,则必须进行类型转换,类型转换格式为:(数据类型*)。

(12)下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请补充完整。

main().

{ int ij;

for(i=O; 【12】 ;i++)

{ j=I*10+6;

if( 【13】 )continue;

printf(“%d”,j);

}