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

C语言期末复习题(2)

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

int a, b, *pa=&a, *pb=&b; scanf(“%d,%d”,&a,&b); swap (pa,pb);

printf(“a=%d,b=%d\\n”,a,b); return 0;

}

void swap (int *p1,int *p2) {

int p; p=*p1; *p1=*p2; *p2=p;

printf(“*p1=%d,*p2=%d\\n”,*p1,*p2); }

9.以下程序输出结果是 。 #include int main ( ) {

int x=1,y=0,a=0,b=0; switch(x) {

case 1:switch (y)

{

case 0 : a++ ; break ; case 1 : b++ ; break ; }

case 2:a++; b++; break; case 3:a++; b++;

}

printf(“a=%d,b=%d”,a,b); return 0; }

10.输入6,下面程序的执行结果是: #include

unsigned int fact (unsigned int ); int main()

{ unsigned int n,fac; scanf(\ fac=fact (n);

printf(\ return 0; }

unsigned int fact (unsigned int n) {

unsigned int result; if(n==1||n==2) result=1; else

第6页/ 共14页

result=fact(n-1)+fact (n-2); return result; }

11.下面程序的输出结果是 。 #include int fun(int,int); int main( )

{ int x=7,y=3,s,j; for(j=0;j<3;j++) {

s=fun(x,y);

printf(\ }

return 0; }

int fun(int a,int b) {

static int n=1,i=2; i=n+1; n=i+a-b; return(n); }

12. 当运行以下程序时,从键盘输入:AhaMA□Aha(表示回车,□表示空格),则下面程序的运行结果是________。 #include int main(){

char s[80],c='a'; int i=0;

scanf(\

while(s[i]!='\\0') {

if(s[i]==c) s[i]=s[i]-32; else if(s[i]==c-32) s[i]=s[i]+32; i++; }

puts(s); return 0; }

13.下面程序执行的结果是 #include

void inv(int *, int ); int main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a,10);

第7页/ 共14页

for(i=0;i<10;i++)

printf(\

printf(\return 0; }

void inv(int *x, int n)

{ int t,*p,*i,*j,m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(;i<=p;i++,j--)

{ t=*i; *i=*j; *j=t; } }

14.下面函数的功能是 int strcmp(char *s,char *t) {

while (*s && *t && (*s == *t)) {

s++; t++; }

return *s - *t; }

四、程序填空题

1.以下程序输出a,b,c三个整数,并按从小到大排序,请完善程序。 #include int main()

{ int a,b,c,t;

scanf(\ if( [1] ) {

t=a; a=b; b=t; }

if(a>c) {

[2] ; a=c; c=t; }

if(b>c) {

t=b;

[3] ; c=t; }

printf(\return 0;

第8页/ 共14页

}

2.下面程序是实现两个M?N矩阵相加,请完善程序。

#include #define M 3 #define N 4

void add(int x[][N],int y[][N],int z[][N]); int main()

{ int i,j,a[M][N],b[M][N],c[M][N]; for(i=0;i

scanf(\ add( [4] ); for(i=0;i

for(j=0;j

printf(\ printf(\ }

return 0; }

void tran(int x[][N],int y[][N],int z[][N]) {

int i,j;

for(i=0;i

z[i][j]= [5] ; }

3.下面函数的功能是将两个字符串s1和s2连接起来,请填空使程序完整。

void conj(char *s1,char *s2) { char *p=s1 ;

while (*s1) [6] ;

while (*s2) { *s1= [7] ; s1++,s2++; } *s1=?\\0? ; }

4.函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据赋0到m-1的值。

#include

#include #include typedef struct aa { int data;

struct aa *next; } NODE;

NODE *Creatlink(int n, int m) { NODE *h=NULL, *p, *s; int i;

第9页/ 共14页

/**********found***********/

p=(NODE* )malloc(sizeof(NODE)); h=p;

p->next=NULL;

for(i=1; i<=n; i++)

{ s=(NODE *)malloc(sizeof(NODE));

s->data=rand()%m; /*rand()为随机函数*/

s->next=p->next; [8] ; p=p->next; }

/**********found***********/ return h; }

outlink(NODE *h) { NODE *p; p=h->next; while( [9] )

{ printf(\ p=p->next; }

printf(\}

int main()

{ NODE *head;

head=Creatlink(8,22); outlink(head); return 0; }

5.以下程序输出x,y,z三个数中的最小值,请完善程序。 #include

int main ( )

{ int x,y,z,min ;

scanf(“%d %d %d”,&x,&y,&z); if(x>y)

[10] ; else

min=x;

if( [11] ) min=z;

printf (“%d”,min); return 0; } 6.下面程序是实现M?N矩阵的转置,请完善程序。

#include

第10页/ 共14页

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

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