int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; b中的值是 A.5 B.6 C.8 D.9
(31) 31、有以下程序 main( )
{ char a*+=”abcdefg”,b*10+=”abcdefg”; printf(“%d %d ”,sizeof( A.,sizeof(B)); }
执行后输出结果是 A.7 7 B.8 8 C.8 10 D.10 10
(32) 有以下程序 void swap1(int c[]) { int t;
t=c[0];c[0]=c[1];c[1]=t; }
void swap2(int c0,int c1) { int t;
t=c0;c0=c1;c1=t; }
main( )
{ int a[2]={3,5},b[2]={3,5}; swap1(A); swap2(b[0],b[1]);
printf(“%d %d %d %d ”,a*0+,a*1+,b*0+,b*1+); }
其输出结果是 A.5 3 5 3 B.5 3 3 5 C.3 5 3 5 D.3 5 5 3
(33) 有以下程序 void sum(int * A.
{ a[0]=a[1];} main( )
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) &nb
sp; sum(&aa[i]); printf(“%d ”,aa*0+); }
执行后的输出结果是 A.4 B.3 C.2 D.1
(34) 34、有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j;
if(i>2) i=3-j; s+=b[i][j]; }
return s; }
main( )
{ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf(“%d ”,f(A)); }
执行后的输出结果是 A.12 B.11 C.18 D.16
(35) 有以下定义 #include
char a[10],*b=a;
不能给数组a输入字符串的语句是 A.gets(A) B.gets(a[0]) C.gets(&a[0]); D.gets(B);
(36) 有以下程序 main( )
{ char *p*10+=,“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”-; printf(“%d ”,strlen(p*4+)); }
执行后输出结果是 A.2 B.3 C.4
D.5
(37) 有以下程序 int a=2; int f(int *A) {return (*A)++;} main( ) { int s=0; { int a=5; s+=f(&A); }
s+=f(&A);
printf(“%d ”,s); }
执行后输出结果是 A.10 B.9 C.7 D.8
(38) 有以下程序 #define f(x) x*x main( ) { int i;
i=f(4+4)/f(2+2); printf(“%d ”,i); }
执行后输出结果是 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 ”,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 ”,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(“ ”); } }
在下划线处应填入的是 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(“ ”); }
其输出结果是
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 ”,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};