C语言.docx

上传人:b****6 文档编号:8901239 上传时间:2023-05-15 格式:DOCX 页数:12 大小:20.15KB
下载 相关 举报
C语言.docx_第1页
第1页 / 共12页
C语言.docx_第2页
第2页 / 共12页
C语言.docx_第3页
第3页 / 共12页
C语言.docx_第4页
第4页 / 共12页
C语言.docx_第5页
第5页 / 共12页
C语言.docx_第6页
第6页 / 共12页
C语言.docx_第7页
第7页 / 共12页
C语言.docx_第8页
第8页 / 共12页
C语言.docx_第9页
第9页 / 共12页
C语言.docx_第10页
第10页 / 共12页
C语言.docx_第11页
第11页 / 共12页
C语言.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言.docx

《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(12页珍藏版)》请在冰点文库上搜索。

C语言.docx

C语言

西北农林科技大学本科课程考试试题(卷)

2012—2013学年第1学期《C语言程序设计》课程A卷

专业班级:

命题教师:

审题教师:

学生姓名:

学号:

考试成绩:

一、填空题(每空1分,共10分)得分:

1、一个C源程序中至少应包含一个_______函数。

2、a是整型变量,则执行表达式a=25/3%3后a的值为________

3、intm=5,y=2;则表达式y+=y-=m*=y的值为_________

4、执行下列语句:

inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);的输出结果分别是__________

5、条件表达式的格式为表达式1?

表达式2:

表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较___的类型

6、当运行以下程序时,从键盘键入right?

代表回车),则下面程序的运行结果是________

#include

intmain()

{charc;

while((c=getchar())!

='?

')putchar(++c)

}

7、C语言中的数组必须先________,然后使用。

8、如果需要从被调用函数返回一个函数值,被调用函数必须包含________语句。

9、已知:

floatf1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为________

10、以下程序输出结果为________________

voidfun(char*a,char*b)

{a=b;(*a)++;}

intmain()

{charc1="A",c2="a",*p1,*p2;

p1=&c1;p2=&c2;fun(p1,p2);

printf(“&c&c\n”,c1,c2);return0;}

二、选择题(每小题1分,共30分)得分:

1、下列说法中正确的是。

(A)C语言程序总是从第一个定义的函数开始执行。

(B)在C语言程序中要调用的函数必须在main()函数中定义

(C)C语言程序总是从main()函数开始执行

(D)C语言程序中的main()函数必须在程序的开始部分

2、设有语句inta=3,则执行语句a+=a-=a*a以后变量a的值是:

(A)3(B)0(C)9(D)-12

3、在C语言中,要求运算数必须是整数的运算符是。

(A)%(B)/(C)<(D)1

4、以下程序的输出结果是。

intmain()

{inti=010,j=10;

printf(“%d,%d\n”,++i,j--);return0;

(A)11、10(B)9、10(C)010,9(D)10,9

5、若有如下定义变量:

intK=7,X=12;则能使值为3的表达式是。

(A)X%=(K%=5)(B)X%=(K-K%5)

(C)X%=K-K%5(D)(X%=K)-(K%=5)

6、以下程序段的输出结果是。

intfun(){staticintn;

n++;returnn;}

intmain()

{inti,a;

for(i=0;i<5;i++)a=fun();

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

}

(A)1(B)0(C)6(D)5

7、在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为________。

(A)a<>0(B)!

a(C)a=0(D)a

8、有以下程序

intmain()

{

inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

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

}

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

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

9、以下程序的输出结果是________。

intmain()

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

d=!

a&&!

b||!

c;

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

}

(A)1(B)0(C)非0的数(D)-1

10、表达式“0?

(0?

3:

2):

(10?

1:

0)”的值为。

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

11、若执行以下程序时从键盘上输入3和4,则输出结果是:

intmain()

{inta,b,s;

scanf(“%d%d”,&a,&b);s=a;

if(a

s*=s;

printf(“%d/n”,s);return0;

}

(A)14(B)16(C)18(D)20

12、把下面数学表达式,表示成C语言表达式。

-5≤x<10

(A)-5≤x<10(B)x≥-5&&x<10

(C)x>=-5&&x<10(D)-5=

13、已知grade=’B’,则下列程序段的运行结果为。

switch(grade)

{case‘A’:

printf(“85~100\n”);break;

case’B’:

printf(“70~84”);

case’C’:

printf(“60~69\n”);break;

default:

printf(“error\n”);}

(A)70~84(B)60~69

(C)85~100(D)70~8460~69

14、若已定义a=8,b=2则表达式a||b&&(a-b*4)的运行结果是()

(A)8(B)1(C)0(D)2

15、对以下for循环,叙述正确的是。

for(x=0,y=0;(y!

=123)&&(x<4);x++,y++);

(A)是无限循环(B)循环次数不定(C)执行了4次(D)执行了3次

16、下列程序段的执行结果是输出。

x=3;

do

{printf(″%2d″,x--);}

while(!

x);

(A)321(B)3(C)21(D)210

17、执行下列程序后,i的值是。

inti,x;

for(i=1,x=1;i<20;i++)

if(x>=10)break;

if(x%2==1)

{x+=5;continue;}

x-=3;

(A)4(B)5(C)6(D)7

18、以下程序段输出结果是。

intmain()

{intk,j,s;

for(k=2;k<6;k++,k++)

{s=1;

for(j=k;j<6;j++)

s+=j;

}

printf(“%d\n”,s);return0;

}

(A)9(B)1(3)11(4)10

19、以下程序段的输出结果是。

intx=3

do

{

printf(“%3d”,x-=2);

}

while(!

(--x));

(A)1(B)30(3)1-2(4)死循环

20、以下正确的是。

(A)do-while语句构成的循环不能用其它语句构成的循环来代替

(B)do-while语句构成的循环只能用break语句退出

(C)用do-while语句构成循环时,只有在while后的表达式非零时结束循环

(D)用do-while语句构成循环时,只有在while后的表达式为零时结束循环

21、以下程序的输出结果是。

voidmain()

{

intx,i;

for(i=1;i<=100;i++)

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)printf(“%d”,x);}

printf(“\n”);}

(A)3981(B)4284(C)2668(D)2870

22、以下程序的输出结果是。

intmain()

{intnum=0;

while(num<=2)

{num++;printf("%d\n",num);}

return0;}

(A)1(B)1(C)1(D)l

222

33

4

23、以下程序的输出结果是。

intmain()

{inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

}

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

(A)101(B)6(C)5(D)4

24、假设int型变量占两个字节的存储单元,若有以下定义,则数组x在

内存中所占字节数为

intx[10]={0,2,4};

(A)3(B)6(C)10(D)20

25、以下一维数组a的正确定义是。

(A)inta(10);(B)intn=10,a[n];

(C)intn;scanf(“%d”,&n);inta[n];(D)#defineSIZE10

inta[SIZE];

26、在定义inta[5][4];之后,对a的正确引用是。

(A)a[2][4](B)a[5][0](C)a[0][0](D)a[0,0]

27、下列程序的执行结果是。

intmain()

{intI,k=5,a[10],p[3];

for(I=0;I<10;I++)a[I]=I;

for(I=0;I<3;I++)p[I]=a[I*(I+1)];

for(I=0;I<3;I++)k+=p[I]*2;

printf(“%d\n”,k);return0;}

(A)20(B)21(C)22(D)23

28、有以下程序

intmain()

{intp[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i<7&&p[i]%2)

{k=k+p[i];i++;}

printf(″%d\n″,k);return0;

}

执行后输出结果是。

(A)58(B)56(C)45(D)24

29、以下程序的输出结果是。

intmain()

{inti,a[10];

for(i=9;i>=0;i--)

a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);return0;}

(A)258(B)741(C)852(D)369

30、以下不能正确定义二维数组的选项是。

(A)inta[2][2]={{1},{2}};

(B)inta[][2]={1,2,3,4};

(C)inta[2][2]={{1},{2,3}};

(D)inta[2][]={1,2},{3,4}};

三、判断题(共10分,每小题分标在小题后)得分:

1.在C程序中,语句之间必须要用分号“;”分隔。

()

2.在C程序中所用的变量必须先定义后使用。

()

3.C程序中的注释部分可有可无,通常可以省略。

()

4.在C程序中,APH和aph是两个不同的变量。

()

5.在C程序中,无论是整数还是实数,都能准确无误的表示。

()

6.在C程序中,赋值运算符的优先级最低。

()

7.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。

()

8.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。

()

9.break语句只能用在循环语句中。

()

10.continue语句只能用于循环语句中。

()

四、程序分析题(共10分)得分:

1、写出该程序的功能

intmain()

{

int i,j,k;

printf("\n");

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

 for(j=1;j<5;j++) 

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

   {

    if (i!

=k&&i!

=j&&j!

=k)   

     printf("%d,%d,%d\n",i,j,k);

   }

return0;}

2、以下程序用“辗转相除法”来求出两个正整数的最大公约数。

请填空。

若两个数分别放在m和n中,求最大公约数的算法如下:

(1)将两数中最大的那个放在m中,小的放在n中。

(2)求出m被n除后的余数r。

(3)若余数为0则执行步骤(7);否则执行步骤(4)。

(4)把除数作为新的被除数;把余数作为新的除数。

(5)求出新的余数r。

(6)重复步骤(3)到(5)。

(7)输出n,n即为最大公约数。

intmain()

{intr,m,n;

printf(“Enterm,n:

”);

scanf(“%d%d”,__________);

printf(“m=%dn=%d\n”,m,n);

if(m

__________;

r=__________;

while________

{m=__________;n=____________;r=______________;}

printf(“H.C.F=%d\n,n);

return0;

}

 

五、程序设计题(可以自己研究)得分:

1、在歌手大奖赛中有10名评委打分,分数采用百分制,歌手的最后得分是:

从10位评委的评分中,去掉一个最高分去掉一个最低分,统计其总分,并除以8,试编程计算一个歌手的最后得分。

2、设有一个3位数,将它的百、十、个位3个单一数,各自求立方,然后加起来,正好等于这个3位数。

如:

153=13+53+33.。

写一个函数,找出所有满足条件的数。

3、现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0

选择尽量少的喷水装置,把整个草坪的全部湿润。

输入:

第一行m表示有m组测试数据

一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。

输出:

输出所用装置的个数

 

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2