C语言练习题2014-1(5)

2019-08-31 12:35

C)ab c D)ab

12. 判断字符串a和b是否相等,应当使用 。

A)if (a= =b) B)if (a=b) C)if (strcpy(a,b)) D)if(strcmp(a,b)) 13. 有字符数组a[80]和b[80],则正确的输出语句是 。

A)puts (a,b); B)printf(“%s,%s”,a[],b[]);

C)putchar(a,b); D)puts(a),puts(b); 14. 若有如下定义和语句: char s[12]= “abook!”;

printf(“%d”,strlen(s) );则输出结果是: 。

A)12 B)10 C)6 D)7

二、程序填空题

1.以下程序可求出所有水仙花数(指3位正整数中各位数字立方和等于该数本身,如153=13+53+33),请填空。

main( )

{ int x, y ,z, a[10], m, i=0;

printf(“shui xian huan shu :\\n”); for(___(1)____;m<1000;m++) { x=m/100;

y=____(2)____; z=m;

if(m==x*x*x+y*y*y+z*z*z)

{____(3)_____; i ++; } } for( x=0;x

printf(“m”,a[x] ) ; }

2. 打印以下杨辉三角形.(要求打印出10行) main( )

{ int a[10][10],i, j ; 1 for( i=0;i<10;i++) 1 1 {__(1)___ ___(2)___ } 1 2 1 for( i=2; i<10; i++ ) 1 3 3 1 for(j=1; j

{ for( j=0; j<=i; j++) printf(“]”,a[i][j]); printf(“\\n”);} }

3. 用起泡法对十个数由大到小排序。 main( )

{ int a[11], i, j, t;

printf(“input 10 numbers: \\n”); for(i=1;i<11;i++) scanf(“%d”,&a[i]); printf(“\\n”);

for (j=1;j<=9;j++)

for(i=1; _(1)__; i++)

if (__(2)___) {___(3)___ a[i]=a[i+1]; __(4)__ } printf(“the sorted numbers: \\n”); for ( i=1; i<11; i++) printf(“%d”,a[i]); }

4. 下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。请填空。

main( )

{ int a[10],b[10], i for(i=0;i<10; i++) scanf(“%d”,&a[i]) ; for(i=1;____ (1) ___; i++) b[i]=____ (2)_____; for(i=1;i<10;i++) { printf(“=”,b[i]); if (___(3)___)

printf(“\\n”); } }

5. 以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。请填空: main( )

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

for ( j=0; j<4; j++ )

c[i][j] = ___(1)____ ; for ( i=0; i<3; i++ )

{ for ( j=0; j<4; j++ )

printf ( “=”, c[i][j] ) ; ____(2)___ ; } }

四、读程序写结果题

2. 下列程序的运行结果是 。 main( )

{ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}, b[4][3]; int i, j;

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

for (j=0;j<4;j++ ) b[j][i]=a[i][j];

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

{ for ( j=0;j<3;j++ )

printf( “]”,b[i][j] ); printf( “\\n” ); } }

3. 下列程序的运行结果是 。 main( ) { int a[21],i,j,n=0; for(i=2;i<20;i++ )

a[i]=i;

for ( i=2;i<10;i++ ) {if (a[i]==0) continue; for (j=i+1;j<=20;j++)

if (a[j]%a[i]==0) a[j]=0;} for ( i=2;i<=20;i++ )

if (a[i]!=0) { printf(“M”,a[i]); n=n+1;} if (n%4==0) printf(“\\n”); }

4. 下面程序的运行结果是:___________。 main( )

{ char a[5][5],i,j; for(i=0;i<5;i++)

for(j=0;j<5;j++) if(i==0 ||i+j==4) a[i][j]='*'; else a[i][j]=' '; for(i=0;i<5;i++)

{for(j=0;j<5;j++)

printf(\

printf(\ } }

5. 下面程序的运行结果是: 。 main( )

{ char a[5][5],i,j; for(i=0;i<5;i++)

for(j=0;j<5;j++) if(i= =0||i= =j) a[i][j]='*'; else a[i][j]=' '; for(i=0;i<5;i++) {for(j=0;j<5;j++)

printf(\

printf(\ }

}

6. 下面程序的运行结果是: 。 main( )

{ int a[5][5],i, j ; for( i=0;i<5;i++) { a[i][0] =1; a[i][i] =1; } for( i=2; i<5; i++ ) for(j=1; j

{ for( j=1; j<=i; j++) printf(“]”,a[i][j]); printf(“\\n”);}

}

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

{ char str[ ]={“a1b2c3d4e5”},i,s=0;

for(i=0;str[i]!=?\\0?;i++) if(str[i]>=?a?&&str[i]<=?z?) printf(“%c\\n”,str[i]); printf(“\\n”); }

8. 下面程序运行结果是: 。 main( )

{ char a[6][6], i, j; for(i=0;i<6;i++) for(j=0;j<6;j++) { if ( i

a[i][j]= ?#?;

else if(i==j) a[i][j]= ? ?; else a[i][j]= ?*? ; } for(i=0;i<6;i++) { for(j=0;j<6;j++)

printf(“%c”,a[i][j]);

printf(“\\n”);} }

第六

一、选择题

1.以下函数定义正确的是: 。

A) double fun(int x, int y) B) double fun(int x; int y) C) double fun(int x, int y) ; D) double fun(int x , y)

2.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: 。 A)地址传递; B)单向值传递;

C)双向值传递; D)由用户指定传递方式

3.以下关于C语言程序中函数的说法正确的是: 。

A)函数的定义可以嵌套,但函数的调用不可以嵌套; B)函数的定义不可以嵌套,但函数的调用可以嵌套; C)函数的定义和调用均不可以嵌套; D)函数的定义和调用都可以嵌套。 4.以下正确的函数形式是: 。

A)double fun(int x,int y) B)fun (int x,y) {z=x+y;return z;} {int z;return z;}

C)fun(x,y) D)double fun(int x,int y) {int x,y; double z; {double z;

z=x+y; return z;} z=x+y; return z;}

5.以下说法不正确的是: 。 C 语言规定

A)实参可以是常量、变量或表达式

B)形参可以是常量、变量或表达式 C)实参可以是任意类型

D)形参应与其对应的实参类型一致

6.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。 A) float型 B) int 型 C)long 型 D)double 型

8.若用数组名作为函数调用的实参,传递给形参的是 。 A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数

11.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 。

A)自动(auto) B)静态(static) C)外部(extern) D)寄存器(register) 12.下面程序的正确运行结果是: 。 main( ) {int a=2, i;

for(i=0;i<3;i++) printf(“M”,f(a) ); } f( int a)

{ int b=0; static int c=3; b++; c++; return (a+b+c);}

A)7 7 7 B)7 10 13 C)7 9 11 D)713.下面函数调用语句中实参的个数为: 。

func((exp1,exp2),(exp3,exp4,exp5))

A) 1 B) 2 C) 4 D) 5 22.有如下程序 int func(int a,int b) { return(a+b);} main( )

{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\\d\\n”,r); }

该程序的输出的结果是 。

9 8


C语言练习题2014-1(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

Copyright © 2019-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18

× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: