程序设计试题.docx

上传人:b****8 文档编号:11256171 上传时间:2023-02-26 格式:DOCX 页数:13 大小:40.87KB
下载 相关 举报
程序设计试题.docx_第1页
第1页 / 共13页
程序设计试题.docx_第2页
第2页 / 共13页
程序设计试题.docx_第3页
第3页 / 共13页
程序设计试题.docx_第4页
第4页 / 共13页
程序设计试题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

程序设计试题.docx

《程序设计试题.docx》由会员分享,可在线阅读,更多相关《程序设计试题.docx(13页珍藏版)》请在冰豆网上搜索。

程序设计试题.docx

程序设计试题

XXXXX学院(本科)试卷(B卷)

2013-2014学年第二学期

 

开课单位:

计算机与信息科学系,考试形式:

机试(闭)卷,允许带入场

科目:

高级语言程序设计班级:

13软工班,姓名:

学号:

题序

总分

得分

0

评卷人

说明:

1、将此文件的文件名改为班级+你的学号后两位+你的姓名,如,“2013软工1班01张三.doc”,否则不给分。

2、卷时请将此文件保存关闭后再将此文件上传到FTP服务器上,按照班级名称分单双号文件夹存放,如软工1班单号的存放在“软工1班单号”文件夹内,位置存放错误者造成的后果自负!

交卷后由监考老师确认后再离开,交卷后不得再重新交卷。

3、考试时打开除考试试卷的那个文件和visualC++窗口外,不得打开第三个其他软件,否则将以作弊论处!

4、请将答案填在相应的表或框中,只要结果窗口且尽量紧凑,如下图所示。

不符合要求者将扣分。

一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写下表中,注意,不准修改答案颜色。

题号

1

2

3

4

5

6

7

8

9

10

总分

答案

得分

0

1、下面有关for循环的正确描述是()。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判断表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

2、下列标识符组中,合法的用户标识符为()。

A、_0123与ssiped

B、del-word与signed

C、list与*jer

D、keep%与wind

3、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是()。

A、A%2==1B、!

(A%2==0)C、!

(A%2)D、A%2

4、C语言中最简单的数据类型包括()

A、整型、实型、逻辑型B、整型、实型、字符型

C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型

5、以下对二维整形数组a的正确说明是()。

A、inta[3][];B、floata(3,4);C、doublea[1][4];D、floata(3)(4)

6、下列关于赋值运算符的表述中,错误的是()。

A、赋值运算符优先级高于逗号运算符

B、赋值运算符的结合性是从左至右

C、赋值运算符是双目运算符

D、赋值运算符可在表达式中连用

7、错误的if语句是()。

A、if(x>y)z=x;

B、if(x==y)z=0;

C、if(x!

=y)printf("%d",x)elseprintf("%d",y);

D、if(x

8、以下对一维整形数组a进行正确初始化的语句是()。

A、inta[10]=(0,0,0,0,0);B、inta[10]={};

C、inta[]={0};D、inta[10]={10*1};

9、关于局部变量,下列说法正确的是()。

A、定义该变量的程序文件中的函数都可以访问。

B、定义该变量的函数中的定义处以下的任何语句都可以访问。

C、定义该变量的复合语句的定义处以下的任何语句都可以访问。

D、局部变量可用于函数之间传递数据。

10、能正确表示逻辑关系:

“10≥=a≥=0”的C语言表达式是()

A、10>=a>=0B、a>=0anda<=10C、a>=0||a<=10D、a>=0&&a<=10

二、程序运行题(本大题共2小题,每题4分,共8分)。

将结果截图放在题后框内。

1、(得分:

)运行下列代码,给一维数组a输入任意6个整数,建立一个以下内容的方阵并打印。

735621

173562

217356

621735

562173

356217

将结果窗口截图放置题后框内。

#include“”

voidmain()

{

inta[6],i,j,k,m;

printf(“输入6个整数:

”);

for(i=0;i<6;i++)scanf(“%d”,&a[i]);

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

{

k=a[5];

for(j=4;j>=0;j--)a[j+1]=a[j];

a[0]=k;

for(m=0;m<6;m++)printf(“%2d”,a[m]);

printf(“\n”);

}

}

结果截图:

 

2、(得分:

)运行下列代码,输入若干学生成绩,输出其中的最高分和平均分。

将结果截图放在题后框内。

#include“”

voidmain(){

intgrade,max,n=0,sum=0;

scanf(“%d”,&grade);

max=grade;

while(grade>=0){

sum+=grade;

scanf(“%d”,&grade);

if(grade>max)max=grade;

n++;

}

printf(“max=%d,average=%5.2f\n”,max,*sum/n);

}

结果截图:

 

三、程序改错题(本大题共3小题,每小题5分,共15分),请将正确代码粘贴到右边框内。

然后运行并将结果截图。

1、(得分:

)以下程序实现对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。

例如,输入为1234时,输出结果为4,3,2,1。

(提示:

利用求整和求余运算分别计算出个、十、百和千位数字,再输出)。

请改正程序中的错误,并将正确代码粘贴到右边框内,然后运行并将结果截图。

#include""

voidmain(){

inta,b,c,d,x;

printf("输入4位整数:

");

scanf("%d",x);

a=x%10;

b=a/10%10;

c=a/100%10;

d=a/1000;

printf("%f=%d,%d,%d,%d\n",x,a,b,c,d);

}

正确代码粘贴在此处:

结果截图:

 

2、(得分:

)以下程序的功能是输入若干学生成绩存于数组中,以输入-1表示结束输入,然后求这些学生的平均成绩。

请改正程序中的错误,并将正确代码粘贴到右边框内,然后运行并将结果截图。

#include""

voidmain()

{inta[50],i=0,sum;

floatave;

scanf("%d",&a);

while(a[i]!

=-1)

{sum+=a[i];

i++;

scanf("%d",&a);

}

ave=sum/i;

printf("average=%f\n",ave);

}

正确代码粘贴在此处:

结果截图:

 

3、(得分:

)将3本书的书名和单价保存在结构数组中,计算并输出总价。

请改正程序中的错误,并将正确代码粘贴到右边框内,然后运行并将结果截图。

#include“”

structBook{

charbookname[20];

intprice;

}

Bookbook[3]={“计算机导论”,“C程序设计”,“数据结构”,,,};

voidmain(){

inti;

floatsumprice;

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

sumprice+=price;

printf(“Total=%f\n”,sumprice);

}

正确代码粘贴在此处:

 

结果截图:

 

四、程序填空题(本大题共3小题,每题10分,共30分),在每小题的横线上填上相应的内容。

1、(得分:

)用if…elseif语句实现:

假设奖金税的税率如下(a代表奖金数,r代表税率):

a<500r=0%

500<=a<1000r=5%

1000<=a<2000r=8%

2000<=a<5000r=10%

5000<=ar=20%

用户输入一个奖金数,输出税率和应交税款以及实发奖金。

完成下列代码,然后运行并将结果截图。

#include<>

intmain(void)

{

floata,r;

printf("请输入奖金数:

");

①;

if(a<500)r=0;

②;

elseif(a<=2000)r=;

elseif(a<=5000)r=;

③;

printf("利率为=%.2f,奖金数=%.2f,应交税款=%.2f,实发奖金=%.2f\n",r,a,a*r,a-a*r);

return0;

}

完整代码粘贴在此处:

结果截图:

 

2、(得分:

)以下代码是:

分别定义两个字符数组str1[]和str2[],str1存放你的姓的全拼(如:

peng),str2存放你名的全拼(如:

Yichun),然后将字符串str2连接到字符串str1中,最后输出str1(PengYichun)。

完成下列代码,然后运行并将结果截图。

#include<>

intmain()

{chars1[80],s2[40];

inti=0,j=0;

printf("请输入第一个字符串:

");

scanf("%s",s1);

printf("请输入第二个字符串:

");

scanf("%s",s2);

while(①)

i++;

while(②)

s1[③]=s2[④];

s1[i]='\0';

printf("\n合并后的字符串为:

%s\n",s1);

return0;

}

完整代码粘贴在此处:

结果截图:

 

3、(得分:

)设计一个程序计算输入的两个数的和与差,要求自定义一个函数sum_diff(floatop1,floatop2,float*psum,float*pdiff),其中op1和op2是输入的两个数,*psum和*pdiff是计算得出的和与差。

完成下列代码。

然后运行并将结果截图。

#include<>

intmain(void)

{

①;

floatpsum,pdiff;

floatop1,op2;

printf("请输入数,逗号间隔:

");

scanf("%f,%f",&op1,&op2);

sum_diff(②);printf("%.2f+%.2f=%.2f,%.2f-%.2f=%.2f\n",op1,op2,psum,op1,op2,pdiff);

return0;

}

voidsum_diff(floatop1,floatop2,float*psum,float*pdiff)

{

③;

*pdiff=op1-op2;

}

完整代码粘贴在此处:

结果截图:

 

五、改编题(本大题共2小题,每1小题5分,共10分),请将正确代码粘贴到右边框内。

然后运行并将结果截图。

1、(得分:

)左边代码实现:

有2个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。

现要求改编程序,如果输入的名字不在候选人列表中,结果也要显示此人以及得票结果。

#include<>

#include<>

structPerson{

charname[20];

intcount;

}ld[2];

intmain(){

inti,j;

charld_name[20];

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

scanf(“%s”,ld_name);

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

if(strcmp(ldname,ld[j].name)==0)

ld[j].count++;

}

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

printf("%5s:

%d\n“,ld[i].name,ld[i].count);

return0;

}

改编后的代码粘贴在此处:

结果截图:

 

2、(得分:

)左边代码是使用冒泡法对10个整数按由小到大顺序排序。

请改编:

使用voidsort(int*x,intn)函数实现排序过程,在main函数中实现这10个整数的输入和输出,并调用该函数实现排序,程序的其他地方也可能要求有所改动,请按要求改编。

#include<>

voidmain(){

inta[10];

inti,j,t;

printf("input10numbers:

\n");

for(i=0;i<10;i++)scanf("%d",&a[i]);

printf("\n");

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

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

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("thesortednumbers:

\n");

for(i=0;i<10;i++)printf("%d",a[i]);

printf("\n");

}

改编后的代码粘贴在此处:

结果截图:

 

六、编程题(本大题共2小题,第1小题8分,第2小题9分,共17分)请将代码粘贴在题后的代码框内,将结果窗口截图放在题后的结果框内,尽量不要跨页。

1、(8分,得分:

)打印1-10000之间所有的“水仙花数”。

“水仙花数”是其各位数立方和等于该数本身。

如13+33+53=153。

//第1题代码,设置字体:

TimeNewRoman,大小为:

5号,行间距:

单倍行距,段前、段后:

0行

结果截图:

2、(9分,得分:

)编写程序,输入两个正整数m和n(m>=1,n<=1000),输出m和n之间的素数,每行输出10个素数并要求每行对齐,并统计素数的个数以及这些素数的和。

要求定义并调用prime(m)判断m是否是素数。

//第2题代码,设置字体:

TimeNewRoman,大小为:

5号,行间距:

单倍行距,段前、段后:

0行

结果截图:

 

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

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

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

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