C语言上机练习题.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言上机练习题.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 练习题
- 资源描述:
-
1、C 语言上机练习题1. 阅读以下程序,说出其功能和运算结果。#include int main( )int n ;int factorial(int n) ; scanf(%d,&n) ; printf(%dn, factorial(n) ; return 0 ;int factorial(int n)int i, fact=1 ; for(i=1;i=n;i+)fact=fact*i ; return fact ;若输入 52. 改正下列程序中的错误,在屏幕上显示“Welcome to You!”。#include int mian( )24printf(Welcome to You!n)
2、return 0 ;3. 若输入 4,程序运行结果为【 1】,若输入-4, 运行结果为【 2】,若输入 10,运行结果为【 3】。#include main()int x,y; scanf(%d,&x); if(x1) y=x;printf(x=%d,y=x=%dn,x,y);else if(x10) y=2*x-1; printf(x=%d,y=2*x-1=%dn,x,y);else y=3*x-11;,x,y);printf(x=%d,y=3*x-11=%dn4. 当输入 19,2,21时下列程序运行的结果是()。#include main()int a,b,c,max;printf(pl
3、ease a,b,c:n);scanthreenumberscanf(%d,%d,%d,&a,&b,&c); max=a;if(maxb)max=b; if(maxc)max=c; printf(max is:%d,max);5. 运行以下程序时,从键盘键入 China#(代表回车),则下面程序的运行结果是 。#include void main()int v1=0,v2=0; char ch;for(;(ch=getchar()!=#; )switch(ch)case a:case h: default: v1+; case o: v2+;printf(“%d,%dn”,v1,v2);6.
4、下面程序的运行结果是 。#include void main()int i,j,k=19; while(i=k-1)k-=3;if(k%5=0) i+; continue; else if(k5) break;i+;printf(“i=%d,k=%dn”,i,k);7. 下列程序的输出为。#includevoid main()int i,j,k=0,m=0;for(i=0;i2;i+) for(j=0;j3;j+)k+;k-=j; m=i+j;printf(k=%d,m=%dn,k,m);8. 下面程序的运行结果是 。#include void main()int n3,i,j,k;for(i
5、=0;i3;i+) ni=0; k=2;for(i=0;ik;i+) for(j=0;jk;j+)nj=ni+1;printf(“%dn”,n1);9. 阅读程序,写出程序运行结果。#include #define MAX 100 voidmain() int fMAX,i,j,k=2,m=5; for(i=0;i=m;i+)fi=1;fk-1=2;for(i=k;i=m;i+)for(j=i-k;j=i-1;j+) fi+=fj;printf(%d%5d%5dn,k,m,fm);10. 下面程序可求出矩阵 a 的两条对角线上的元素之和。请填空。#includevoid main()inta3
6、3=1,3,6,7,9,11,14,15,17,sum1=0,sum2=0,i,j; for(i=0;i3;i+)for(j=0;j3;j+) if(i=j)sum1=sum1+aij; for(i=0;i3;i+)for(【1】;【2】;j-)if(i+j)=2) sum2=sum2+aij;printf(“sum1=%d,sum2=%dn”,sum1,sum2);11. 已知以下矩阵:Y1Y 2 1- 0.8- 0.200 1- 0.2- 0.211 Y 3 0- 0.81- 0.21Y 4 0- 0.8- 0.81 1 下面程序的功能是求出 Y1,Y2,Y3, Y4 的值。请填空。#in
7、cludevoid main()floata44=1,-0.2,0,0,-0.8,1,-0.2,-0.2,0,-0.8,1,-0.2,0,-0.8,-0.8,1;float x4=1,1,1,1,y4;int i,j,k; for(i=0;i4;i+)yi=0;for(j=0;j4;j+)【1】for(k=0;k4;k+)printf(“nY%d=%-6.2f”,k+ 1,【2】);12. 运行以下程序时,如果从键盘上输入:ab c def则输出结果为()。#include stdio.h #define N 6void main() char cN;int i=0; for(;iN;ci=g
8、etchar(),i+);for(i=0;iN;i+)putchar(ci);printf(n);A aB aC abDabcdefbbcccdddef13. 给出下列程序的运行结果: # include string.h #include stdio.hvoid main()char str81,str181; int k=1,i=1,j;int flag=0; gets(str); str10=str0;while(stri!=0)for(j=0;jk;j+)if(stri=str1j) flag = 1;if(flag !=1) str1k+=stri; i+;for(i=0;ik;i+
9、) printf(%3c,str1i);如运行时输入:abcbaccba14. 若输入一个整数 10,以下程序的运行结果是 。#include sub(int a)int c;c=a%2; return c;void main()int a,e10,c,i=0; printf(“输入一整数n”); scanf(“%d”,&a); while(a!=0)c=sub(a); a=a/2; ei=c; i+;for(;i0;i-) printf(“%d”,ei-1);15. 以下程序的正确运行结果是 。#include#define MAX 10 int aMAX,i; sub2()int aMAX
10、,i,max; max=5;for(i=0;imax;i+)ai=i;sub1()for(i=0;iMAX;i+) ai=i+i;sub3(int a)int i; for(i=0;iMAX;i+)printf(“%d”,ai);printf(“n”);void main()printf(“n”);sub1();sub3(a); sub2(); sub3(a);16. 以下程序的正确运行结果是。#include func(int a,int b)static int m=0,i=2; i+=m+1;m=i+a+b; return(m); void main()int k=4,m=1,p; p=
展开阅读全文