C摸底考试试题.docx
- 文档编号:27549939
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:16
- 大小:19.87KB
C摸底考试试题.docx
《C摸底考试试题.docx》由会员分享,可在线阅读,更多相关《C摸底考试试题.docx(16页珍藏版)》请在冰豆网上搜索。
C摸底考试试题
考试试题
(考试时间90分钟)
一、单项选择题(每题2分,总计40分)
1.用顺序查找法对具有n个结点的线性表进行查找,查找一个结点所需的平均查找时间为( )
A.O(n2)B.O(n)C.O(nlog2n)D.O(log2n)
2.在下列选项中,没有构成死循环的程序是___________
A)
inti=100;
while
(1){
i=i%1001;
if(i>100)
break;
}
B)
for(;;);
C)
intk=1000;
do
{
k--;
}while(k>=1000);
D)
ints=36;
while(s);
s--;
3.若要用下面的程序片段使指针变量P指向一个存储整型变量的动态存储单元;
int*P;
P=______malloc(sizeof(int)*10);
则上面横线部分应填入:
___________
AintBint*C(*int)D(int*)
4.设有以下宏定义:
___________
#defineN3
#defineY(n)((N)*n)
则执行语句:
z=2*(N*Y(4))后,z的值为___________
A出错B72C24D36
5.以下哪种数据结构适合查找操作( )
A,单向链表B,双向链表C,二叉树D,平衡二叉树
6.设有inti;则执行i=1;++i;i++||i++语句后;i的值为___________
A.1B.2C.3D.4
7.设有inta[]={10,11,12},int*p=&a[0];则执行完串p++;*p+=1;后a[0],a[1],a[2]的值依次是___________
A.10,11,12B.11,12,12C.10,12,12D.11,11,12
8.设有inti,j,k;则表达式i=1,j=2,k=3,i&&j&k的值为___________
A.1B.2C.3D.5
9.设有说明ints[2]={0,1},int*p=s;则下列错误的C语句是___________
A.s+=1;B.p+=1;C.*p++;D.(*p)++;
10.设有程序段
intk=10;
while(k=0)k=k-1;
则下面描述中正确的是___________
A)while循环执行10次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句执行一次
11.下程序的运行结果为___________
intx=0,y=0;
voidfunc1(intx,inty)
{
x=5,y=6;
}
voidfunc2()
{
x=12,y=13;
}
voidmain(void)
{
func1(x,y);
printf(“%d,%d”,x,y);
func2();
printf(“%d,%d”,x,y);
}
A)5,6,12,13
B)0,0,12,13
C)5,6,0,0
D)0,0,0,0
12.若某链表最常用的操作时在最后一个元素之后插入一个节点和删除最后一个节点,则采用( )存储方式节省时间。
A,单链表B,双链表C,单循环链表D,带头节点的双循环链表
13.若有以下定义和语句
structstudent
{
intage;
intnum;
};
structstudentstu[3]={{1001,20},{1002,19},{1003,21}};
main()
{
structstudent*p;
p=stu;
...
}
则以下不正确的引用是___________。
A)(p++)->num;B)p++;C)(*p).num;D)p=&stu.age;
14、请正确指出下列指针的最确切的含义,int(*ptr)[3]、int*(*ptr)[4]、
void*(*ptr)(void*)___________。
A)一个指针数组,数组元素的个数为3个;一个指向4个元素数组的指针、数组的每个元素是一个指针;一个函数的指针,这个函数的返回值还是个指针;
B)一个指向3个元素数组的指针;一个指向4个元素数组的指针、数组的每个元素是一个指针;一个函数的指针,这个函数的返回值还是个指针;
C)一个指针数组,数组元素的个数为3个;一个指针数组、数组的每个元素是一个指针;一个函数的指针,这个函数的返回值还是个指针;
D)一个指向3个元素数组的指针;一个指针数组、数组的每个元素是一个指针;一个函数的指针,这个函数的返回值还是个指针;
15.有下列程序段
chara[3],b[]=”China”;
a=b;
printf(“%s”,a);
则___________。
A)运行后将输出ChinaB)运行后将输出Ch;
C)运行后将输出ChiD)编译出错;
16.请问sizeof(AA_t)是___________。
typedefstruct{
inta;
charb,
shortc,
shortd,
}AA_t;
AA_tA;
AA_t*pA=&A;
下面访问c域方法那个不正确:
A)A.c;B)pA->c;C)pA+sizeof(int)+sizeof(char)D)*pA.c
17.已知一个类A有一个成员变量m_iValue,以及一个SetValue函数设置这个值,需要在构造的时候进行赋值。
以下几种方式中错误的是:
___________
A)A:
:
A(intiValue){m_iValue=iValue;}
B)A:
:
A(intiValue):
m_iValue(iValue){}
C)A:
:
A(intiValue){SetValue(iValue);}
D)A:
:
A(intiValue):
SetValue(iValue){}
18.如果一个类继承了了另外一个类:
classDerived:
protectedBase{}
那么,Derived可以访问Base类中的那些成员:
__________
A)全部
B)公有的成员变量和成员函数
C)公有的和保护的成员变量或函数
D)保护的成员变量和函数
19.有一个类,定义如下:
classA{
public:
A()
{
m_iMaxValue++;
m_iValue=m_iMaxValue;
}
intGetValue(){returnm_iValue;};
public:
Staticintm_iMaxValue=0;
intm_iValue;
};
在使用的时候,有如下操作
A*pObjectList=newA[100];
inta=pObjectList->GetValue();
intb=(pObjectList+10)->GetValue();
intc=pObjectList[99].GetValue();
请选则正确的结果是___________:
A)a=0;b=1;c=1
B)a=1,b=11c=100
C)a=0,b=1c=100
D)a=1,b=1c=1
20.看以下代码:
classBase(){
public:
Base(){m_pcDataBase=newchar[100]};
~Base(){deletem_pcDataBase}
char*pcDataBase;
};
classDerived():
publicBase{
Derived(){m_pcDataDerived=newchar[100];}
~Derived(){deletem_pcDataDerived;}
char*m_pcDataDrived;
};
有两个操作
1Base*pData1=newBase;
deletepData1;
2.Base*pData2=newDerived;
deletepData2;
3.Derived*pData3=newDerived;
deletepData3;
4.Derived*pData4=newDerived[100];
deletepData4;
问题:
那几个操作会内存泄漏?
___________
A)2,3,4B)2,4C)2,3D)4
二、读程序并完成填空(【1】~【8】每空1分,【9】~【14】每空2分,总计20分)。
答案写在答题纸上。
(1)fun函数的功能是:
首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回.请填空.
#define
#defineN100
intfun(int(*a)[N])
{
introw,col,max,min;
for(row=O;row { for(max=a[row][0],col=1;col if(__【1】__) max=a[row][col]; if(row==0) min=max; elseif(__【2】__) min=max; } returnmin; } (2)打印出2至99之间的所有素数(即不能被任何数整除的数)。 #include #include voidmain() { inti,n; for(n=2;__【3】___;n++){ inttemp=int(sqrt(n));//求出n的平方根并取整 for(i=2;___【4】___;i++) { if(n%i==0) ___【5】___; } if(i>temp) printf(“%d”,n); } printf(“\n”); } (3)对按从小到大排列的有序数组a[n]进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。 intBinarySearch(inta[],intx) { intlow=0,high=N-1;//定义并初始化区间下界和上界变量 intmid;//定义保存中点元素下标的变量 while(low<=high){ mid=__【6】__; if(x==a[mid]) __【7】__;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 摸底 考试 试题