该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
}
执行后输出结果是()
A)28 B)22 C)16 D)4
39、设有以下语句
typedef struct S
{ int g; char h;} T;
则下面叙述中正确的是()
A)可用S定义结构体变量 B)可以用T定义结构体变量
C)S是struct类型的变量 D)T是struct S类型的变量
40、有以下程序
struc STU{
char name[10];
int num;
};
void f1(struct STU c)
{ struct STU b={"LiSiGuo",2042};
c=b;
}
void f2(struct STU *c)
{ struct STU b={"SunDan",2044};
*c=b;
}
main( )
{ struct STU a={"YangSan",2041},b={"WangYin",2043};
f1(a);f2(&b);
printf("%d %d\n",a.num,b.num);
}
执行后的输出结果是()
A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043
41、有以下程序
main( )
{ unsigned char a,b;
a=4|3;
b=4&3;
printf("%d %d\n",a,b(;
}
执行后输出结果是()
A) 7 0 B)0 7 C)1 1 D)43 0
42、下面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
main( )
{ int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++) printf(" ");
for(j=1;j<=_______;j++) printf("*");
printf("\n");
}
}
在下划线处应填入的是()
A)i B)2*i-1 C)2*i+1 D)i+2
43、有以下程序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i
for(j=i+2;j
if(a[i]
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa,10);
for(i=0;i<10;i++) printf("%d",aa[i]);
printf("\n");
}
其输出结果是()
A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,
C)9,2,7,4,5,6,3,8,1,10, D)1,10,3,8,5,6,7,4,9,2,
44、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()
A) char s[10]="abcdefg"; B) char t[]="abcdefg",*s=t;
C) char s[10];s="abcdefg"; D) char s[10];strcpy(s,"abcdefg");
45、有以下程序
#include
main(int argc ,char *argv[ ])
{ int i,len=0;
for(i=1;i
printf("5d\n",len);
} 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex abcd efg h3 k44
执行后输出结果是()
A)14 B)12 C)8 D)6
46、有以下程序
void f(int a[],int i,int j)
{ int t;
if(i
{ t=a[i]; a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
main( )
{ int i,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++) printf("%d,",aa[i]); printf("\n");
}
执行后输出结果是()
A)5,4,3,2,1, B)5,2,3,4,1, C)1,2,3,4,5, D)1,2,3,4,5,
47、有以下程序
struct STU
{ char name[10];
int num;
int Score;
};
main( )
{ struct STU s[5]={{"YangSan",20041,703},{"LiSiGuo",20042,580},
{"wangYin",20043,680},{"SunDan",20044,550},
{"Penghua",20045,537}},*p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->Score>p[j]->Score)
{ t=p[i];p[i]=p[j];p[j]=t;}
printf("5d %d\n",s[1].Score,p[1]->Score);
}
执行后输出结果是()
A)550 550 B)680 680 C)580 550 D)580 680
48、有以下程序
#include
struct NODE{
int num;
struct NODE *next;
};
main( )
{ struct NODE *p,*q,*r;
int sum=0;
p=(struct NODE *)malloc(sizeof(struct NODE));
q=(struct NODE *)malloc(sizeof(struct NODE));
r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=1;q->num=2;r->num=3;
p->next=q;q->next=r;r->next=NULL;
sum+=q->next->num;sum+=p->num;
printf("%d\n",sum);