南昌大学0910届c语言期末考试试题.docx

上传人:b****7 文档编号:9512206 上传时间:2023-02-05 格式:DOCX 页数:15 大小:20.68KB
下载 相关 举报
南昌大学0910届c语言期末考试试题.docx_第1页
第1页 / 共15页
南昌大学0910届c语言期末考试试题.docx_第2页
第2页 / 共15页
南昌大学0910届c语言期末考试试题.docx_第3页
第3页 / 共15页
南昌大学0910届c语言期末考试试题.docx_第4页
第4页 / 共15页
南昌大学0910届c语言期末考试试题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

南昌大学0910届c语言期末考试试题.docx

《南昌大学0910届c语言期末考试试题.docx》由会员分享,可在线阅读,更多相关《南昌大学0910届c语言期末考试试题.docx(15页珍藏版)》请在冰豆网上搜索。

南昌大学0910届c语言期末考试试题.docx

南昌大学0910届c语言期末考试试题

试卷编号:

0910-2006(A)

课程编号:

J8000G002课程名称:

高级语言程序设计考试形式:

闭卷

适用班级:

本科09级姓名:

学号:

班级:

学院:

软件学院专业:

考试日期:

2010-6-22

题号

总分

累分人签名

题分

40

12

20

15

13

100

得分

考生注意事项:

1、本试卷共11页,请查看试卷中是否有缺页或破损。

如有立即举手报告以便更换。

2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。

一、单项选择题(每小题2分,共40分)(答案写在答题卡上)

得分

评阅人

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

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

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

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

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

2、下列标识符中,不是C语言提供的数据类型关键字是。

(1)double

(2)short(3)integer(4)char

3、设有语句chara=‘\72’,则变量a是。

(1)包含1个字符

(2)包含2个字符

(3)包含3个字符(4)说明不合法

4、设有如下定量定义:

则下列符合C语言语法的表达式为。

inti=8,k,a,b;

unsignedlongw=5;doublex=1.42,y=5.2;

(1)a+=a-=(b=4)*(a=3)

(2)x%(-3)(3)a=a*3=2(4)y=floati

南昌大学2009~2010学年第二学期期末考试试卷

 

5、以下叙述中正确的是。

(1)输入项可以是一个实型常量,例如:

scanf(“%f”,3.5);

(2)只有格式控制,没有输入项,也能正确输入数据到内存,例如:

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

(3)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,

例如:

scanf(“%7.2f”,&f);

(4)当输入数据时,必须指明变量的地址,例如:

scanf(“%f”,&f);

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

main()

{inta=12,b=12;

printf(“%d%d\n”,--a,++b);}

(1)1010

(2)1212(3)1110(4)1113

7、C语言基本类型包括________。

(1)整型、实型、逻辑型

(2)整型、实型、字符型

(3)整型、字符型、逻辑型(4)整型、实型、字符型、逻辑型

8、有以下程序

main()

{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);}

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

(1)1

(2)2(3)3(4)4

9、以下关于运算符优先顺序的描述中正确的是_____。

(1)关系运算符<算术运算符<赋值运算符<逻辑与运算符

(2)逻辑与运算符<关系运算符<算术运算符<赋值运算符

(3)赋值运算符<逻辑与运算符<关系运算符<算术运算符

(4)算术运算符<关系运算符<赋值运算符<逻辑与运算符

10、阅读以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

该程序运行后,如果从键盘上输人5并按回车键,则输出结果是     。

(1)3   (2)4    (3)5  (4)6

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

inti,x;

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

{if(x>=10)break;

if(x%2==1)

{x+=5;continue;}

x-=3;}

(1)4

(2)5(3)6(4)7

12、设有如下程序段:

s=a;

for(b=1;b<=c;b++)s=s+1;

其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

则与上述程序段功能等价的赋值语句是______。

(1)s=a+b;

(2)s=a+c;

(3)s=s+c;(4)s=b+c;

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

main()

{intnum=0;

while(num<=2)

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

}

(1)1

(2)1(3)1(4)l

222

33

4

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

(1)inta(10);

(2)intn=10,a[n];

(3)intn;scanf(“%d”,&n);(4)#defineSIZE10

inta[n];inta[SIZE];

15、有以下程序

main()

{

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);

}

它执行后的输出结果是。

(1)58

(2)56(3)45(4)24

16、以下不正确的描述为。

(1)不同函数中可以使用相同名字的变量

(2)形参是局部变量

(3)一个函数内部定义的变量只能在本函数范围内有效

在一个内部的复合语句中定义的变量可以在本函数范围内有效

17、以下程序的运行输出结果是。

func(inta,intb,intc)

{c=a*b;}

main()

{intc;

func(2,3,c);

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

(1)0

(2)1(3)6(4)无确定值

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

#defineM(x,y,z)x*y+z

main()

{inta=1,b=2,c=3;

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

}

(1)19  

(2)17  (3)15  (4)12

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

voidprtv(int*x){printf(“%d\n”,++*x);}

main()

{intk=25;prtv(&k):

}

(1)23

(2)24(3)25(4)26

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

main(){inta[]={2,4,6,8},*p=a,i;

for(i=0;i<4;i++){a[i]=*p;p++;}

printf(“%d\n”,a[2]);}

(1)6

(2)8(3)4(4)2

二、程序功能题(每小题6分,共12分)(答案写在答题卡上)

得分

评阅人

本题共2小题,每小题都给出了一个完整程序,用一句话归纳程序的功能(要求准确、精练)

1、源程序如下:

main()

{longi,p=1,s=0;

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

{

p=p*i;

s+=p;

}

printf("%ld",s);

}

该程序的功能是求                          。

2、源程序如下:

main()

{

inti,j;

for(i=3;i<=30;i++)

{

for(j=2;j

if(i%j==0)break;

if(j>=i)

printf("%6d",i);

}

}

该程序的功能是输出                        。

三、程序阅读题(每小题5分,共20分)(请写出程序的正确运行结果)

(答案写在答题卡上)

得分

评阅人

1、源程序如下:

main()

{

inti,j;

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

{

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

printf("*");

printf("\n");

}

}

2、源程序如下:

unsignedfun(unsignednum)

{

unsignedk=1;

printf("num=%u\n",num);

do

{

k*=num%10;

num/=10;

}while(num);

return(k);

}

main()

{

printf("%u\n",fun(34));

}

3、源程序如下:

main()

{

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

intn,i,j;

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

{

n=c[9];

for(j=9;j>=1;j--)

c[j]=c[j-1];

c[0]=n;

}

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

printf("%2d",c[i]);

}

4、源程序如下:

#include"string.h"

main()

{

charstring1[20]="China",string2[]="Shanghai";

intn,i;

char*p1,*p2;

n=strlen(string1);

p1=string1;

p2=string2;

for(i=0;i

{

*(p1+n+i)=*(p2+i);

}

*(p1+n+i)='\0';

printf("%s",string1);

}

四、程序填空题(每空3分,共15分)

(请在横线上填空,使程序完成规定的功能)(答案写在答题卡上)

得分

评阅人

1、本程序用于对键盘上输入的十个整数进行排序,排成由大到小的顺序。

源程序如下,请在横线上填空,使程序完成规定的功能。

#defineM10

main()

{

inta[M],t,j,k;

for(j=0;j

scanf("%d",a+j);

for(k=0;k<____;k++)

for(j=____;j

if(a[j]

{

t=a[j];

_______;

a[j+1]=t;

}

for(j=0;j

printf("%5d",a[j]);

}

2、本程序用于对键盘上输入的3行3列矩阵求主对角线上元素之和。

源程序如下,请在横线上填空,使程序完成规定的功能。

main()

{

inti,j,a[3][3],sum;

_____;

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

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

scanf("%d",&a[i][j]);

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

{

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

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

printf("\n");

}

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

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

if(i==j)_____;

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

}

五、程序设计题(共13分)

得分

评阅人

请编写一个由两个函数(main函数和process函数)构成的C程序,要求如下:

(1)在main函数中定义一个一维数组,内放10个学生的成绩,这些学生的成绩由键盘输入。

main函数通过调用process函数,得到并输出这10个学生成绩的平均分;

(2)process函数除了向main函数返回10个学生成绩的平均分以外,在该函数中,还要找出并输出这10个学生成绩的最高分。

答题卡

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

得分

评阅人

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

二、程序功能题(每小题6分,共12分)

得分

评阅人

1、                                     

2、                                     

三、程序阅读题(每小题5分,共20分)(请写出程序的正确运行结果)

得分

评阅人

1、                      2、

 

3、                      4、

四、程序填空题(每空3分,共15分)(请在横线上填空,使程序完成规定的功能)

得分

评阅人

1、                                     

2、                                     

A卷参考答案

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

得分

评阅人

1

2

3

4

5

6

7

8

9

10

3

3

1

1

4

4

2

1

3

2

11

12

13

14

15

16

17

18

19

20

3

3

2

4

4

4

4

4

4

1

二、程序功能题(每小题6分,共12分)

得分

评阅人

1、      1-10的阶乘之和                               

2、      3-30范围内的全部素数                               

三、序阅读题(每小题5分,共20分)(请写出程序的正确运行结果)

得分

评阅人

1、 

*                    2、

   **                      num=34

   ***12

   ****

3、                      4、

 6 7 8 9 0 1 2 3 4 5             ChinaShanghai

四、程序填空题(每空3分,共15分)(请在横线上填空,使程序完成规定的功能)

得分

评阅人

1、   M或10            0         a[j]=a[j+1]         

2、    sum=0        sum+=a[I][j]     

floatprocess(floatscore[],intn)

{

inti;

floatmax,sum=0;     /*定义2分*/

max=score[0];      /*赋初值1分*/

for(i=0;i

{

sum+=score[i];

if(max

}           /*求和2分*/

printf("max=%f\n",max);

returnsum/n;      /*返回函数值、输出各1分*/

}

main()

{

inti;

floatscore[10],aver;/*定义2分*/

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

scanf("%f",&score[i]);/*数据输入2分*/

aver=process(score,10);

printf("aver=%f\n",aver);     /*调用函数、输出各1分*/

}

注:

不用调用函数做,而全对给10

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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