首页>计算机等级考试>模拟试题>正文
最经典的C语言试题

www.zige365.com 2010-7-15 8:44:43 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

【例2】(2000年4月)下列程序执行后的输出结果是( )。

main()

{   int a[3][3], *p,i;

   p=&a[0][0];

   for(i=0; i<9; i++)p[i]=i+1;

    printf("%d\n",a[1][2]);

}

A. 3         B. 6           C. 9           D. 随机数

【答案】B

【考点解析】a[1][2]是数组a的第2行第3个元素,即p[5]=6。

【例6】(2000年4月)设已有定义: char *st="how are you";,下列程序段中正确的是( )。

A. char a[11],*p; strcpy(p=a+1,&st[4]);

B.  char a[11]; strcpy(++a, st);

C. char a[11]; strcpy(a, st);

D. char a[ ],*p;strcpy(p=&a[1],st+2);

【答案】A

【考点解析】A选项是把st所指向的字符串的第五个字符开始以后的字符串赋值给数组a第二个元素开始后面的元素;B选项中数组名是地址常量,不能进行自加;C选项形式是正确但st所指字符串有12个字符,a数组只有11个元素,不能进行赋值;D选项数组a没有指定长度。

【例7】(2000年4月)假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行: prg hello good<回车>后,程序的输出结果是( )。

main(int argc, char *argv[ ])

{   int i;

    if(argc<=0)return;

   for(i=1;i

}

A. hello good      B. hg              

C. hel              D. hellogood

【答案】B

【考点解析】main函数第一个参数argc是指命令行中的参数个数,argv是一个指向字符串的字符数组,数组里的元素指向命令行中的字符串。题中,命令行有三个字符串所以argc值为3,输出的是第二个字符串和第三个字符串的第一个字母。

【例8】(2000年9月)有如下程序段

int *p,a=10,b=1;

p=&a; a=*p+b;

执行该程序段后,a的值为( )。

A. 12               B. 11              

C. 10               D. 编译出错

【答案】B

【考点解析】题中a把地址赋值给指针变量p,*p就是a的内容,所以a=10+1=11。

【例9】(2000年9月)以下函数返回a所指数组中最小的值所在的下标值

fun(int *a, int n)

{   int i,j=0,p;

    p=j;

    for(i=j;i

       if(a[i]

    return(p);

}

在下划线处应填入的是( )。

A. i=p             B. a[p]=a[i]    

C. p=j             D. p=i

【答案】D

【考点解析】首先让p=0设第一个元素最小,通过循环使数组的每个元素都与当前最小元素a[p]比较,如果a[i]

【例11】(2000年9月)有如下程序

main()

{   char s[ ]="ABCD", *p;

    for(p=s+1; p

}

该程序的输出结果是( )。

A. ABCD               B. A                  C. B                D. BCD

本新闻共24页,当前在第19页  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
最经典的C语言试题