while(p>a)
printf(\ }
A. 5 4 3 2 1 B. 1 2 3 4 5 C.3 4 5 1 2 D.3 2 1 5 4 51610下面程序段的运行结果是( C )。 int a[]={1,2,3,4,5,6},*p=a; int i,sum=0;
for(i=1;i<6;i++) sum+=*(p++); printf(\
A. 10 B. 12 C.15 D.20
51611下面程序运行结果是( D )。 main( )
{ int a[]={1,2,3,4,5},*p,*q,i; p=a; q=p+4; for(i=1;i<5;i++)
printf(\ }
A. 24334251 B. 51423324 C.15243342 51612下面程序运行结果是( B )。 main( )
{ static char a[]=\ char *p=a,*q=b; int i;
for(i=0;i<=6;i++)
if(*(p+i)==*(q+i)) printf(\ }
A. geca B. aceg C.bdf D.fdb 51613以下程序段的运行结果是( B )。 int x[3]={1,2,3}; int *p; p=x;
for(p++;p<&x[2];p++) printf(\ \
A. 3 B. 2 C.1 2 D.2 3
51614以下程序段的运行结果是( B )。 int x[]={2,3,4,5,6,7},*p=x; int i,s=0;
for(i=1;i<5;i++) s+=p[i++]; printf(\
A. 14 B. 8 C.6 D.20
51615以下程序的运行结果是( C )。 main( ) { int x,y;
D.42332415
int *p,*q,*t; x=23; y=45; p=&x;
q=&y; t=p; p=q; q=t;
printf(\ }
A. 23,23 B. 45,45 C.23,45 D.45,23 51616以下程序段运行后x的值为( C )。 int a[]={1,2,3,4,5,6,7,8}; int i,x,*p; x=1; p=&a[1];
for(i=0;i<3;i++) x*=*(p+i);
A. 1 B. 6 C.24 D.120
51617以下程序段运行后x的值为( C )。 int a[]={1,2,3},b[]={4,3,3}; int *p,*q; int i,x; p=a; q=b;
for(i=0;i<3;i++) if(*(p+i)==*(q+i)) x=*(p+i)*2;
A. 2 B. 4 C.6 D.不确定
51700若定义如下结构,则能打印出字母M的语句是( B )。 struct person{ char name[9]; int age; };
struct person class[10]={\ A. printf(\ B. printf(\C.printf(\ D.printf(\51701以下程序段的运行结果是( D )。 union { int n;
char str[2]; }t; t.n=80;
t.str[0]='a';
t.str[1]=0; printf(\
A. 80 B. a C.0 D.97
51702一个结构体变量占用的内存大小是( B )。
A. 占内存容量最大的成员所需容量 B. 各成员所需内存容量之和 C. 第一个成员所需内存容量 D. 最后一个成员所需内存容量 51703以下程序段的运行结果是( C )。 union { int x; float y;
char c; }m,n; m.x=5; m.y=7.5; m.c='A'; n.x=8;
printf(\
A. 5 B. 7.5 C.65 D.8
51704若有定义: struct student {int num; char name[8]; char sex; float score; }stu1; 则变量stu1所占用的内存字节数是( A )。 A. 15 B. 16 C.8 D.19
51706若有定义: struct stuent {int num; char sex; int age; }stu1; 下列叙述不正确的是( B )。
A. student是结构体类型名 B. struct student是结构体类型名
C.stu1是用户定义的结构体类型变量名 D.num,sex,age都是结构体变量stu1的成员 51707下面程序的运行结果是( A )。 #include
double d; }a[2]; void main()
{printf(\ } A. 16 B. 8 C.4 D.2
51708下面程序的运行结果是( B )。 #include
char c; }; struct
{char a[2]; int i;
union data d; }p; void main()
{printf(\ } A. 5 B. 6 C.7 D.8
51709以下C语言共用体类型数据的描述中,正确的是( C )。 A. 共用体变量占的内存大小等于所有成员所占的内存大小之和 B. 共用体类型不可以出现在结构体类型定义中
C. 在定义共用体变量的同时允许对第一个成员的值进行初始化 D. 同一共用体中各成员的首地址不相同
51710设有如下语句: struct stu {int num;
int age; };
struct stu s[3]={{101,18},{102,21},{103,19}}; struct stu *p=s;
则下面表达式的值为102的是( B )。
A. (p++)->num B. (*++p).num C.(*p++).num D.*(++p)->num 51711若有下面定义,能打印出字母'L'的语句是( A )。 struct class
{char name[8]; int age; };
struct class s[12]={\ A. printf(\ B. printf(\C.printf(\ D.printf(\
51712若有下面定义,对结构体变量成员不正确引用的语句是( B )。 struct pup
{char name[20]; int age;
int sex; }p[3],*q; q=p;
A. scanf(\ B. scanf(\ C.scanf(\ D.scanf(\51713以下程序段的运行结果是( B )。 union
{ int num1; int num2; }s; s.num1=20; s.num2=30;
printf(\
A. 20 B. 30 C.50 D.2030 51714若有定义: struct data { char a;
float b[3];
long c; }d1; 则变量d1的长度是( D )。 A. 15 B. 12 C.4 D.17
51715若有定义:union u_type {int x; float y[3]; char z; }a; 则变量a的长度是( C )。 A. 1 B. 4 C.12 D.15
51716若有定义: struct teacher {int num; char name[10]; char sex; int age; }t1={2001,\ 则下列( A )对结构变量引用是正确的。 A. t1.name B. t1->name C.t1.name[0] D.t1->name[0]
51717下列( 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;
51718若有定义: struct teacher {int num; char sex; int age; }teacher1; 则下面叙述错误的是( D )。
A. struct是结构类型的关键字 B. struct teacher是用户定义的结构类型 C.num、sex、age都是结构变量teacher1的成员 D.teacher1是结构类型名
51801若有以下定义: struct node { int data; struct node *next; }; struct node *p; 已建立如下图所示的链表:p → data│next┼→ data│next┼→...─→ data│NULL│ 指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是( D )。 A. while(p!=NULL) { printf(\ p++; } B. while(p) { printf(\ p=p->next; } C.for( ; p!=NULL; p++) printf(\ D.for( ; p; p=p->next) printf(\
51802若有以下定义: struct node { int data; struct node *next; } struct node m,n,k, *head, *p; 已建立如下图所示的链表:
m n k head →│data│next┼→│data│NULL│ p →│data│next│ 指针head指向变量m, m.next指向变量n,p指向变量k,不能把结点k插到m和n之间形成新链表的程序段是( A )。
A. m.next = p; p->next = head->next; B. (*head).next = p; (*p).next = &n; C.head->next = &k; p->next = head->next; D.m.next = &k; k.next = &n;
51803若有以下定义: struct node { int data; struct node *next; } struct node *head,*p; 已建立如下图所示的链表: p↓ head →│data│next┼→│data│next┼→...─→│data│NULL│ 能删除指针p所指向结点的程序段是( C )。
A. p = p->next; head->next=p->next; free(p); B. free(p); p = p->next; head->next=p->next; C.head->next = p->next; free(p); D. free(p); head->next = p->next;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库[G]福建省C语言二级考试选择+填空+程序填空+输出结(7)在线全文阅读。
相关推荐: