19.下列程序的输出结果是( C )。
main()
{char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf("%d",*--p);
}
A) 非法
B) a[4]的地址
C) 5
D) 3
20.下列程序的运行结果是( B )。
void fun(int *a, int *B)
{int *k;
k=a; a=b; b=k;
}
main()
{int a=3, b=6, *x=&a, *y=&b;
fun(x, y);
printf("%d %d", a, B);
}
A) 6 3
B) 3 6
C) 编译出错
D) 0 0
21.下面程序的输出结果是( C )。
main()
{int a[ ]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);
}
A) 0
B) 1
C) 10
D) 9
22.假定以下程序经编译和连接后生成可执行文件PROG . EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCD EFGH IJKL<回车>,则输出结果为( D )。
main( int argc, char *argv[ ])
{while(--argc>0) printf("%s", argv[argc]);
printf("\n");
}
A) ABCDEFGH
B) IJHL
C) ABCDEFGHIJKL
D) IJKLEFGHABCD
23.对于基类型相同的两个指针变量之间,不能进行的运算是( C )。
A) <
B) =
C) +
D) -
24.有以下函数:
char * fun (char *p)
{return p;}
该函数的返回值是( B )。
A) 无确切的值 B) 形参p中存放的地址值
C) 一个临时存储单元的地址
D) 形参p自身的地址值
25.若有以下说明和定义
fun(int *C){…}
main()
{int (*a)()=fun,*b(),w[10],c;
┆
}
在必要的赋值之后,对fun函数的正确调用语句是( B )。
A) a=a(w);
B) (*a)(&C);
C) b=*b(w);
D) fun (B);
26.有如下说明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是( B )。
A) *p+9
B) *(p+8)
C) *p+=9
D) p+8
27.有如下程序:
main()
{char ch[2][5]={“6937”,“8254”},*p[2];
int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>‘\0’;j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
}
该程序的输出结果是( C )。
A) 69825
B 63825
C) 6385
D) 693825
28.若有以下定义和语句:
char *s1=“12345”,*s2=“1234”;
printf(“%d\n”, strlen(strcpy (s1, s2)));
则输出结果是( A )。
A) 4
B) 5
C) 9
D) 10
29.下面程序的输出结果是( C )。
main( )
{char *s=“121”;
int k=0, a=0, b=0;
do
{k++;
if(k%2= =0) {a=a+s[k]-‘0’; continue;}
b=b+s[k]-‘0’; a=a+s[k]-‘0’;
}
while(s[k+1]);
printf(“k=%d a=%d b=%d\n”, k, a, B);
}
A) k=3 a=2 b=3
B) k=3 a=3 b=2
C) k=2 a=3 b=2
D) k=2 a=2 b=3
30.若有以下的定义:
int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a;
则值为3的表达式是( A )。
A) p+=2,*(p++)
B) p+=2,*++p
C) p+=3,*p++
D) p+=2,++*p
编辑推荐:
2013年9月计算机等级考试真题及答案解析专题北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |