1、C语言程序设计试题AB卷及标答20102011学年度第二学期期末考试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分
2、,共10分)1、程序代码如下,结果是( )。#include int main(int argc,char *argv) int a=10,b=20; printf(%d,ab?a:b);return 0;2、程序代码如下,结果是( )。#include int main(int argc,char *argv) int i=8,j=10,m,n; m=+i; n=j+; printf(%d,%d,%d,%d,i,j,m,n); return 0;四、程序填空(每空4分,共12分)输出杨辉三角形(要求输出10行)。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1程序
3、如下:#include stdafx.hint main(int argc, char* argv) int a1010; /构建杨辉三角形 for(int i=0; i10; i+) ; aii=1; for( ; i10; i+) for(int j=1; ji; j+) aij= ; /以下是输出杨辉三角形for(i=0; i10; i+) for(int j=0; j=i; j+) printf(%5d , aij); printf(n); return 0;五、程序改错(在答题纸上写出改正后的语句)(共10分)下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。
4、请改正函数fun中的二处错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include float fun(int m) float y = 1.0; int i; for (i=2; im; i+) y = y-1/(i*i); return(y);main() int n = 5; printf(nThe result is %lfn, fun(n);六、算法和程序(第1小题7分,第2小题18分,第3小题25分,共50分)1、有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现在改盛酱油,B瓶则相反)。用N-S图表示解决问题
5、的算法。2、意大利数学家Fibonacci曾提出一个有趣的问题:设有一对新生兔子,从第三个月开始它们每月都生育一对兔子,按此规律并假设没有兔子死亡,一年后共有多少对兔子?用N-S图表示用数组求解前40个月兔子数的算法。3、根据下面的N-S图,写出求解问题的VC+6.0程序代码。其中:f为自定义函数,f(x)=2x3-4x2+3x-620102011学年度第二学期期末考试C语言程序设计试题标准答案及评分标准一、用C语言描述下列命题(每小题2分,共8分)1、ab|ac2、ac|bc3、a%2!=0|b%2!=04、while(1)评分标准:对则得分,否则不得分二、填空(每小题2分,共10分)1、(
6、11111111)2 8个12、(01101100)3、0 4、循环结构 5、结束该函数运行,并向主调函数返回值。评分标准:对则得分,否则不得分三、读程序,写出其结果(每小题5分,共10分)1、20 评分标准:对则得分,否则不得分2、9,11,9,10 评分标准:数据对1个1分,有“,”1分四、程序填空(每空4分,共12分)ai0=1 评分标准:对则得分,否则不得分i=2 评分标准:对则得分,否则不得分ai-1j-1+ai-1j 评分标准:对则得分,否则不得分五、程序改错(在答题纸上写出改正后的语句)(共10分)#include float fun(int m) float y = 1.0;
7、int i; for (i=2; im; i+) /此语句改为for (i=2; i=m; i+) y = y-1/(i*i); /此语句改为y = y-1.0/(i*i); return(y);main() int n = 5; printf(nThe result is %lfn, fun(n);评分标准:改对则得分,改错不扣分六、算法和程序(第1小题7分,第2小题18分,第3小题25分,共50分)1、评分标准:顺序结构2分,三步赋值3分,赋值能完成A、B值互换2分。2、评分标准:迭代表达式ai=ai-1+ai-2 6分、有数组定义及初始化各2分、有循环设置2分、有输出1分。循环体设计正确
8、5分。3、程序如下:#include #include int main(int argc,char* argv) float x1,x2,fx1,fx2,x0,fx0; float f(float x); 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*fx01e-5); printf(The root is :%fn,x0); return 0;float f(float x) return 2*
9、x*x*x-4*x*x+3*x-6;评分标准:预处理部分3分、主函数名1分、f函数4分、第一个循环8分(x1和x2正确输入3分、调用f函数计算fx1、fx2 2分、循环条件3分)第二个循环8分(x0和fx0 2分、条件分支中条件2分、分支2分、循环条件2分)、输出x0 1分。荆楚理工学院20102011学年度第二学期期末考试C语言程序设计试题B卷机制专业09年级 90分钟 2011年6月 一、写出下面各逻辑表达式的值(每小题2分,共10分)设:a=3,b=4,c=5。1、a+bc & b=c2、a|b+c & b-c3、!(ab) & !c|14、!(x=a) & (y=b) & 05、!(a
10、+b)+c-1 & b+c/2二、填空(每小题2分,共10分)1、(FF)H=( )2。2、若一个二进制数的原码是X原=10010011,则反码是X反=( )。3、TC2.0中int a=-1,a在内存中的存储形式是()。4、C程序设计的基本结构有3种,分别是顺序结构、分支结构、( )。5、C函数结尾处,一般有return语句,其含义是( )。三、读程序,写出其结果(每小题5分,共10分)1、程序代码如下,结果是( )。#include int main(int argc,char *argv) int x=10,y=20; printf(%d,xy?y:x);return 0;2、程序代码如
11、下,结果是( )。#include int main(int argc,char *argv) int m=10; printf(“%d,%d,%d”,m,m+,+m);return 0;四、程序填空(第1、2空各3分,第3空4分,共10分)以下程序将两个不超过20个字符的字符串连接起来生成新字符串。#include stdafx.hint main(int argc, char* argv) char str1=hello; char str2= world!; char str350; int i, j, k; /字符串连接 for(i=0,k=0; ;i+,k+) str3k=str1i
12、; for( ;str2i!=0;i+,k+) str3k=str2i; ; printf(%sn, str3); return 0;五、程序改错(在答题纸上写出改正后的语句)(共10分)下面给定程序中,函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。请改正函数fun中的二处错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include #include float funx(float x) return (2*x*x*x - 4*x*x + 3*x - 6); float fu
13、n(float m, float n) int r; 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; return r;main() float m, n, root; printf(Enter m n : n); scanf(%f%f, &m, &n); root = fun(m, n); printf(root=%6.3fn, 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