C语言上机练习题

发布时间 : 星期四 文章C语言上机练习题更新完毕开始阅读

1.阅读以下程序,说出其功能和运算结果。

#include int main( ) { int n ;

int factorial(int n) ; scanf(\

printf(\ return 0 ; }

int factorial(int n) {

int i, fact=1 ; for(i=1;i<=n;i++) fact=fact*i ; return fact ; }

若输入5↙

2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。

#include int mian( ) {

printf(\Welcome to You!\\n\ return 0 ;

}

3. 若输入4,程序运行结果为【 1 】,若输入-4,运行结果为【 2 】,若输入10,运行结果为【 3 】。

#include main()

{ int x,y;

scanf(\if(x<1) { y=x;

printf(\}

else if(x<10)

{ y=2*x-1;

printf(\}

else

{ y=3*x-11;

printf(\}

1

}

4. 当输入19,2,21时下列程序运行的结果是( )。

#include main()

{int a,b,c,max;

printf(\scanf(\max=a;

if(max

printf(\

}

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,%d\\n”,v1,v2); }

6.下面程序的运行结果是 。 #include void main() {int i,j,k=19; while(i=k-1) {k-=3;

if(k%5==0) { i++; continue; } else if(k<5) break; i++;

}

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

7.下列程序的输出为 。 #include void main()

2

{int i,j,k=0,m=0; for(i=0;i<2;i++)

{ for(j=0;j<3;j++)k++;k-=j;} m=i+j;

printf(\}

8.下面程序的运行结果是 。 #include void main()

{

int n[3],i,j,k;

for(i=0;i<3;i++) n[i]=0; k=2;

for(i=0;i

printf(“%d\\n”,n[1]); }

9.阅读程序,写出程序运行结果。 #include #define MAX 100 void main()

{ int f[MAX],i,j,k=2,m=5; for(i=0;i<=m;i++)

f[i]=1; f[k-1]=2;

for(i=k;i<=m;i++)

for(j=i-k;j<=i-1;j++)

f[i]+=f[j];

printf(\}

10.下面程序可求出矩阵a的两条对角线上的元素之和。请填空。 #include void main() { int a[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) sum1=sum1+a[i][j]; for(i=0;i<3;i++) for(【1】;【2】;j--) if((i+j)==2) sum2=sum2+a[i][j]; printf(“sum1=%d,sum2=%d\\n”,sum1,sum2); }

3

11.已知以下矩阵:

??Y1??1?0.200??1?

?Y2???0.81?0.2?0.??1???Y3??=?2?Y4????0?0.81?0.2??×??1?? ?0?0.8?0.81????1?? 下面程序的功能是求出Y1,Y2,Y3,Y4的值。请填空。

#include void main() { float a[4][4]={{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 x[4]={1,1,1,1},y[4]; int i,j,k; for(i=0;i<4;i++) { y[i]=0; for(j=0;j<4;j++) 【1】 } for(k=0;k<4;k++) printf(“\\nY[%d]=%-6.2f”,k+1,【2】); }

12.运行以下程序时,如果从键盘上输入:

ab<回车> c<回车> def<回车>

则输出结果为( )。 #include \#define N 6 void main() { char c[N]; int i=0;

for(;i

for(i=0;i

A.a B.a C.ab D.abcdef b b c c c d d d e f

13.给出下列程序的运行结果:

# include \

4

联系合同范文客服:xxxxx#qq.com(#替换为@)