《C程序设计》期末考试试卷_第1页
《C程序设计》期末考试试卷_第2页
《C程序设计》期末考试试卷_第3页
《C程序设计》期末考试试卷_第4页
《C程序设计》期末考试试卷_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(2011级微电子学专业2013-2014学年第一学期)

课程名称C语言程序设计A卷

考试形式闭卷考核类型考试

本试卷共五大题,卷面满分100分,答题时间100分钟。

—二—四五六七八总分复核\

彳的

得分评卷人一、选择题(本大题共15小题,每小题3分,共45分)

1.C程序由()组成。

A.子程序B.主程序和子程序C.函数D.过程

2.C语言中主函数的个数是()

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

3.以下程序执行的结果是:()

#include<stdio.h>

voidmain()

{intp,a=5;

if(p=a==0)

printf("%d”,p);

elseprintf("%d”,p+l);

}

A、0B、5C、1D、6

4.以下说法错误的是()

A、do-while语句与while语句的区别仅仅是while出现的位置不同

B、while语句是先进行循环条件判断,后执行循环体

C、do-while语句是先执行循环体,后进行循环体条件判断

D、while、do-while和for语句的循环体都可以是空语句

5.有如下说明语句:inta=2,b=7,c=5;执行以下语句,输出为(

switch(a>0)

case0:switch(b<0)

{case1:printfC'@,,);break;

case2:printf(u!5,);break;}

casel:switch(c==5)

{caseO:printf("*");break;

case1:printf("#”);break;

default:printf(畤");break;}

default:printf("&”);

)

A.@#&B,#&C.*&D,$&

6.下面对对字符数组s的初始化,其中不正确的是()。

A.chars[5]={"www”};B.chars[5]={'a','b'c');

C.chars[5]="www”;D.chars[5]="wwwabc";

7.判断字符串a和b是否相等应当使用:()o

A.if(a==b)B.if(a=b)C.if(strcpy(a,b)==0)D.if(strcmp(a,b)==0)

8.有如下语句:则输出结构是()

intk;

inta[3][3]={1,23,4,5,6,7,8,9);

for(k=1;k<3;k++)printf("%d”,a[k][2-k]);

A.46B.26C.57D.68

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

intk=0;

while(k<10)

{if(k<l)continue;

if(k==5)break;

k++;}

A.5B.4C.6D.死循环

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

^defineSQR(X)X*X

main()

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

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

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

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

11.调用函数时,基本类型变量作为函数实参,它和对应的形参()。

A.实参是向形参单向传递值的。

B.共占用一个存储单元

C.形参可以向实参返回值

D.都不占用存储单元

12.下面程序的运行结果是()

main()

{inta=3,b=4,c=5,t=99

if(b<a&&a<c)t=a;a=c;c=t;

if(a<c&.&b<c)t=b;b=a;a=t

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

)

A.345B.4599C.543D.453

13.指向一个包含4个整型元素的一维数组的指针变量的形式为()。

A.int(*p)[4]B.int*p[4]C.int(p[4])D.int(p)[]

14.若用数组名作为函数调用的实参,传递给形参的是()。

A.数组的首地址B.数组中第一个元素的值

C.数组中的全部元素的值D.数组元素的个数

15.下面程序段的输出结果是。

charc[5]={'a','b',''0','c',''0'},*p;

P=c;

printf("%s",p);

A.‘a''b'B.abC.abcD.abc

得分评卷人三、填空题(本大题共12个空,每空3分,共36分)

1.在C语言中,包含头文件的预处理命令以11】开头。

2.C语言中,求字符串长度的标准函数是12】。

3.函数的实参传递到形参有两种方式:[3】和【410

4.设inta[10]={l,2,3};则*(a+3)的值是[5]。

3.若有定义:inta=7;floatx=2.5,y=4.7;,则表达式x+a/3*(int)(x+y)/4的值

是⑹。

6.设intx=0,y=l;,表达式(!x||y一)的值是【7】。

7.凡在函数中未指定存储类别的局部变量,其默认的存储类别为【8】o

8.有字符串si和s2,如果si大于s2,那么可用字符串比较函数表示为:

【9】o

9.已知定义:inta[10],*p;则指针p指向数组a首地址的语句为:【10】。

11.以下程序运行结果是:[11]Q

main()

{charstr[][10]={"fujian","wuyishan"},*p=str;

printf("%s\n”,p+10);}

12.有如下程序

main()

{intn=9;

while(n>6){n—;printf("%d",n);}

)

该程序段的输出结果是【12】o

得分评卷人五、编程题(本大题共2小题,共19分)

1.编写程序,求分段函数y的值,x的值由键盘输入(x,y均为整型)。(5分)

<xx<=0

丫=<2x0<x<2

J3X2-6X+7X>=2

l.main()

intx,y;

printf("请输入X的值:\nM);

scanf(u%d",&x);

if(x<=0)y=x;

elseif(x>0&&x<2)y=2*x;

elsey=3*x*x・6*x+7;

printf("y的值是%d.”,y);

2.使用递归函数求5!0(7分)

main()

{intb,i,a[5]={1,2,3A5};

for(i=0,i<5/2,i++)

{b=a[i],a[i]=a[5-i-1];a[5-i-1]=b;}

for(i=0,i<5,i++)

printf("%5dM,a[i]);

)

3.给点一个二维数组,求二维数组中的最大值和最小值。(7分)

3.main()

(

inti;

for(i=63;i<=500,i++)

if(i%7=0&&i%9==0)

printf(n%5d",i);

4.1ongfac(intn)

{longf;

if(n==l)f=l;

elsef=fac(n-l)*f;

retrunf;}

main()

{intn;

longs=0;

for(n=4;n<10;n++)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论