C语言程序设计试题AB卷及标答.docx

上传人:b****1 文档编号:2441136 上传时间:2022-10-29 格式:DOCX 页数:14 大小:79.80KB
下载 相关 举报
C语言程序设计试题AB卷及标答.docx_第1页
第1页 / 共14页
C语言程序设计试题AB卷及标答.docx_第2页
第2页 / 共14页
C语言程序设计试题AB卷及标答.docx_第3页
第3页 / 共14页
C语言程序设计试题AB卷及标答.docx_第4页
第4页 / 共14页
C语言程序设计试题AB卷及标答.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言程序设计试题AB卷及标答.docx

《C语言程序设计试题AB卷及标答.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题AB卷及标答.docx(14页珍藏版)》请在冰豆网上搜索。

C语言程序设计试题AB卷及标答.docx

C语言程序设计试题AB卷及标答

2010—2011学年度第二学期期末考试

《C语言程序设计》试题A卷

09年级90分钟 2011年6月

一、用C语言描述下列命题(每小题2分,共8分)

1、a小于b或a小于c。

2、a或b其中之一小于c。

3、a和b中有一个是奇数。

4、无条件循环(while)。

二、填空(每小题2分,共10分)

1、(FF)H=()2。

2、若一个二进制数的原码是X原=10010011,则反码是X反=()。

3、a+=a-=a*=a()。

4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、()。

5、C函数结尾处,一般有return语句,其含义是()。

三、读程序,写出其结果(每小题5分,共10分)

1、程序代码如下,结果是()。

#include

intmain(intargc,char*argv[])

{

inta=10,b=20;

printf("%d",a>b?

a:

b);

return0;

}

2、程序代码如下,结果是()。

#include

intmain(intargc,char*argv[])

{

inti=8,j=10,m,n;

m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

return0;

}

四、程序填空(每空4分,共12分)

输出杨辉三角形(要求输出10行)。

1

11

121

1331

14641

15101051

……

程序如下:

#include"stdafx.h"

intmain(intargc,char*argv[])

{

inta[10][10];

//构建杨辉三角形

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

{

;

a[i][i]=1;

}

for(;i<10;i++)

for(intj=1;j

a[i][j]=;

//以下是输出杨辉三角形

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

{

for(intj=0;j<=i;j++)

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

printf("\n");

}

return0;

}

五、程序改错(在答题纸上写出改正后的语句)(共10分)

下列给定程序中,函数fun的功能是:

根据整型形参m的值,计算如下公式的值。

请改正函数fun中的二处错误,使它能得出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

floatfun(intm)

{

floaty=1.0;

inti;

for(i=2;i

y=y-1/(i*i);

return(y);

}

main()

{

intn=5;

printf("\nTheresultis%lf\n",fun(n));

}

六、算法和程序(第1小题7分,第2小题18分,第3小题25分,共50分)

1、有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现在改盛酱油,B瓶则相反)。

用N-S图表示解决问题的算法。

2、意大利数学家Fibonacci曾提出一个有趣的问题:

设有一对新生兔子,从第三个月开始它们每月都生育一对兔子,按此规律并假设没有兔子死亡,一年后共有多少对兔子?

用N-S图表示用数组求解前40个月兔子数的算法。

3、根据下面的N-S图,写出求解问题的VC++6.0程序代码。

其中:

f为自定义函数,

f(x)=2x3-4x2+3x-6

 

2010—2011学年度第二学期期末考试

《C语言程序设计》试题标准答案及评分标准

一、用C语言描述下列命题(每小题2分,共8分)

1、a

2、a

3、a%2!

=0||b%2!

=0

4、while

(1)

评分标准:

对则得分,否则不得分

二、填空(每小题2分,共10分)

1、(11111111)28个1

2、(01101100)

3、04、循环结构

5、结束该函数运行,并向主调函数返回值。

评分标准:

对则得分,否则不得分

三、读程序,写出其结果(每小题5分,共10分)

1、20评分标准:

对则得分,否则不得分

2、9,11,9,10评分标准:

数据对1个1分,有“,”1分

四、程序填空(每空4分,共12分)

a[i][0]=1评分标准:

对则得分,否则不得分

i=2评分标准:

对则得分,否则不得分

a[i-1][j-1]+a[i-1][j]评分标准:

对则得分,否则不得分

五、程序改错(在答题纸上写出改正后的语句)(共10分)

#include

floatfun(intm)

{

floaty=1.0;

inti;

for(i=2;i

y=y-1/(i*i);//此语句改为y=y-1.0/(i*i);

return(y);

}

main()

{

intn=5;

printf("\nTheresultis%lf\n",fun(n));

}

评分标准:

改对则得分,改错不扣分

六、算法和程序(第1小题7分,第2小题18分,第3小题25分,共50分)

1、

 

评分标准:

顺序结构2分,三步赋值3分,赋值能完成A、B值互换2分。

2、

 

评分标准:

迭代表达式a[i]=a[i-1]+a[i-2]6分、有数组定义及初始化各2分、有循环设置2分、有输出1分。

循环体设计正确5分。

3、程序如下:

#include

#include

intmain(intargc,char*argv[])

{

floatx1,x2,fx1,fx2,x0,fx0;

floatf(floatx);

do

{

printf("请输入求值区间[x1,x2]:

");

scanf("%f%f",&x1,&x2);

fx1=f(x1);

fx2=f(x2);

}

while(fx1*fx2>=0);

do

{

x0=(x1+x2)/2;

fx0=f(x0);

if(fx1*fx0<0)

{

x2=x0;

fx2=fx0;

}

else

{

x1=x0;

fx1=fx0;

}

}

while(fabs(fx0)>1e-5);

printf("Therootis:

%f\n",x0);

return0;

}

floatf(floatx)

{

return2*x*x*x-4*x*x+3*x-6;

}

评分标准:

预处理部分3分、主函数名1分、f函数4分、第一个循环8分(x1和x2正确输入3分、调用f函数计算fx1、fx22分、循环条件3分)第二个循环8分(x0和fx02分、条件分支中条件2分、分支2分、循环条件2分)、输出x01分。

 

荆楚理工学院

2010—2011学年度第二学期期末考试

《C语言程序设计》试题B卷

机制专业09年级90分钟 2011年6月

一、写出下面各逻辑表达式的值(每小题2分,共10分)

设:

a=3,b=4,c=5。

1、a+b>c&&b==c

2、a||b+c&&b-c

3、!

(a>b)&&!

c||1

4、!

(x=a)&&(y=b)&&0

5、!

(a+b)+c-1&&b+c/2

二、填空(每小题2分,共10分)

1、(FF)H=()2。

2、若一个二进制数的原码是X原=10010011,则反码是X反=()。

3、TC2.0中inta=-1,a在内存中的存储形式是()。

4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、()。

5、C函数结尾处,一般有return语句,其含义是()。

三、读程序,写出其结果(每小题5分,共10分)

1、程序代码如下,结果是()。

#include

intmain(intargc,char*argv[])

{

intx=10,y=20;

printf("%d",x

y:

x);

return0;

}

2、程序代码如下,结果是()。

#include

intmain(intargc,char*argv[])

{

intm=10;

printf(“%d,%d,%d”,m,m++,++m);

return0;

}

四、程序填空(第1、2空各3分,第3空4分,共10分)

以下程序将两个不超过20个字符的字符串连接起来生成新字符串。

#include"stdafx.h"

intmain(intargc,char*argv[])

{

charstr1[]="hello";

charstr2[]="world!

";

charstr3[50];

inti,j,k;

//字符串连接

for(i=0,k=0;;i++,k++)

str3[k]=str1[i];

for(;str2[i]!

='\0';i++,k++)

str3[k]=str2[i];

;

printf("%s\n",str3);

return0;

}

五、程序改错(在答题纸上写出改正后的语句)(共10分)

下面给定程序中,函数fun和funx的功能是:

用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。

请改正函数fun中的二处错误,使它能得出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

#include

floatfunx(floatx)

{

return(2*x*x*x-4*x*x+3*x-6);

}

floatfun(floatm,floatn)

{

intr;

r=(m+n)/2;

while(fabs(n-m)<0.001)

{

if(funx(r)*funx(n)<0)

m=r;

else

n=r;

r=(m+n)/2;

}

returnr;

}

main()

{

floatm,n,root;

printf("Entermn:

\n");

scanf("%f%f",&m,&n);

root=fun(m,n);

printf("root=%6.3f\n",root);

}

六、算法和程序(第小题25分,共50分)

1、用二分法求函数f(x)=2x3-4x2+3x-6=0在区间[0,5]的解。

只要求用N-S图表示算法。

2、写函数用辗转相除法求两个数的最大公约数,在主函数中通过键盘输入这两个数,然后调用该函数计算最大公约数,并输出结果。

根据N-S图,写出求解问题的VC++6.0程序代码。

图a是主函数算法,其中div

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

当前位置:首页 > 求职职场 > 面试

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

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