北航C语言试题.docx

上传人:b****7 文档编号:9249121 上传时间:2023-02-03 格式:DOCX 页数:11 大小:18.96KB
下载 相关 举报
北航C语言试题.docx_第1页
第1页 / 共11页
北航C语言试题.docx_第2页
第2页 / 共11页
北航C语言试题.docx_第3页
第3页 / 共11页
北航C语言试题.docx_第4页
第4页 / 共11页
北航C语言试题.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

北航C语言试题.docx

《北航C语言试题.docx》由会员分享,可在线阅读,更多相关《北航C语言试题.docx(11页珍藏版)》请在冰豆网上搜索。

北航C语言试题.docx

北航C语言试题

 

北京航空航天大学

2011-2012学年第二学期期末

 

《C语言程序设计》

考试卷

班级______________学号_________

 

姓名______________成绩_________

 

2012年5月29日

 

班号学号姓名成绩

《C语言程序设计》期末考试卷

注意事项:

1、请将所有的答案和程序写在答题纸上,写在试卷纸上不得分!

2、考试时间120分钟

一、单项选择题(每题2分,共40分)

1、以下叙述不正确的是___

A)一个C源程序可由一个或多个函数组成

B)在C程序中,注释说明只能位于一条语句的后面

C)程序的基本组成单位是函数

D)一个C源程序必须包含一个main函数

2、以下叙述中正确的是

A)C程序中注释部分可以出现在程序中任意合适的地方

B)花括号“{”和“}”只能作为函数体的定界符

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分

3、以下表达式值为3的是________.

A)16-13%10B)2+3/2C)14/3-2D)(2+6)/(12-9)

4、已知各变量的类型说明如下:

intk,a,b;

unsignedlongw=5;

doublex=1.42;

则以下表达式不正确的是______.

A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)

5、有以下程序

voidmain()

{

doubled=3.2;

intx,y;

x=1.2;

y=(x+3.8)/5.0;

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

}

程序的输出结果是____

A)3B)3.2C)0D)3.07

6、以下程序的运行结果是________.

main()

{

intm=5,n=10;

printf(“%d,%d\n”,m++,--n);

}

A)5,9B)6,9C)5,10D)6,10

7、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假的表达式是______。

A)x>=1&&x<=10||x>=200&&x<=210

B)x>=1||x<=10||x>=200||x<=210

C)x>=1&&x<=10&&x>=200&&x<=210

D)x>=1||x<=10&&x>=200||x<=210

8、若w=5,x=2,y=3,z=4,则条件表达式w

w:

y

y:

z的值是_______。

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

9、下面程序的输出结果是______。

voidmain()

{

inti,j,x=0;

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

{

x++;

for(j=0;j<-3;j++)

{

if(j%2)continue;

x++;

}

x++;

}

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

}

A)x=2B)x=4C)x=6D)x=8

10、有以下程序段

intk=20;

while(k=0)k=k+3;

while循环执行的次数是()。

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次

11、以下选项中,不能正确赋值的是()。

A)chars3[20]="Ctest";

B)chars2[]={'C','t','e','s','t'};

C)chars1[10];s1="Ctest";

D)char*s4="Ctest\n"

12、已知:

inta[]={1,2,3,4},y,*p=a;则执行语句

y=(*++p)-- ;之后,数组a各元素的值变为_____。

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

13、已知intx=10,y=20,z=30;执行下列语句后x、y、z的值是_________。

if(x>y)

z=x;x=y;y=z;

A)x=10,y=20,z=30B)x=20,y=30,z=30

C)x=20,y=30,z=30D)x=20,y=30,z=20

14、以下程序的输出是_________。

voidmain()

{intx=2,y=-1,z=2;

if(x

if(y<0)z=0;

elsez+=1;

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

}

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

15、已有以下数组定义和func函数调用语句,则func函数原形的正确声明为_______。

voidmain()

{inta[3][4];

……

func(a);

……

}

A)func(intarray[][6]);B)func(intarray[3][]);

C)func(intarray[][4]);D)func(intarray[2][5]);

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

fun(intx,inty,intz)

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

main()

{inta=31;

fun(5,2,a);

printf("%d",a);}

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

17、若用数组名作为函数调用的实参,则传递给形参的是_________

A)数组的首地址

B)数组第一个元素的值

C)数组中全部元素的值

D)数组元素的个数

18、设有如下程序段()。

chars[20]="Beijing",*p;

p=s;

则执行p=s;语句后,以下叙述正确的是()。

A)可以用*p表示s[0]

B)s数组中元素的个数和p所指字符串长度相等

C)s和p都是指针变量

D)数组s中的内容和指针变量p中的内容相同

19、若有定义:

inta[]={2,4,6,8,10,12,14,16,18,20,22,24},q[4],k;则下面程序段的输出是:

for(k=0;k<4;k++)q[k]=a[k*3];printf("%d\n",q[3]);

A)18B)16C)20D)输出项不合法,结果不确定

20、以下程序执行结果错误,错误原因是________

voidmain()

{

int*p,i;char*q,ch;

p=&i;

q=&ch;

*p=40;

*p=*q;

...

}

A)p和q的类型不一致,不能执行语句*p=*q;

B)*p中存放的是地址值,因此不能执行语句*p=40;

C)q没有指向具体的存储单元,所以*q没有实际意义;

D)q虽然指向具体的存储单元,但该单元中没有确定的值,所以执行语句*p=*q错误。

 

二、填空题(前五题每题2分,后5题每题3分,共25分)

1、假定char类型变量占用一个字节,其有定义:

charx[]=”C_Language”;,则数组x在内存中所占字节数是______________。

2、设a.b均为int型变量且a=2,b=0,则表达式(x=a)||!

(y=b)&&0的值是_______.

3、下面程序的输出是_______。

main()

{intx=3,y=2,z=0;

if(x==y+z)printf("**");

elseprintf("##");

}

4、执行完下面的程序后,k的值是_____.

intk=1,n=263;

do

{

k*=n%10;

n/=10;

}while(n);

5、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空_________.

intx,y;

for(x=0;x<=30;x++)

{y=30-x;

if(___________)printf(“鸡有%d只,兔有%d只\n”,x,y);

}

6、下面程序的运行结果是__________。

voidmain()

{inti=5;

do{

switch(i%2)

{case4:

i--;break;

case6:

i--;continue;

}

i--;i--;

printf(“%d”,i);

}while(i>0);

}

7、下面程序的功能是输出两个字符串中对应相等的字符。

请填空。

#include

charx[]="programming";

chary[]="Fortran";

main()

{

inti=0;

while(x[i]!

='\0'&&y[i]!

='\0')

if(x[i]==y[i])

printf("%c",____________);

elsei++;

}

8、已有函数pow1,现要求取消变量i后pow1函数的功能不变(不得增加变量),请填空。

修改前的pow1函数:

intpow1(intx,inty)

{inti,j=1;

for(i=1;i<=y;++i)j=j*x;

return(j);

}

修改后的pow1函数:

intpow1(intx,inty)

{intj;

for(_____;______;_____;)j=j*x;

return(j);

}

9、以下程序的运行结果是_____________。

voidfun(int*n)

{

while((*n)--);

printf(”\n%d”,*n);

}

main()

{inta=10;

fun(&a);

}

10.下面程序的运行结果是_____.

#include

main()

{inta,s,n,count;

a=2;s=0;n=1;count=1;

while(count<=4)

{

n=n*a;

s=s+n;

++count;

}

printf("s=%d",s);

}

三、程序编写题(见答题纸)

答题纸

班号学号姓名成绩

一、单项选择题(共40分)

题号

1

2

3

4

5

6

7

8

9

10

答案

题号

11

12

13

14

15

16

17

18

19

20

答案

二、填空题(共25分)

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

 

三、程序编写题(第一题20分,第二题15分,共35分)

1、编写程序实现:

从计算机屏幕输入一个任意正整数,判断它能否分别被3、5整除,并输出以下信息之一:

(1)能被3、5整除;

(2)能被3、5其中1个整除;

(3)不能被3、5整除;

2.在主函数中定义一个一维数组,内存10个学生成绩如下:

87,85,76,90,77,78,82,93,82,70。

写一个子函数,主函数调用此子函数,能够求出最高分,最低分和平均分,返回主函数后输出结果(使用全局变量以及子函数中输出结果不得分)。

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

当前位置:首页 > 人文社科 > 文化宗教

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

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