77范文网 - 专业文章范例文档资料分享平台

C语言程序设计期末考试复习题(2)

来源:网络收集 时间:2020-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

分 。 三、程序改错题

1.以下程序代码是求n!。 #include main() {int i,s,n;

scanf(“%d”,n);->scanf(“%d”,&n);

for(s=0,i=1;i<=n;i++)->for(s=1,i=1;i<=n;i++) s*=i;

printf(“%d\\n”,s);}

2.以下程序是求整型数组中的最大值。 #include main()

{int a[10]={4,6,78,45,2,1,0,8,12,24},max,i;

for(max=a[0],i=1;i<=10;i++)->for(max=a[0],i=1;i<=9;i++) if(a[i] if(a[i]>max)

max=a[i];

printf(“max=%d\\n”,max);}

3.以下程序实现的功能是:交换主函数中的变量a和b的值。 #include void fun(int *p1,int *p2) {int *p3; -> p3

p3=p1;p1=p2;p2=p3;} -> p3=*p1;*p1=*p2;*p2=p3;} main() {int a=10,b=5; fun(&a,&b);

printf(“a=%d,b=%d\\n”,a,b);}} -> }

4.以下程序是判断x是否是素数,若是就输出“YES”,否则输出“NO”。 #include main()

{int x,flag,i;

scanf(“%d”,x); -> scanf(\

for(flag=1,i=1;i<=x-1;i++) -> for(flag=1,i=2;i<=x-1;i++) if(x/i==0) {flag=0;break;} -> if(x%i==0) {flag=0;break;}

if(flag==1) printf(“YES”); else printf(“NO”);}

5.下列程序是采用折半查找算法在a数组中查找x,若找到x则显示“成功”,否则显示“失败”。 #include main( )

{int a[15]={100,89,80,76,64,56,45,41,32,30,24,22,15,10,6}; int i,j,mid,x; scanf(“%d”, &x); i=0; j=14; while(i<=14) {mid=(i+j)/2;

if(a[mid]==x) break; else if(a[mid]>x)

j=mid-1; -> i=mid+1;

else i=mid+1;} -> else j=mid-1;}

if(i>j) printf(“查找失败\\n”); else printf(“查找成功\\n”);}

6.以下程序的功能是将一个矩阵转置。

#include main( )

{int a[4][4]={4,3,2,1,8,7,6,5,12,11,10,9,13,14,15,16},i,j,k; for(i=0;i<=3;i++)

for(j=0;j<=3;j++) -> for(j=i;j<=3;j++)

{k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;} 加 }

7.以下程序是判断x是否是素数,若是就输出“YES”,否则输出“NO”。 #include main()

{int x,flag,i; scanf(“%d”,x);

for(flag=1,i=1;i<=x-1;i++) if(x/i==0) {flag=0;break;}

if(flag==1) printf(“YES”); else printf(“NO”);}

8.下列程序是采用折半查找算法在a数组中查找x,若找到x则显示“成功”,否则显示“失败”。 #include main( )

{int a[15]={100,89,80,76,64,56,45,41,32,30,24,22,15,10,6}; int i,j,mid,x; scanf(“%d”, &x); i=0; j=14; while(i<=14) {mid=(i+j)/2;

if(a[mid]==x) break; else if(a[mid]>x)

j=mid-1; else i=mid+1;}

if(i>j) printf(“查找失败\\n”); else printf(“查找成功\\n”);}

9.以下程序的功能是将一个矩阵转置。

#include main( )

{int a[4][4]={4,3,2,1,8,7,6,5,12,11,10,9,13,14,15,16},i,j,k; for(i=0;i<=3;i++) for(j=0;j<=3;j++)

{k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;} 四、程序分析题

1.以下程序段的输出结果是 97531 。 int a[10]={9,8,7,6,5,4,3,2,1,0},*p; for(p=a;p<=a+9;p+=2) printf(“%d”,*p);

2.以下程序的输出结果是 6 15 15 。 int t=1; int fun(int p) {static int t=5; t+=p;

printf(\return (t);} main() {int a=3;

printf(\

3.以下程序的输出结果是 -5,-12,-7 。 void sub(int x,int y,int *z) { *z=y-x; } main() { int a,b,c;

sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(“%d,%d,%d\\n”,a,b,c);}

4.以下程序段的输出结果是 15 。 main()

{int a[]={1,2,3,4,5,6,7,8,9,10},b=9,i; for(i=0;i<3;i++) b+=a[i];

printf(\

5.以下程序段的输出结果是 16 。 int fun(int n) {if (n==1) return 1; else return n+fun(n-2);} main()

{printf(\

6.以下程序段的输出结果是 1 。

int x=0; if(x++<0)

printf( “%d”,--x); printf( “%d”, x++);

7.以下程序段的输出结果是 10 。 int k,j,s;

for(k=2;k<6;k++,k++)

for(s=1,j=k;j<6;j++) s+=j; printf(“%d\\n”,s);

8.以下程序的输出结果是 25/10=2 。 int f(int m,int n) {return n/m;} main()

{int a=10,b=25,c; c=f(a,b);

printf(\

9.以下程序的运行结果是 ** 。 main() {int x=1,y=1; switch(x)

{case 1:switch(y)

{case 0:printf(“*”);break;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C语言程序设计期末考试复习题(2)在线全文阅读。

C语言程序设计期末考试复习题(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/950822.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: