C语言 程序设计基础试题一及答案

上传人:m**** 文档编号:158872782 上传时间:2022-10-07 格式:DOCX 页数:9 大小:18.15KB
返回 下载 相关 举报
C语言 程序设计基础试题一及答案_第1页
第1页 / 共9页
C语言 程序设计基础试题一及答案_第2页
第2页 / 共9页
C语言 程序设计基础试题一及答案_第3页
第3页 / 共9页
点击查看更多>>
资源描述
程序设计基础考试试卷班级 姓名 学号题号一二三四五总得分评卷人审核人得分一、选择题(20 分)1. 算法具有五个特性,以下选项中不属于算法特性的是(A) 有穷性(B)简洁性(C)可行性(D)确定性2. 以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3. 以下叙述中正确的是(A) 用C语言实现的算法必须要有输入和输出操作(B) 用C语言实现的算法可以没有输出但必须要有输入(C) 用C程序实现的算法可以没有输入但必须要有输出(D) 用C程序实现的算法可以既没有输入也没有输出4. 以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5. 以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6. 数字字符0的ASCII值为48,若有以下程序main()char a=1,b=2;printf(%c,b+);printf(%dn,b-a); 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507. 有以下程序main()int m=12,n=34;printf(%d%d,m+,+n); printf(%d%dn,n+,+m);程序运行后的输出结果是(A) (B) (C) (D)8. 有以下语句:int b;char c10;,则正确的输入语句是A) scanf(%d%s,&b,&c);B) scanf(%d%s,&b,c);(C)scanf(%d%s,b,c);D)scanf(%d%s,b,&c);9. 有以下程序main()int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p); 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为 789,则正确的输入是A)m=123n=456p=789B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910. 有以下程序main()int a,b,d=25;a=d/10%9;b=a&(-1);printf(%d,%dn,a,b); 程序运行后的输出结果是A)6,1B)2,1C)6,0D)2,011. 有以下程序main()int i=1,j=2,k=3;if(i+=1&(+j=3|k+=3)printf(%d %d %dn,i,j,k);程序运行后的输出结果是(A)1 2 3(B)2 3 4(C)2 2 3(D)2 3 312. 若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 aba:cdc:d 的值A)1B)2c)3D)413. 有以下程序main()int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+yx:y;int f2(int x,int y)return xyy:x;main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf(%d,%d,%dn,e,f,g);程序运行后的输出结果是A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,717. 已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是C18. A)数组a和b的长度相同 B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对19. 有以下程序void f(int *x,int *y) int t;t=*x;*x=*y;*y=t;main()int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(p) f(p,q);p+;q-;for(i=0;i8;i+)printf(%d,ai);程序运行后的输出结果是A)8,2,3,4,5,6,7,1, B)5,6,7,8,1,2,3,4, C)1,2,3,4,5,6,7,8, D)8,7,6,5,4,3,2,1,20. 有以下程序main()int a33,*p,i;p=&a00;for(i=0;i9;i+)pi=i;for(i=0;i3;i+)printf(%d,a1i);程序运行后的输出结果是A)0 1 2 B)1 2 3 C)2 3 4 D)3 4 521. 以下叙述中错误的是A) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B) 数组名代表的是数组所占存储区的首地址其值不可改变C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D) 可以通过赋初值的方式确定数组元素的个数二、阅读程序写出下列程序的运行结果。(20 分)1、#include void main() int a=1,b=2,c=3;if(c=a) printf(,%dn,c);else printf(,%dn,b);2、#include void main()int n=c;switch(n+)default: printf(error);break;case a:case A:case b:case B:printf(good);break;case c:case C:printf(pass);case d:case D:printf(warn);3、#include void main() int i=0,s=0;doif(i%2)i+;continue;i+;s+=i; while(i9);printf(%dn,s);4、#include int func(int x)if(x= =1)return 2;elsereturn x*func(x-1);void main()printf(“%dn”,func(4);三、找出下列程序存在的错误,并进行改正,使之能正确运行。(20 分)1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。#include #define PIvoid main()int r;float s;scanf(%d,&r);s=PI*M2;printf(s=%fn,s);2、以下程序用于计算一个一维数组各元素平方根的和。#include #include void main()int a10,i;float sum;for (i=0;i10;i+)scanf(“%d”,&ai);i=0;while (i=9)sum+=sqrt(ai);i+;3、在一个一维整型数组中找出其中最大的数及其下标。#defineN10 floatfun(int*a,int*b,intn) int*c,max=*a;for(c=a+1;cmax)max=*c;*b=c-a;returnmax;void main()intaN,i,max,p=0;printf(pleaseenter10integers:n);for(i=0;iN;i+)get(%d,&ai);m=fun(a,&p,N);printf(max=%d,position=%d,max,p);4、#include void main()int a;char ch;ch=A;scanf(%d,&a);printf(%c+%d=%cn,ch,ch+a);四、程序填空题:填空空白语句,使程序能完成预定功能。(10 分)1、下面程序的功能是输出以下形式的金字塔图案是:void main()inti,j;for(i=1;i=4;i+)for(j=1;j=4-i;j+)printf();for(j=1;j=;j+)printf(*);printf(n);2、下面rotate函数的功能是:将n行n列的矩阵A转置为A, 例如:12 3 41 5 9 1356 7 82 6 10 14当 A=9 101112 则 A=37111513 141516481216请填空#defineN4voidrotate(intaN)inti,j,t;for(i=0;i 1程序设计基础试卷一参考答案一、选择题。(每空1 分,共20 分)BACDB CABAB DABCB ACDDC二、程序阅读题 (每个 5 分,共20 分) 1、 12、passwarn3、 54、 48三、程序改错题 (每个 5分,共20 分)1、第一个错误:宏定义后边的分号去掉。第二个错误: s=PI*r*2 应为 s=PI*r*r。2、第一个错误: sum 未赋初值,应加入: sum=0;第二个错误:while循环的条件应改为:!(i= =9)或者(i=9咸者(i10)。3、intfun(int*a,int*b,intn)4、ch=a;四、程序填空题 (每个 5分,共10 分)1、2*i-12、 j=Iaij=aji;五、编程题1、#include (该程序5分,PAD图或者N-S图3分。void main()float score3,sum=0;int i;for (i=0;i3;i+)scanf(“%d”,&scorei);sum+=scorei;printf(“%d”,sum/;2、#include (该程序15分,PAD图或者N-S图8分。void main()float Total, Rate,FactTotal;scanf(“%f”,&Total);if (Total5000) Rate=;else if (Total3000)Rate=;else if (Total2000)Rate=;else if (Total1000)Rate=;elseRate=FactTotal=Total*Rate;Printf(“%f”,FactTotal);3、(该程序10分,PAD图或者N-S图5分。#include long f(int n)if (n= =0|n= =1) return 1;else return f(n-1)+f(n-2);void main()int n;scanf(“%d”,&n);printf(“%ld”,f(n);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!