C语言程序设计习题集及答案 - V2014 联系客服

发布时间 : 星期一 文章C语言程序设计习题集及答案 - V2014更新完毕开始阅读e4c3c736102de2bd970588d4

A 9 B 6 C 36 D 18 15 下列程序输出结果是___。

#include my()

{ static int x=3; x++;

return(x); }

main()

{ int i,x;

for(i=0;i<=2;i++) x=my(); printf(\%d\\n\,x); }

A 3 B 4 C 5 D 6 16 下列程序的输出结果是___。

#include int abc(int u,int v) { int w;

while(v) { w=u%v; u=v; v=w; } return u; }

main()

{ int a=24,b=16,c; c=abc(a,b);

printf(\%d\\n\,c); }

A 8 B 6 C 5 D 4 17 下列程序运行后的输出结果是___。

main()

{ static char s[]=\abcdefgca\; p(s); printf(\s[]=%s\\n\,s); }

p(char s[]) { int i,j;

for(i=j=0;s[i]!= '\\0';i++) if(s[i]!='a'+2) s[j++]=s[i]; s[j]= '\\0'; }

A s[]=abcdefgca B s[]=abdefga C s[]=bcdefgc D 程序有错 18 下列程序运行后的输出结果是___。

void main()

{ int m=4,n=2,k;

k=fun(m,n); printf(\%d\\n\,k); k=fun(m,n); printf(\%d\\n\,k); }

23

int fun(int x,int y) { static int n=3,i=2; i+=n+1; n=i+x+y; return(n); }

A 12 B 12 C 12 D 12 12 23 25 16 19 下列程序运行后的输出结果是___。

int x=1; main()

{ int i=5; fun(i);

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

fun(m) int m; { m+=x; x+=m;

{ char x='A'; printf(\%d\\n\,x); } printf(\%d,%d\\n\,m,x); }

A 65 B A C A D 65 6,1 6,1 6,7 6,7 6,1 6,1 6,7 5,7 20 下列程序运行后,若从键盘输入ABC!四个字符后,程序输出是___。

#include main()

{ void receiv(); receiv(); }

void receiv() { char c;

c=getchar(); putchar(c);

if(c!='!') receiv(); putchar(c); }

A ABC!! B ABC!ABC! C ABC!!CBA D ABCABC

二 填空题(每空3分,共30分)

1 函数调用语句:fun((a,b),(c,d,e));,实参个数为___。

2 凡在函数中未指定存储类别的局部变量,其默认的存储类别为___。

3 在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为___。

24

4 C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是___。 5 运行下面程序,其输出结果是___。

#include int x,y; one()

{ int a,b; a=25,b=10; x=a-b;y=a+b; }

main()

{ int a,b; a=9,b=5; x=a+b;y=a-b; one();

printf(\%d,%d\\n\,x,y): }

6 运行下面程序,其输出结果是___。

#include main()

{ void printd() int n=123; printd(n); }

void printd(int n) { int i;

if(n<0) { n=-n; putchar('-'); } putchar(n+'0');

if((i=n/10)!=0) printd(i); }

7 运行下面程序,从键盘输入四个字符xyz#,其输出是___。

#include main()

{ void recursion(); recursion(); }

void recursion() { char c;

c=getchar(); putchar(c);

if(c!='#') recursion(); putchar(c); }

8 以下程序的输出结果是___。

#include

25

void fun(int x)

{ if(x/2>0) fun(x/2); printf(\%d \,x); } main()

{ fun(3); printf(\\\n\); } 9 以下程序运行结果是___。

int a=1; int f(int c)

{ static int a=2; c=c+1;

return (a++)+c; }

main()

{ int i,k=0;

for(i=0;i<2;i++){ int a=3; k+=f(a); } k+=a;

printf(\%d\\n\,k); }

10.以下程序的运行结果是___。

int k=0;

void fun(int m)

{ m+=k; k+=m; printf(\m=%d\\n k=%d \,m,k++); } main()

{ int i=4;

fun(i++); printf(\i=%d k=%d\\n\,i,k); }

三 程序填空题(每空3分,共30分)

1 一个整数称为完全平方数,是指它的值是另一个整数的平方。例如81是个完全平方数,因为它是9的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方数,且三位数字中又有两位数字相同:例如144(12*12)、676(26*26)等,程序找出并输出所有满足上述条件的三全数。 程序如下: main()

{ int n,k,a,b,c; for(k=1;;k++) { 【1】

if(n<100) 【2】 ; if(n>999) 【3】 ; a=n/100; b= 【4】 ; c=n;

if(flag(a,b,c)) printf(\n=%d=%d*%d\\n\,n,k,k); } }

26