C语言期末考试试题及答案最新201.docx

上传人:b****6 文档编号:6756833 上传时间:2023-01-10 格式:DOCX 页数:8 大小:17.09KB
下载 相关 举报
C语言期末考试试题及答案最新201.docx_第1页
第1页 / 共8页
C语言期末考试试题及答案最新201.docx_第2页
第2页 / 共8页
C语言期末考试试题及答案最新201.docx_第3页
第3页 / 共8页
C语言期末考试试题及答案最新201.docx_第4页
第4页 / 共8页
C语言期末考试试题及答案最新201.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

C语言期末考试试题及答案最新201.docx

《C语言期末考试试题及答案最新201.docx》由会员分享,可在线阅读,更多相关《C语言期末考试试题及答案最新201.docx(8页珍藏版)》请在冰豆网上搜索。

C语言期末考试试题及答案最新201.docx

C语言期末考试试题及答案最新201

C语言期末考试试题及答案最新2012年

一、单项选择题

1.()是合法的用户自定义标识符。

A、b-bB、floatC、D、_isw

2.若变量已正确定义并赋值,表达式()不符合C语言语法。

A、a*b/c;B、3.14%2C、2,bD、a/b/c

3.()是不正确的字符常量。

A、'n'B、'1'C、"a"D、'101'

4.在C程序中,用()表示逻辑值“真”。

A、1B、非0的数C、非1的数D、大于0的数

5.()把x、y定义成float类型变量,并赋同一初值3.14。

A、floatx,y=3.14;B、floatx,y=2*3.14;

C、floatx=3.14,y=x=3.14;D、floatx=y=3.14;

6.若变量已正确定义,表达式()的值不是2。

A、2&3B、1<<1C、a==2D、1^3

7.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”和()等价。

A、k=(a>b)?

1:

0;B、k=a>b;

C、k=a<=b;D、a<=b?

0:

1;

8.设变量定义为“inta,b;”,执行下列语句时,输入(),则a和b的值都是10。

scanf("a=%d,b=%d",&a,&b);

A、1010B、10,10C、a=10b=10D、a=10,b=10

9.下列程序的输出结果是()。

fun(inta,intb,intc)

{c=a*b;}

voidmain()

{intc;

fun(2,3,c);

printf(”%dn”,c);

}

A、0B、1C、6D、无法确定

10.在C程序中,若对函数类型未加说明,则函数的隐含类型为()。

A、intB、doubleC、voidD、char

11.表达式strlen(”hello”)的值是()。

A、4B、5C、6D、7

12.设变量定义为“inta[4];”,则表达式()不符合C语言语法。

A、*aB、a[0]C、aD、a++

13.设变量定义为“intx,*p=&x;”,则&*p相当于()。

A、pB、*pC、xD、*&x

14.若变量已正确定义,()不能使指针p成为空指针。

A、p=EOFB、p=0C、p=’’D、p=NULL

15.对于以下的变量定义,表达式()不符合C语言语法。

structnode{

intlen;

char*pk;

}x={2,"right"},*p=&x;

A、p->pkB、*p.pkC、*p->pkD、

16.有如下程序

intrunc(inta,intb)

{return(a+b);}

main0

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf(“%\d\n”,r);

}

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

A)12B)13C)14D)15*x.pk

17.对于基类型相同的两个指针变量之间,不能进行的运算是()

A)

18.有如下程序

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn

(2);

}

main0

{printf(“%d\n”,fib(3));

该程序的输出结果是()

A}2B}4C}6D}8

19.有如下定义

structperson{charname[9];intage;};

strictpersonclass[10]={“Johu”,17,

“Paul”,19

“Mary”,18,

“Adam16,};

根据上述定义,能输出字母M的语句是()

A)prinft(“%c\n”,class[3].mane);B)pfintf(“%c\n”,class[3].name[1]);

C)prinft(“%c\n”,class[2].name[1]);D)printf(“%^c\n”,class[2].name

[0]);

20.以下所列的C语言常量中,错误的是()

A)0xFFB)1.2e0.5C)2LD)‘\72’

21.有以下程序段

intk=0

while(k=1)k++;

while循环执行的次数是()

A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次

22.以下程序的输出结果是()

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf(“%d”,a);

}

A)0B)29C)31D)无定值

23.下列程序段的输出结果是()

voidfun(int*x,int*y)

{printf(“%d%d”,*x,*y);*x=3;*y=4;}

main()

{intx=1,y=2;

fun(&y,&x);

printf(“%d%d”,x,y);

}

A)2143B)1212C)1234D)2112

24.当调用函数时,实参是一个数组名,则向函数传送的是()

A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值

25.以下程序的输出结果是()

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;

}

main()

{printf(“%ld\n”,fun(3));}

A)1B)2C)3D)4

26.以下程序的输出结果是()

#defineSQR(X)X*X

main()

{inta=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf(“d\n”,a);

}

A)16B)2C)9D)1

27.以下函数返回a所指数组中最小的值所在的下标值,在下划线处应填入的是()

fun(int*a,intn)

{inti,j=0,p;

p=j;

for(i=j;i

if(a[i]

return(p);

}

A)i=pB)a[p]=a[i]C)p=jD)p=i

二、填空题

1.表示“x≥y≥z”的C表达式是_______。

2.下列程序段的输出是______。

printf("%on",010<<1^1);

3.下列程序段的输出是______。

intk;

floats;

for(k=0,s=0;k<7;k++)

s+=k/2;

printf("%d,%fn",k,s);

4.下列程序段的输出是_______。

#definef(a,b,x)a*x+b

printf("%d,%dn",f(3,2,1),f(6,5,f(3,2,1)));

5.下列程序段的输出是_____。

main()

{intk;

for(k=1;k<5;k++){

if(k%2)printf("*");

elsecontinue;

printf("#");

}

}

6.下列程序段的输出是_____。

#include

intf(intx)

{staticy=1;

y++;

x+=y;

returnx;

}

voidmain()

{intk;

k=f(3);

printf("%d%dn",k,f(k));

}

7.下列程序段的输出是_____。

int*p,*q,k=5,j=6;

q=&k;p=q;q=&j;

printf("%d",*p);

8.函数

voidf(chars[],chart[])

{intk=0;

while(s[k]=t[k])k++;

}

等价于

voidf(char*s,char*t)

{while(_____);

}

9.下列程序段的输出是_____。

char*a[2]={"one","two"},**p=a;

printf("%s,",*(p++)+1);

printf("%cn",**p-1);

10.下列程序编译后生成t.exe,运行

zoooil的输出结果是

_____。

voidmain(intargc,char*argv[])tinputoutput

{intk;

char*p=argv[1];

for(k=2;k

if(strcmp(argv[k],p)>0)p=argv[k];

printf("%sn",p);

}

11.下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。

程序的输出结

果是:

voidmain()

{inta=3,b=5;

swap(&a,&b);

printf("Afterswap%d,%d",a,b);

}

swap(int*p,int*q)

{intt;

t=*p;;

*p=*q;

*q=t;

}

1D2B3C4B5C6C7C8D9D10A11B12D13A14A15D16D17C18B

19D20B21A22C23A24B25A26B27D

①x>=y&&y>=z②1③6,90④5,25⑤*#*#⑥58⑦5⑧*s+

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

当前位置:首页 > 总结汇报

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

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