C语言程序设计试题AB卷及标答.docx
- 文档编号:2441136
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:14
- 大小:79.80KB
C语言程序设计试题AB卷及标答.docx
《C语言程序设计试题AB卷及标答.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题AB卷及标答.docx(14页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 试题 AB
![提示](https://static.bdocx.com/images/bang_tan.gif)