10.11b 下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me
则程序输出的结果是
#include "stdio.h"
main(argc,argv)
int argc;char *argv[];
{ int i;
printf("%d\n",argc);
}
A)3
B)4
C)2
D)以上答案都不正确
考生答案: 正确答案: B
10.12b 现有如下程序段
#include "stdio.h"
int *fun(int *a,int *b)
{ int c;
c=*a%*b;
return &c;
}
main()
{ int a=5,b=19,*c;
c=fun(&a,&b);
printf("%d\n",++*c);
}
则程序段执行后的结果为
A)8
B)7
C)6
D)5
考生答案: 正确答案: C
10.13b 现有int a,*b;,b=&a;,则下列运算错误的是
A)*&a
B)&*a
C)*&b
D)&*b
考生答案: 正确答案: B
10.14b 现有如下定义语句
int*p,s[20],i;
p=s;
表示数组元素s[i]的表达式不正确的是
A)*(s+i)
B)*(p+i)
C)*(s=s+i)
D)*(p=p+i)
考生答案: 正确答案: C
10.15b 阅读如下程序段,这个程序在编译的时候会有一个警告,下列关于这个警告叙述正确的是
#include "stdio.h"
#define N 10
int *fun(int a[N],int n)
{ int i,b[N];
for(i=0;ib[i]=a[i];
return(b);
}
main()
{ int a[N]={12,34,45,5,6,34,4,655,2};
int *k;
k=fun(a[N],5);
printf("%d\n",*k);
}
A)指针k没有指向任何对象而成为“无向指针”,所以这里会产生警告
B)return语句不应该有括号,所以在这里会有警告
C)return语句的返回值类型与指针k的基类型不一致,这里会产生警告
D)数组赋值的时候没有把数组全部都赋初值,所以在这里会有警告
考生答案: 正确答案: A
10.16b 现有如下程序段
#include "stdio.h"
main()
{ int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};
int i=0,j=5;
printf("%d\n",*(&a[0][0]+2*i+j-2));
}
则程序的输出结果为
A)21
B)78
C)23
D)28
考生答案: 正确答案: A
10.17b 现有如下程序段
#include "stdio.h"
#include "string.h"
main()
{ char a[]="acfijk"; /*这里是有序的字符序列*/
char b[]="befijklqswz"; /*这里是有序的字符序列*/
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!=′\0′ && b[j]!=′\0′)
{ if(a[i]else if(a[i]>b[j]) c[k++]=b[j++];
else {c[k++]=b[j++]; i++; }
}
while(a[i]==′\0′ && b[j]!=′\0′)
c[k++]=b[j++];
while(a[i]!=′\0′ && b[j]==′\0′)
c[k++]=a[i++];
c[k]=′\0′;
puts(c);
}
则输出结果是
A)acfijkbefijklqswz
B)abceffiijjkklqswz
C)befijklqswz acfijk
D)abcefijklqswz
考生答案: 正确答案: D
10.18b 阅读下面程序,则执行后输出的结果为
#include "stdio.h"
void fun(int *a,int *b)
{ int m;
m=(*a+*b)*(*a+*b);
m+=(*a-*b)*(*a-*b);
printf("%d\n",m);}
main()
{ int a=5,b=6,*x=&a,*y=&b;
fun(x,y);
}
A)120
B)121
C)122
D)123
考生答案: 正确答案: C
10.19b 阅读下面程序,则执行后的结果为
#include "stdio.h"
main()
{ char *str="abcdefghijklmnopq";
while(*str++!=′e′);
printf("%c\n",*str);
}
A)f
B)a
C)e
D)q
考生答案: 正确答案: A
10.20b 现有如下程序段
#include "stdio.h"
int fun(int k,int *m)
{ if(k%3) *m=k*k;
else *m=k/3;
}
main()
{ int (*p)(int,int *),m;
p=fun;
(*p)(78,&m);
printf("%d\n",m);
}
则程序段的输出结果为
A)24
B)25
C)26
D)27
考生答案: 正确答案: C
以上是上海育路网为上海计算机考试收集整理的上海计算机资料,更多资料请点击上海计算机网