2008年9月全国计算机等级考试二级C语言笔试试卷及解析(4)

2019-03-10 19:26

{ int *p;

p=(int *)malloc(sizeof(int)); *p=n; return *p; } main() { int a;

a=fun(10); printf(\}

程序的运行结果是

A)0 B)10 C)20 D)出错 答案:C

详细解答:该知识点考察的是函数的调用以及引用指针存储单元,也是我们平时上课强调了的知识点。在主函数调用fun函数,实参10单向值传递给形参n,在fun定义了指针变量p并用malloc函数给p分配了存储空间,然后下一条语句把n的值赋给p所指向的存储单元,最后是返回存储单元的值到主函数。所以调用fun(10)的返回值为10,a的值也为10, 选C (32)有如下程序: #include void fun(int a,int b) {

int t; t=a;a=b;b=t; } main()

{int c[10]={1,2,3,4,5,6,7,8,9,0},i;

for(i=0;k<10;i+=2) fun(c[i],c[i+1]);for(i=0;k<10;i++)printf(\\ }

程序的运行结果是

A)1,2,3,4,5,6,7,8,9,0, B)2,1,4,3,6,5,8,7,0,9, C)0,9,8,7,6,5,4,3,2,1, D)0,1,2,3,4,5,6,7,8,9, 答案:A

详细解答:该知识点考察的是函数实际参数与形式参数的传递过程,是我们上课强调的重点内容。该题没有涉及到指针,实参单向的值传递给形参,形参反过来不能传递给实参。在主函数中把数组元素作为实参进行传递给形参a和b,在fun中交换了形参a和b的值,但形参a和b值的改变并不影响实参。所以数组C中的元素没有改变。选A (33)有如下程序: #include struct st

{int x,y;} data[2]={1,10,2,20};

main()

{struct st *p=data; printf(\printf(\}

程序的运行结果是

A)10,1 B)20,1 C)10,2 D)20,2 答案:C

详细解答:该知识点考察的是结构体成员的引用,是我们上课强调的重点内容。在主函数中把一维数组名data赋给了指针变量p,则p指向数组元素data[0],且每一个数组元素含有两个成员x和y,所以表达式p->y 是引用data[0]的成员y,即等于10;(++p)->x是先让指针值自增,往下移动指向了data[1],然后引用data[1]的成员x, 即等于2。选C (34)有如下程序: #include void fun(int a[],int n) { int i,t;

for(i=0;i

{int k[10]={1,2,3,4,5,6,7,8,9,10},i;

fun(k,5);

for(i=2;i<8;i++) printf(\printf(\}

程序的运行结果是

A)345678 B)876543 C)1098765 D)321678 答案:D

详细解答:该知识点考察的是一维数组名作为实参进行参数传递,是我们上课强调的重点内容。在主函数中调用了fun函数,实参为数组名k和整数5,这样对应定义fun函数首部有三种形式(教材P84),这里采用了第二种形式。这样在fun函数对a[i]操作实际上就是对主函数中的k[i]操作,即 k[0]与k[4] 、k[1]与k[3]值交换了,所以选D (35)有如下程序: #include #define N 4

void fun(int a[][N],int b[]) { int i;

for(i=0;i

{ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;

fun(x,y);

for(i=0;i

A)1,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10, 答案:B

详细解答:该知识点考察的是二维数组名和一维数组名作为实参进行参数传递,是我们上课强调的重点内容。在主函数中调用了fun函数,实参为二维数组名x和一维数组名y,这样对应定义fun函数首部也有三种形式(教材P84、P86),这里采用了第二种形式。这样在fun函数对a[i][j]、b[i]进行操作实际上就是对主函数中的x[i][j]、y[i]进行操作,即把 x[0][0]、x[1][1]、x[2][2]和x[3][3]分别赋给y[0] 、y[1]、y[2]和y[3],所以选B (36)有如下程序: #include

int fun(int (*s)[4],int n,int k) { int m,i; m=s[0][k];

for(i=0;im) m=s[i][k]; return m; }


2008年9月全国计算机等级考试二级C语言笔试试卷及解析(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第三方检测工作管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: