PR(err)
1.以下正确的程序段是.
A. char str[20]; scanf("%s",&str);
B. char *p=malloc(8); scanf("%s",p);
C. char str[20]; scanf("%s",str[2]);
D. char str[20],*p=str; scanf("%s",p[2]);
参考答案:B
2.有以下程序段#include <stdio.h>int main(){
int x[] = {10, 20, 30};
int px = x;
printf("%d,", ++px);
printf("%d,", px);
px = x;
printf("%d,", (px)++);
printf("%d,", *px);
px = x;
printf("%d,", *px++);
printf("%d,", *px);
px = x;
printf("%d,", *++px);
printf("%d\n", *px);
return 0; }
程序运行后的输出结果是( )[2分]
A.20,10,11,10,11,10,11,10
B.11,11,11,12,12,20,20,20
C.11,11,11,12,12,13,20,20
D.20,10,11,20,11,12,20,20
参考答案:B
3.在说明语句:int *f();中,标识符f代表的是______
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
参考答案:D
4.对枚举类型进行定义,不正确的是()
A. enum c[D=3, E, F];
B. enum a(A, B, C];
C. enum b[1, 2, 3];
D. enum d[X=0,Y=5,Z=9];
参考答案:C
5.在一个单链表中,已知q所指向节点是p所指向节点的前驱,若在p和q之间插入s节点,则执行( )
A.s->next = p->next;p->next=s
B.p->next=s->next ;s->next=p
C.q->next=s;s->next=p
D.p->next = s;s->next = q
参考答案:C
6.若有说明:int i, j=2,*p=&i;,则能完成i=j 赋值功能的语句是________
A. i=*p;
B. p=&j;
C. i= &j;
D. i=**p;
参考答案:B
7.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )
A. a:=b+1
B. a=b=c+2
C. 18.5%3
D. a=a+7=c+b
参考答案:B
8.具有n个整数的数组 A=[29,6,28,20,2,24] 使用直接插入排序算法排序, 经过三趟排序后,数组A的排列状态将是( )
A.6,29,28,20,2,24
B.6,28,20,2,24,29
C.6,20,28,29,2,24
D.2,6,20,24,28,29
参考答案:C
9.如下代码片段的时间复杂度是( )
for(int i = 1; i <= n; i++)
{ int j = 1;
while (j<=n)
{ j = j * 2;}}[2分]
A.O(n2)
B.O(log2n)
C.O(n*log2n)
D.O(2n)
参考答案:C
10.以下不能正确赋值的是( )
A.char s1[10];s1=”test”;
B.char s2[]={‘t’,’e’,’s’,’t’}
C.char s3[20]=”test”;
D.char s4[4]={‘t’,’e’,’s’,’t’}
参考答案:A
11.链表不具有的特点是()
A.不必事先估计存储空间
B.可随机访问任一元素
C.插入删除不需要移动元素
D.所需空间与线性表长度成正比
参考答案:B
12.设有以下定义:char *ch[2] = {“abc”, “xyz”}; ,则以下正确的叙述是( )
A.数组ch的两个元素中分别存放了 ’a’和 ’A’的首地址
B.数组ch的两个元素中分别存放的是含有3个字符的一维字符数组的首地址
C.ch是指针变量,它指向含有两个数组元素的字符型一维数组
D.数组ch的两个元素的值分别是”abc”和”xyz”
参考答案:B
13.请读下列程序,该程序是在单链表中删除一个结点的算法,为空出的地方填上正确的语句。
void demo2(LinkList head,ListNode *p)
{//head 是带头结点的单链表,删除P指向的结点
ListNode *q=head;
while(
q->next != NULL
){
if (q->NEXT->data==p->data) {
LinkList dele = q->next;
q->next=dele->next;
free(dele);return;
}
q=q->next;
}