if(*(p+i)==*(q+i)) x=*(p+i)*2; A) 2 B) 4 C) 6 D) 不确定
51606 C 以下程序段运行后x的值为()。 int a[9]={1,2,3,4,5,6,3,8,9}; int *p,*q; int i ,x; p=&a[0]; q=&a[8]; for(i=0;i<3;i++) if(*(p+i)==*(q-i)) x=*(p+i)*2; A) 2 B) 4 C) 6
D) 不确定
51607 A 下面程序输出结果是()。 #include
{ int i ; char *s=“abc”; for(i=0;i<3;i++)
printf(“%s\\n”,s+i); }
A) abc bc c B) c
bc
abc C) abc
c bc D) a
ab abc
51608 A 下面程序输出是()。 #include
{ char *str=“12345”,*ps=str+4; printf(“%c\\n”,ps[-4]); } A) 1 B) 2 C) 3 D) 错误
51609 A 从键盘输入1 2 3 4 5<回车>,输出为()。#include
#define N 5
void main()
{ int a[N]; int *p=a; while(pa)
printf(“%d”,*(- -p)); }
A) 5 4 3 2 1 B) 1 2 3 4 5 C) 2 3 4 5 1 D) 4 3 2 1 5
51610 B 以下程序的运行结果是()。 int x[]={2,3,4,5,6,7},*p=x; int i,s=0;
for(i=1;i<6;i++) s+=p[i++]; printf(“%d”,s);
A) 12 B) 15 C) 25 D) 27 51701 C 设有以下定义语句:
struct student {int num; char name[10]; float score;
}wang,zhang;
则不正确的叙述是( )。
A)
struct是结构体类型的关键字 B) zhang是结构体变量名 C) wang是结构体类型名 D)
num,name,score都是结构体类型student的成员名
51702 B 设有以下定义语句: struct student {int num;
char name[10];
float score; }wang,zhang;
则变量wang所占的内存字节数是( )。 A) 14 B) 16 C) 18 D) 20
51703 B 设有如下定义语句:
union u_type {int i;
double x; float f; };
13
struct str_type {char str[100];
union u_type u[2];
}
则语句 printf(“%d”,sizeof(struct str_type)); 的输出结果是( )。 A) 100 B) 116 C) 120 D) 200
51704 C 若有定义: struct teacher { int nun;
char name[10];
char sex; int age; float score; }teacher1;
则变量teacher1所占用的内存字节数是()。 A) 5 B) 14 C) 19 D) 20
51705 C 下列对结构体类型变量定义不正确的是()。 A) struct teacher {int num; int age; }teach1; B) struct
{int num; int age;
}teach1,teach2; C) struct
{int num;
int age; }teacher;
struct teacher teach1; D) struct teacher
{int num; int age; };
struct teacher teach1; 51706 D 若有定义: struct teacher {int num; char sex; int age;
14
}teacher1;
则下列叙述不正确的是()。
A) struct是结构体类型的关键字
B) struct teacher是用户定义的结构体类型
C) num,sex,age都是结构体变量teacher1的成员 D) teacher1是结构体类型名
51707 D 以下程序的运行结果是()。 #include
float f; }u[2];
void main()
{printf(\}
A) 2 B) 4 C) 6 D) 8
51708 D 以下程序运行结果为()。 #include
{ char ch[2]; int i;
union utype u; }a;
void main()
{ printf(“sizeof(a):%d\\n”,sizeof(a)) } A) 5 B) 6 C) 7 D) 8
51709 D 以下C语言共用体类型数据的描述中,不正确的是()。 A) 共用体变量占的内存大小等于所需内存最大的成员所占的内存
B) 共用体类型可以出现在结构体类型定义中 C) 在定义共用体变量的同时允许对第一个成员的值
进行初始化 D) 同一共用体中各成员的首地址不相同
51710 B 若有以下类型说明,则( )是正确的叙述。 typedef union { char str[2];
int i;
}sp;
A) sp是一个共用体变量名 B) sp是一个共用体类型名 C) union sp是共用体类型名 D) typedef union是共用体类型名 51711 D 设有如下语句: struct student { int num; int age;
};
struct student stu[3]={{101,18},{102,21},{103,19}}; struct student *p=stu;
则下面表达式的值为102的是()。 51801 A 若有以下定义:
struct link
{int data;
struct link *next;
}*head,*p;
并已建立如下图所示的链表结构:
data next head
指针p指向如下结点:
data next p
A) (p++)->num B) (p++)->age
C) (*p).age D) (*++p).num
51712 B 以下程序的运行结果是() union
{ int num; char str[2]; } s; s.num=20; s.str[0]=?A?;
s.str[1]=?\\0?;
printf(“%d”,s.num);
A) 20 B) 65 C) 0 D) A
data next data NULL ??
则能够把p所指结点插入到链表中成为链表第2个结点的程序段是( )。 A) p–>next = head–>next; head–>next = p; B) head–>next = p; p–>next = head–>next; C) p.next = head.next; head.next = p; D) (*head).next = p; (*p).next = (*head).next; 51802 D 若有以下定义:
struct link
{int data;
struct link *next;
}a,b,c,*head,*p;
其中,指针head指向变量a,p指向变量c,a.next指向变量b,链表结构如下图所示: a b c
head data next data NULL p data next
则能够把c插入到a和b之间并形成新链表的程序段是( )。 A) a.next = c; c.next = b;
B) head.next = p; p.next = head.next; C) head–>next = &c; p–>next = head–>next; D) (*head).next = p; (*p).next = &b;
15
51803 A 若有以下定义:
struct link {int data;
struct link *next; }*head,*p;
并已建立如下图所示的链表结构:
p
next head data data next ?? data NULL
则能保留链表其它结点,而删除P所指向结点的程序段是(A)。
A) head–>next = p–>next; free(p);
B) head–>next = p; p–>next = head–>next; free(p); C) free(p); head–>next = p; p–>next = head–>next; D) free(p); head–>next = p–>next; 51804 A 若有定义: struct node { int data;
struct node *next; }; 及函数: void fun (struct node *head)
{ struct node *p=head; while(p)
{struct node *q=p->next;
free(p);
p=q;}
}
调用head是指向链表首结点的指针,整个链表的结构图如下图:
head
2 15 ?? 27 NULL 则函数fun() 的功能是( )。
A) 删除整个单向链表 B) 删除单向链表中的一个结点 C) 显示单向链表中的所有数据 D) 创建单向链表 51805 C 若有定义: struct node
{ int data;
struct node *next; }; 及函数: void fun (struct node *head)
{ struct node *p=head; while(p)
{ printf(“%d”,p->data);
p=p->next; }
}
调用head是指向链表首结点的指针,整个链表的结构图如下图:
head
25 47 ?? 13 NULL 则函数fun() 的功能是( )。
A) 删除单向链表 B)显示单向链表中的所有数据 C)显示单向链表中的第一个数据 D)创建单向链表
16
相关推荐: