二级C语言112真题无答案.docx

上传人:b****7 文档编号:8825790 上传时间:2023-02-02 格式:DOCX 页数:17 大小:23.21KB
下载 相关 举报
二级C语言112真题无答案.docx_第1页
第1页 / 共17页
二级C语言112真题无答案.docx_第2页
第2页 / 共17页
二级C语言112真题无答案.docx_第3页
第3页 / 共17页
二级C语言112真题无答案.docx_第4页
第4页 / 共17页
二级C语言112真题无答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

二级C语言112真题无答案.docx

《二级C语言112真题无答案.docx》由会员分享,可在线阅读,更多相关《二级C语言112真题无答案.docx(17页珍藏版)》请在冰豆网上搜索。

二级C语言112真题无答案.docx

二级C语言112真题无答案

二级C语言-112

(总分100,考试时间90分钟)

一、选择题

1.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是______。

A.sqrt(fabs(pow(n,x)+exp(x)))

B.sqrt(fabs(pow(n,x)+pow(x,e)))

C.sqrt(abs(n^x+e^x))

D.sqrt(fabs(pow(x,n)+exp(x)))

2.以下叙述中错误的是______。

A.可以给指针变量赋一个整数作为地址值

B.函数可以返回地址值

C.改变函数形参的值,不会改变对应实参的值

D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

3.有以下程序:

#include<stdio.h>

inta=4;

intf(intn)

{intt=0;staticinta=5;

if(n%2){inta=6;t+=a++;}

else{inta=7;t+=a++;}

returnt+a++;

{

main()

{ints=a,i=0;

for(;i<2;i++)s+=f(i);

printf("%d\n",s);

}

程序运行后的输出结果是______。

A.36B.24

C.32D.28

4.有以下程序:

#include<stdio.h>

intf(intn)

{intt=0,a=5;

if(n/2){inta=6;t+=a++;

else{inta=7;t+=a++;}

returnt+a++;

main()

{ints=0,i=0;

for(;i<2;i++)s+=f(i);

printf("%d\n",s);

}

程序运行后的输出结果是______。

A.28B.24

C.32D.36

5.若有以下程序:

#include<stdio.h>

inta=2;

intf(intm)

{staticintn;

n=0;n++;a++;

returnn+m+a;

main()

{intk;

for(k=0;k<4;k++)printf("%d,",f(k));

}

则程序的输出结果是______。

A.4,5,6,7,B.4,7,10,13,

C.4,6,8,10,D.3,5,7,9,

6.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是______。

A.丙数的形参和实参分别占用不同的存储单元

B.形参只是形式上的存在,不占用具体存储单元

C.同名的实参和形参占同一存储单元

D.函数的实参和其对应的形参共占同一存储单元

7.以下叙述中错误的是______。

A.C程序必须由一个或一个以上的函数组成

B.函数调用可以作为一个独立的语句存在

C.若函数有返回值,必须通过return语句返回

D.函数形参的值也可以传回给对应的实参

8.以下程序中函数f的功能是:

当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。

#include<stdio.h>

voidf(intb[],intn,intflag)

{

inti,j,t;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(flag?

b[i]>b[j]:

b[i]<b[j])

{t=b[i];b[i]=b[j];b[j]=t;}

}

main()

{

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

f(&a[2],5,0);

f(a,5,1);

for(i=0;i<10;i++)

printf("%d,",a[i]);

程序运行后的输出结果是______。

A.1,2,3,4,5,6,7,8,9,10,

B.3,4,5,6,7,2,1,8,9,10,

C.5,4,3,2,1,6,7,8,9,10,

D.10,9,8,7,6,5,4,3,2,1,

9.以下关于return语句的叙述中正确的是______。

A.一个自定义函数中必须有一条return语句

B.一个自定义函数中可以根据不同情况设置多条return语句

C.定义成void类型的函数中可以有带返回值的return语句

D.没有return语句的自定义函数在执行结束时不能返回到调用处

10.已定义以下函数:

intfun(int*p)

{return*p;}

fun函数返回值是______。

A.一个整数B.不确定的值

C.形参p中存放的值D.形参p的地址值

11.以下叙述中错误的是______。

A.用户定义的函数中可以没有return语句

B.用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

C.用户定义的函数中若没有return语句,则应当定义函数为void类型

D.函数的return语句中可以没有表达式

12.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。

A.main(){...x=fun(2,10);...}floatfun(inta,intB){...}B.floatfun(inta,int

B.t{...}main(){...x=fun(i,j);...}

C.floatfun(int,int);main(){...x=fun(2,10);...}floatfun(inta,intbB){...}

D.main(){floatfun(inti,intj);...x=fun(i,j);...floatfun(inta,intB){...}

13.有以下程序:

#include<stdio.h>

voidfun(inta,intb)

{intt;

t=a;a=b;b=t;

}

main()

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

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

for(i=0;i<10;i++)printf("%d,",c[i]);

printf("\n");

}

程序的运行结果是______。

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,

14.有以下程序:

#include<stdio.h>

doublef(doublex);

main()

{doublea=0;inti;

for(i=0;i<30;i+=10)a+=f((double)i);

printf("%3.0f\n",a);

}

doublef(doublex)

{returnx*x+1;}

程序运行后的输出结果是______。

A.500B.401

C.503D.1404

15.有以下程序:

#include<stdio.h>

main()

{intm=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf("%d,%d,%d,%d\n",m,n,*p,*q);

程序运行后的输出结果是______。

A.2,1,1,2B.1,2,1,2

C.2,1,2,1D.1,2,2,1

16.有以下程序:

#include<stdio.h>

voidf(int*q)

{inti=0;

for(;i<5;i++)(*q)++;

}

main()

{inta[5]={1,2,3,4,5},i;

f(a);

for(i=0;i<5;i++)printf("%d,",a[i]);

}

程序运行后的输出结果是______。

A.6,2,3,4,5,B.2,2,3,4,5,

C.1,2,3,4,5,D.2,3,4,5,6,

17.有以下程序:

#include<stdio.h>

voidfun(int*a,int*b)

{int*c;

c=a;a=b;b=c;

}

main()

{intx=3,y=5,*p=&x,*q=&y;

fun(p,q);printf("%d,%d,",*p,*q);

fun(&x,&y);printf("%d,%d\n",*p,*q);

}

程序运行后的输出结果是______。

A.3,5,3,5B.3,5,5,3

C.5,3,3,5D.5,3,5,3

18.有以下程序:

#include<stdio.h>

voidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/

{intt,i,j;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

}

main()

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

fun(c+4,6);

for(i=0;i<10;i++)printf("%d,",c[i]);

printf("\n");

}

程序的运行结果是______。

A.1,2,3,4,9,8,7,6,5,0,

B.0,9,8,7,6,5,1,2,3,4,

C.0,9,8,7,6,5,4,3,2,1,

D.1,2,3,4,5,6,7,8,9,0,

19.若有以下程序:

#include<stdio.h>

voidsp(int*a)

{intb=2;

*a=*a*2;printf("%d,",*a);

a=&b;*a=*a*2;printf("%d,",*a);

}

main()

{intk=3;

sp(&k);printf("%d\n",k);

}

则程序的输出结果是______。

A.6,12,12B.6,4,3

C.6,4,6D.9,4,9

20.若有以下程序:

#include<stdio.h>

int*f(int*s,int*t)

{intk;

if(*s<*t){k=*s;*s=*t;*t=k;}

returns;

}

main()

{inti=3,j=5,*p=&i,*q=&j,*r;

r=f(p,q);

printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);;

}

则程序的输出结果是______。

A.5,3,3,5,5B.3,5,5,3,5

C.3,5,3,5,5D.5,3,5,3,5

21.有以下程序:

#include<stdio.h>

intfuna(inta,intB){returna+b;}

intfunb(inta,intB){returna-b;}

intsss(int(*t)(),intx,inty){retllrn((*t)(x,y));}

main()

{intx;

x=sss(funa,9,3);x+=sss(funb,8,3);printf("%d\n",x);

}

程序运行后的输出结果是______。

A.24B.23

C.17D.22

22.有以下程序:

#include<stdio.h>

voidfun(inta,intb,intc)

{a=b;b=c;c=a;}

main()

{inta=10,b=20,c=30;

fun(a,b,c);

printf("%d,%d,%d\n",c,b,a);

}

程序运行后的输出结果是______。

A.10,20,30B.30,20,10

C.20,30,10D.0,0,0

23.若有以下函数首部:

intfun(doublex[10],int*n)

则下面针对此函数的函数声明语句中正确的是______。

A.intfun(double,int);

B.intfun(double*,int*);

C.intfun(double*x,intn);

D.intfun(doublex,int*n);

24.有以下程序:

#include<stdio.h>

intf(intx);

main()

{intn=1,m;

m=f(f(f(n)));printf("%d\n",m);

}

intf(intx)

{returnx*2;}

程序运行后的输出结果是______。

A.8B.2

C.4D.1

25.有以下程序:

#include<stdio.h>

intfun(intx,inty)

{if(x!

=y)return((x+y)/2);

elsereturn(x);

}

main()

{inta=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));

}

A.6B.3

C.8D.12

26.有以下程序:

#include<stdio.h>

intf(intx,inty)

{return((y-x)*x);}

main()

{inta=3,b=4,c=5,d;

d=f(f(a,b),f(a,c));

printf("%d\n",d);

}

程序运行后的输出结果是______。

A.7B.10

C.8D.9

27.以下叙述中正确的是______。

A.如果函数带有参数,就不能调用自己

B.所有函数均不能接受函数名作为实参传入

C.函数体中的语句不能出现对自己的调用

D.函数名代表该函数的入口地址

28.设有如下函数定义:

#include<stdio.h>

intfun(intk)

{if(k<1)return0;

elseif(k==1)return1;

elsereturnfun(k-1)+1;

}

若执行调用语句:

n=fun(3);,则函数fun总共被调用的次数是______。

A.2B.3

C.4D.5

29.有以下程序:

#include<stdio.h>

intf(intx)

{

inty;

if(x==0||x==1)return(3);

y=x*x-f(x-2);

returny;

}

main()

{

intz;

z=f(3);

printf("%d\n",z);

}

程序的运行结果是______。

A.0B.9

C.6D.8

30.有以下程序:

#include<stdio.h>

intfun(intn)

{

if(n==1)

return1;

else

return(n+fun(n-1));

}

main()

{

intx;

seanf("%d",&x);

x=fun(x);

printf("%d\n",x);

}

执行程序时,给变量X输入10,程序的输出结果是______。

A.55B.54

C.65D.45

31.有以下程序:

#nclude<stdio.h>

voidf(intb[])

{inti;

for(i=2;i<6;i++)b[i]*=2;

}

main()

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

f(a);

for(i=0;i<10;i++)printf("%d,",a[i]);

}

程序运行后的输出结果是______。

A.1,2,3,4,5,6,7,8,9,10,

B.1,2,6,8,10,12,7,8,9,10,

C.1,2,3,4,10,12,14,16,9,10,

D.1,2,6,8,10,12,14,16,9,10,

32.有以下程序:

#include<stdio.h>

voidfun2(chara,charB)

{

pfinff("%c%c",a,b);

}

chara="A",b="B";

voidfun1()

{

a="C";

b="D";

}

main()

{

fun1();

printf("%c%c",a,b);

fun2("E","F");

}

程序的运行结果是______。

A.ABEFB.CDEF

C.ABCDD.CDAB

33.若有以下程序:

#include<stdio.h>

char*a="you";

charb[]="WelcomeyoutoChina!

";

main()

{inti,j=0;char*p;

for(i=0;b[i]!

="\0";i++)

{if(*a==b[i])

{p=a;

for(j=i;*p!

="\0";j++)

{if(*p!

=b[j])break;

P++;

}

if(*p=="\0")break;

}

}

printf("%s",&b[i]);

}

则程序的输出结果是______。

A.China!

B.toChina!

C.meyoutoChina!

D.youtoChina!

34.若有以下程序:

#include<stdio.h>

char*a="you",b[]="welcome#you#to#China!

";

main()

tinti,j=0;char*p;

for(i=0;b[i]!

="\0";i++)

{if(sa==b[i])

{p=&h[i];

for(j=0;a[j]!

="\0";j++)

{if(a[j]!

=*p)break;

p++;

}

if(a[j]=="\0")break;

}

}

printf("%s\n",p);

}

则程序的输出结果是______。

A.#to#China!

B.#you#to#China!

C.me#you#to#China!

D.#China!

35.以下叙述中正确的是______。

A.局部变量不能被说明为static

B.只有全局变量才有自己的作用域,函数中的局部变量没有作用域

C.只有在函数内部定义的变量才是局部变量

D.只要是用户定义的标识符,都有一个有效的作用域

36.在一个C源程序文件中定义的全局变量,其作用域为______。

A.由具体定义位置和extern说明来决定范围B.所在程序的全部范围

C.所在函数的全部范围D.所在文件的全部范围

37.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是______。

A.auto和staticB.extern和register

C.auto和registerD.static和register

38.有以下程序:

#include<stdio.h>

fun(intx,inty)

{staticintm=0,i=2;

i+=m+1;m=i+x+y;returnm;

}

main()

{intj=1,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

执行后的输出结果是______。

A.5,11B.5,5

C.11,11D.11,5

39.有以下程序:

#include<stdio.h>

intfun()

{staticintx=1;

x*=2;

returnx;

}

main()

{inti,s=1;

for(i=1;i<=3;i++)s*=fun();

printf("%d\n",s);

}

程序运行后的输出结果是______。

A.10B.30

C.0D.64

40.有以下程序:

#include<stdio.h>

intf(intn);

main()

{inta=3,s;

s=f(a);s=s+f(a);printf("%d\n",s);

}

intf(intn)

{staticinta=1;

n+=a++;

returnn;

}

程序运行后的输出结果是______。

A.9B.8

C.7D.10

41.有以下程序:

#include<stdio.h>

intfun()

{

staticintx=1;

X+=1;

returnx;

}

main()

{

inti,s=1;

for(i=1;i<=5;i++)s+=fun();

printf("%d\n",s);

}

程序运行后的输出结果是______。

A.120B.11

C.6D.21

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1