信阳师院计算机期末试题(附答案 (2).doc_第1页
信阳师院计算机期末试题(附答案 (2).doc_第2页
信阳师院计算机期末试题(附答案 (2).doc_第3页
信阳师院计算机期末试题(附答案 (2).doc_第4页
信阳师院计算机期末试题(附答案 (2).doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5ca67d8ec3bfbdee7b99a091006593ae.pdf模拟一第 一 题:选择题(总题数:10 总分数:20) 1:一个C语言程序是由 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 2:C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符 3:已经x为float类型的变量。x=213.82631;printf(%-4.2f ,x);则以上语句_ A)输出格式描述答的域宽不够,不能输出 B)输出为213.83 C)输出为213.82 D)输出为-213.82 4:以下不正确的if语句是: A)if(xy$x!=y); B)if(x=y) x+=y; C)if(x!=y) x+ ; else x-; D)if(x0 行号 语句 1: #include 2: #include 3: main() 4: 5: float a,b,c,disc,x1,x2,p,q; 6: scanf(“a=%f,b=%f,c=%f”,&a,&b,&c); 7: disc=b*b-4*a*c; 8: p=-b/2a; 9: q=sqrt(disc)/(2*a); 10: x1=p+q;x2=p-q; 11: printf(“x1=%5.2f x2=%5.2f ”,x1,x2); 12: 错误行号为: 8 。 正确答案为: p=-b/(2*a); 2:设圆半径r=1.5,圆锥高h=3,求圆周长和圆锥体体积。用scanf输入数据,输出计算结果时要求有文字说明,取小数点后2位数字。 行号 语句 1: #include 2: main() 3: 4: float pi,h,r,l,v; 5: pi=3.1415926; 6: printf(“input r&h: ”); 7: scanf(“%f%f”,&r,&h); 8: l=2*pi*r; 9: v=1/3*pi*r*2*h; 10: printf(“l=%6.2f v=%6.2f ”,l,v); 11: 错误行号为: 9 。 正确答案为: v=1/3*pi*r*r*h; 3:求前100个自然数的和。 行号 语句 1: #include 2: void main() 3: 4: int i,sum; 5: i=1; 6: while(i=100) 7: 8: sum+=i; 9: i+; 10: 11: printf(“%d ”,sum); 12: 错误行号为: 4 。 正确答案为: int i,sum=0; 4:求前10个自然数的阶乘之和 行号 语句 1: #include 2: main() 3: 4: long f,s; 5: int k; 6: s=0;f=0; 7: for(k=1;k=10;k+) 8: 9: f*=k; 10: s+=f; 11: 12: printf(“sum=%d ”,s); 13: 错误行号为: 6 。 正确答案为: s=0;f=1; 第 三 题:C语言程序填空题(总题数:2 总分数:20)根据试题要求将正确答案填到空中(每空5分)1:从键盘输入一个年份,判断是否是闰年。 # include main() int year,leap; printf(“input the year:”); scanf(“%d”,&year); if(year%4=0&year%100!=0)|(year%400=0) leap=1; else leap=0; if(leap=1) printf(“%d is a leap year! ”,year); else printf(“%d is not a leap year! ”,year); 2:下面程序的功能是检查一个二维数组是否对称(即:对所有i和j都有aij=aji)。请填空 # include main() int a44=1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4; int i,j,found=0; for(j=0;j4;j+) for( i=0 ;i4;i+) if(aji!=aij) found=1;break; if(found=1) printf(“No”); else printf(“Yes”); 第 四 题:C语言编程题(总题数:2 总分数:40) 1:编写程序,用矩形法求一元函数f(x)=ln(x+1)+x/2(其中ln为自然对数),在区间1,5上的积分近似值S,保留2位小数(小区间数n=15,此参数不能改动,否则影响答案)。#include#includemain() double a=1,b=5,h,s0,s=0,f0,x; int n=15; h=(b-a)/n; x=a;for(n=1;n=15;n+) f0=log(x+1)+x/2; s0=f0*h; s=s+s0; x=x+h;printf(方程的近似根为%.2lf.n,s); /*方程的近似根为10.95. Press any key to continue*/ 2:任意使用一种方法将数据14, 35, 82, 33,22, 61, 26, 12,43, 12按从小到大的顺序排序,并输出排序前、排序后的数据。 #includemain()int i,j,t;int a10=14,35,82,33,22,61,26,12,43,12;printf(冒泡法排序前的顺序为:n);for(i=0;i10;i+)printf(%3d,ai);printf(n);for(i=0;i10-1;i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;printf(排序后的顺序为:n);for(i=0;i 5) printf( %d,m); else printf(%d,m-); A)4 B)5 C)6 D)7 4:为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与(? )配对。 A)缩排位置相同的if B)其之前最近的if C)之后最近的if D)同一行上的if 5:以下描述正确的是 A)goto语句只能用于退出多层循环 B)switch语句中不能出现continue语句 C)只能用continue语句来终止本次循环D)在循环中break语句不能独立出现 6:以下能对二维数组a进行正确初始化的语句是_ A)int a2=1,0,1,5,2,3; B)int a3=1,2,3,4,5,6; C)int a24=1,2,3,4,5,6; D)int a3=1,0,1,0,1,1; 7:以下说法不正确的是: A)在不同函数中可以使用相同名字的变量 B)形参是局部变量 C)在函数内定义的变量只在本函数范围内有效 D)在函数内的复合语句中定义的变量在本函数范围内有效 8:C程序的基本组成单位是 A)文件 B)函数 C)程序 D)工程 9:有输入语句: scanf(a= %d,b= %d,c=%d,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 A)132(回车) B)1,3,2(回车) C)a=1b=3c=2(回车) D)a=1,b =3,c =2(回车) 10:设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 A)int B)float C)double D)不确定 第 二 题:C语言改错题(总题数:4 总分数:20)在下面的程序中存在一处错误,请找出来,将错误的行号(2分)和正确答案(3分)填写在每题后面的空格中1:设圆半径r=1.5,圆锥高h=3,求圆周长和圆锥体体积。用scanf输入数据,输出计算结果时要求有文字说明,取小数点后2位数字。 行号 语句 1: #include 2: main() 3: 4: float pi,h,r,l,v; 5: pi=3.1415926; 6: printf(“input r&h: ”); 7: scanf(“%f%f”,&r,&h); 8: l=2*pi*r; 9: v=1/3*pi*r*2*h; 10: printf(“l=%6.2f v=%6.2f ”,l,v); 11: 错误行号为: 9 。 正确答案为: v=1/3*pi*r*r*2*h; 2: 行号 语句 1: #include 2: main() 3: 4: float a=10,b=5,c; 5: c=(int)a%(int)b/n; 6: printf(%d,c); 7: 错误行号为: 4 。 正确答案为:float a=10,b=5; int c,n;3:求解分段函数的值 行号 语句 1: #include 2: main() 3: 4: int x,y; 5: scanf(“%d”,&x) ; 6: if(x=0); 7: if(x= =0) 8: y=0; 9: else y=1; 10: else y=-1; 11: printf(“x=%d,y=%d ”,x,y); 12: 错误行号为: 6 。 正确答案为: if(x=0) (无“;”) 4:输入30名学生一门课的成绩,计算平均分,找出最高分和最低分 行号 语句 1: #include 2: main() 3: 4: int max,min,x,k; 5: float sum,ave ; 6: scanf(“%d”,&x); 7: max=min=sum=x; 8: for(k=1,k30,k+) 9: 10: scanf(“%d”,&x); 11: sum+=x; 12: if(maxx) min=x; 14: 15: ave=sum/30; 16: printf(“average=%6.2f max=%d min=%d ”,ave,max,min); 17: 错误行号为: 7 。 正确答案为: max=min=x; sum=0; 第 三 题:C语言程序填空题(总题数:2 总分数:20) 根据试题要求将正确答案填到空中(每空5分)1:输入一个小写字母,按大写输出。 #include main() char ch; ch=getchar(); putchar(ch-32);2:以下程序的功能是求数组num中小于0的数据之和。请填空。 # include main() int num20=10,20,1,-20,203,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-45,20; int sum=0,i; for(i=0;i=19;i+) if(numi0) sum=sum+numi; printf(“sum=%6d”,sum); 第 四 题:C语言编程题(总题数:2 总分数:40) 1:编写程序,用牛顿切线法求方程f(x)=2x+cosx-2.6=0在区间0,4上的近似实根r,迭代初值自选,精确到0.0001。提示:牛顿切线法的计算公式为x=x-f(x)/f(x)。 #include#includemain()double x,x0,f,f1;x=2;dox0=x;f=2*x0+cos(x0)-2.6;f1=2-sin(x0);x=x0-f/f1;while(fabs(x-x0)=1e-4);printf(方程的近似根为:%.4lf.n,x);/*方程的近似根为:1.0521.Press any key to continue*/2:任意使用一种方法将数据14, 35, 82, 33,22, 61, 26, 12,43, 12按从小到大的顺序排序,并输出排序前、排序后的数据。 (同模拟一)模拟三第 一 题:选择题(总题数:10 总分数: 1:一个C语言程序是由 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 2:假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是: A)7 B)8 C)6 D)2 3:能正确表示当x 的取值在1,10和200,210范围内为真,否则为假的表达式是 A)(x=1) &(x = 200) &(x=1) | (x=200) |(x=1) &(x= 200) &(x =1)|(x = 200)|(xy) z=x;x=y;y=z;以上语句执行后,x,y,z的值是: A)x=10,y=20,z=30 B)x=20,y=30,z=30 C)x=20,y=30,z=10 D)x=20,y=30,z=20 5:以下描述正确的是 A)goto语句只能用于退出多层循环 B)switch语句中不能出现continue语句 C)只能用continue语句来终止本次循环 D)在循环中break语句不能独立出现 6:在c语言中,引用数组元素时,其数组下标的数据类型允许是_ A)变量 B)表达式 C)整型常量或整型表达式 D)任何类型的表达式 7:以下说法不正确的是: A)在不同函数中可以使用相同名字的变量 B)形参是局部变量 C)在函数内定义的变量只在本函数范围内有效 D)在函数内的复合语句中定义的变量在本函数范围内有效 8:C程序的基本组成单位是 A)文件 B)函数 C)程序 D)工程 9:putchar函数可以向终端输出一个: A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值 10:设有说明:char w; int x; f1oat y; double? z;则表达式w* x+z一y值的数据类型为: A)float B)char C)int D)double 第 二 题:C语言改错题(总题数:4 总分数:20)在下面的程序中存在一处错误,请找出来,将错误的行号(2分)和正确答案(3分)填写在每题后面的空格中1: 行号 语句 1: #include 2: #define N 10 3: main() 4: 5: float a=10,b=5,c; 6: c=(int)a%(int)b/N; 7: printf(%d,c); 8: 错误行号为: 7 。 正确答案为: printf(“%f”,c); 2:设圆半径r=1.5,圆锥高h=3,求圆周长和圆锥体体积。用scanf输入数据,输出计算结果时要求有文字说明,取小数点后2位数字。 行号 语句 1: #include 2: main() 3: 4: float pi,h,r,l,v; 5: pi=3.1415926; 6: printf(“input r&h: ”); 7: scanf(“%f%f”,&r,&h); 8: l=2*pi*r; 9: v=1/3*pi*r*2*h; 10: printf(“l=%6.2f v=%6.2f ”,l,v); 11: 错误行号为: 9 。 正确答案为: v=1/3*pi*r*r*2*h; 3:把100200之间的不能被3整除的数输出。 行号 语句 1: #include 2: main() 3: 4: int n; 5: for(n=100;n=200;n+) 6: 7: if(n%3=0) 8: break; 9: printf(“%d ”,n); 10: 11: printf(“ ”); 12: 错误行号为: 8 。 正确答案为: continue; else 4:输入30名学生一门课的成绩,计算平均分,找出最高分和最低分 行号 语句 1: #include 2: main() 3: 4: int max,min,x,k; 5: float sum,ave ; 6: scanf(“%d”,&x); 7: max=min=sum=x; 8: for(k=1,k30,k+) 9: 10: scanf(“%d”,&x); 11: sum+=x; 12: if(maxx) min=x; 14: 15: ave=sum/30; 16: printf(“average=%6.2f max=%d min=%d ”,ave,max,min); 17: 错误行号为: 7 。 正确答案为: max=min=x;sum=0; 第 三 题:C语言程序填空题(总题数:2 总分数:20)根据试题要求将正确答案填到空1:输入两个正整数m和n,求最大公约数和最小公倍数。 # include main() int p,r,n,m,temp; printf(“Please input two numbers:”); scanf(“%d%d”,&n,&m); if(nm) temp=n; n=m; m=temp; p= m*n; while(m!=0) r= n%m; n=m; m=r; printf(“The zui da gong yue shu wei:%d”,n); printf(“The zui xiao gong yue shu wei:%d”,p/n); 2:设数组a中的元素均为正整数,以下程序是求a中偶数的个数,和偶数的平均值。 # include

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论