二级c语言经典练习带答案.docx

上传人:b****4 文档编号:2956490 上传时间:2022-11-16 格式:DOCX 页数:30 大小:21.88KB
下载 相关 举报
二级c语言经典练习带答案.docx_第1页
第1页 / 共30页
二级c语言经典练习带答案.docx_第2页
第2页 / 共30页
二级c语言经典练习带答案.docx_第3页
第3页 / 共30页
二级c语言经典练习带答案.docx_第4页
第4页 / 共30页
二级c语言经典练习带答案.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

二级c语言经典练习带答案.docx

《二级c语言经典练习带答案.docx》由会员分享,可在线阅读,更多相关《二级c语言经典练习带答案.docx(30页珍藏版)》请在冰豆网上搜索。

二级c语言经典练习带答案.docx

二级c语言经典练习带答案

考研程序设计复习题

1.

以下程序的输出结果是______。

main()

{inta=0;

a+=(a=8);

printf("%d\n",a);

}

答案:

16

知识点:

赋值表达式

2.

若有定义:

inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是______。

c=(a-=(b-5));

c=(a%11)+(b=3);

答案:

3

知识点:

赋值表达式

3.

以下程序运行后的了输出结果是______。

main()

{inta=1,b=2,c=3;

if(c=a)printf("%d\n",c);

elseprintf("%d\n",b);

}

答案:

1

知识点:

赋值表达式

4.

若有语句

inti=-19,j=i%4;

printf("%d\n",j);

则输出结果是______。

答案:

-3

知识点:

算术表达式

5.

设有以下程序:

main()

{intn1,n2;

scanf("%d",&n2);

while(n2!

=0);

{n1=n2%10

n2=n2/10;

printf("%d",n1);

}

}

程序运行后,如果从键盘上输入1298,则输出结果为______。

答案:

8921

知识点:

算术表达式

6.

下面程序的输出是______。

unsignedfun6(unsignednum)

{unsignedk=1;

do{

k*=num%10;

num/=10;

}while(num);

return(k);}

main()

{unsignedn=26;

printf("%d\n",fun6(n));

}

答案:

12

知识点:

算术表达式

7.

设y是int型变量,请写出判断y为奇数的关系表达式______。

答案:

y%2

知识点:

算术表达式

8.

下列程序的输出结果是16.00,请填空。

main()

{inta=9,b=2

floatx=______,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

答案:

6.6

知识点:

算术表达式

9.

以下程序运行后的输出结果是______。

main()

{intx=0210;printf("%X\n",x);

}

答案:

88

知识点:

整型数据

10.

以下程序的功能是:

将无符号八进制数字构成的字符串转换为十进制整数。

例如,输入的字符串为:

556,则输出十进制整数366。

请填空。

#include

main()

{char*p,s[6];

intn;

p=s;

gets(p);

n=*p-'0';

while(______!

='\0')n=n*8+*p-'0';

printf("%d\n",n);

}

答案:

*(++p)~*++p

知识点:

整型数据

11.

以下程序的输出结果是______。

main()

{unsignedshorta=65536;intb;

printf("%d\n",b=a);

}

答案:

0

知识点:

整型数据

12.

下面程序的输出是______。

main()

{intx=2;

while(x--);

printf("%d\n",x);}

答案:

-1

知识点:

自加、自减运算符和逗号运算符

13.

以下程序输出的最后一个值是______。

intff(intn)

{staticintf=1;

f=f*n;

returnf;

}

main()

{inti;

for(i=1;i<=5;i++)printf("%d\n",ff(i));

}

答案:

120

知识点:

局部变量及其作用域和生存期

14.

以下程序的输出结果是______。

fun(intn,int*s)

{intf1,f2;

if(n==1||n==2)*s=1;

else

{fun(n-1,&f1);

fun(n-2,&f2);

*s=f1+f2;

}

}

main()

{intx;

fun(6,&x);

printf("%d\n",x);

}

答案:

8

知识点:

函数的递归调用

15.

以下程序运行后的输出结果是______。

intf(inta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

}

main()

{intaa[5]={1,2,3,4,5},s;

s=f(aa,5);printf(“%d\n”,s);

}

答案:

15

知识点:

函数的递归调用

16.

下面程序的运行结果是:

______。

fun(intt[],intn)

{inti,m;

if(n==1)returnt[0];

else

if(n>=2){m=fun(t,n-1);returnm;}

}

main()

{inta[]={11,4,6,3,8,2,3,5,9,2};

printf("%d\n",fun(a,10));

}

答案:

11

知识点:

函数的递归调用

17.

以下程序的输出结果是______。

main()

{intx=0;

sub(&x,8,1);

printf("%d\n",x);

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

答案:

7

知识点:

函数的递归调用

18.

下面程序的运行结果是:

______。

intf(inta[],intn)

{if(n>1)returna[0]+f(&a[1],n-1);

elsereturna[0];

}

main()

{intaa[3]={1,2,3},s;

s=f(&aa[0],3);printf("%d\n",s);

}

答案:

6

知识点:

函数的递归调用

19.

以下程序的输出结果是______。

voidfun()

{staticinta=0;

a+=2;printf("%d",a);

}

main()

{intcc;

for(cc=1;cc<4;cc++)fun();

printf("\n")

}

答案:

246

知识点:

函数的调用

20.

设函数findbig已定义为求3个数中的最大值。

以下程序将利用函数指针调用findbig函数。

请填空。

main()

{intfindbig(int,int,int);

int(*f)(),x,y,z,big;

f=______;

scanf("%d%d%d",&x,&y,&z);

big=(*f)(x,y,z);

printf("big=%d\n",big);

}

答案:

findbig

知识点:

函数的调用

21.

若有以下程序

intf(intx,inty)

{return(y-x)*x;}

main()

{inta=3,b=4,c=5,d;

d=f(f(3,4),f(3,5));

printf("%d\n",d);

}

执行后输出结果是______。

答案:

9

知识点:

函数的调用

22.

有以下程序

intsub(intn){return(n/10+n%10);}

main()

{intx,y;

scanf(“%d”,&x);

y=sub(sub(sub(x)));

printf(“%d\n”,y);

}

若运行时输入:

1234<回车>,程序的输出结果是______。

答案:

10

知识点:

函数的调用

23.

以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。

voidfun(int*x,int*y)

{……}

main()

{inta=10,b=20;

______;

p=fun;p(&a,&b);

……

}

答案:

void(*p)()~void(*p)(int*,int*)

知识点:

函数的调用

24.

请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

______(double,double);

main()

{doublex,y;

scanf("%1f%1f",&x,&y);

printf("%1f\n",max(x,y));

}

doublemax(doublea,doubleb)

{return(a>b?

a:

b);}

答案:

doublemax~externdoublemax

知识点:

函数的定义和返回值

25.

以下程序运行后输出结果是______。

#include

char*ss(char*s)

{char*p,t;

p=s+1;t=*s;

while(*p){*(p-1)=*p;p++;}

*(p-1)=t;

returns;

}

main()

{char*p,str[10]=”abcdefgh”;

p=ss(str);

printf(“%s\n”,p);

}

答案:

bcdefgha

知识点:

函数的定义和返回值

26.

下面程序的运行结果是:

______。

#include

intf(inta[],intn)

{

if(n>1)

returna[0]+f(a+1,n-1);

else

returna[0];

}

main()

{

intaa[10]={1,2,3,4,5,6,7,8,9,10},s;

s=f(aa+2,4);printf("%d\n",s);

}

答案:

18

知识点:

函数之间对一维数组和数组元素的引用

27.

以下程序的输出结果是______。

main()

{inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;

for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];

printf("%d\n",s);

}

答案:

30

知识点:

二维数组的定义和二维数组元素的引用

28.

以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。

请填空。

voidfun(int,int,int(*)[4],int*);

main()

{inta[3][4]={{12,41,36,28},{19,33,15,27}{3,27,19,1}},b[3],i;

fun(3,4,a,b);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

for(i=0;i

{x=ar[i][0];

for(j=0;j

_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1