C综合练习 2附答案

发布 2023-05-18 21:10:28 阅读 3454

c综合练习2 (数组和常用算法练习题)

1. 数组概念题。

1) 下列各语句定义了数组,其中哪一个是不正确的。

a、char a[3][10]=;b、int b[2][2]=;

c、float x[2]

2) 下面叙述中,正确的有。

a)同一个数组中的各个元素具有相同的数据类型。

b)a是一维数组名,数组元素 a[1] 还可以写作 *(a++)

c)设变量定义为 char s[ ]hello",则数组s中有6个元素。

d) 已定义int w[5];程序中可以引用的数组元素分别是w[1],w[2],w[3],w[4],w[5].

e) 已定义int n=4 ; 则执行语句float x[n]=;后,x[2]的值是3 .

f) 已定义int a[2][3]=;则元素a[1][2] 的值是不确定的值。

3) 不正确的赋值或赋初值的方式是。

a、char str[6]=;b、char str[10]= string";

c、char str[6]="gd、char str[10]; str="string";

4) 设int str[100];int i=5;则引用数组元素str[5]的错误形式是。

a. str[5] b. str[ic. str[i++]d. str[++i]

5) 设char str[100 ] hangzhou" ;则数组str所占内存空间应为字节。

6) 设char str[ ]hangzhou" ;则数组str所占内存空间应为字节。

(7) 设int a[2][3]=,则初值为3的数组元素名是。

8) 若声明char s[20]="windows″;则语句“printf(″%s″,s+3);”的输出结果为___

9) 程序中使用了字符串函数strcmp ,则必须包含的头文件名为若使用 gets 呢 ?

10)有定义 char ch [ 9 ]=123\0\\abc ”,则 strlen ( ch ) 等于___

2. 程序阅读题。

1) 下列程序的输出结果是 。

main (

int a[ ]5] =

printf ( d ",a[1][2] )

2) 下列程序的输出结果是。

main (

char str [ 10] =

int k ;

for ( k = 1 ; k < 3 ; k ++printf ( s " str[k

3) 下列程序的输出结果是。

main()

4) 下列程序的输出结果是。

#include <>

#include <>

main()

char c,a[10]="office"; int i;

for(i=0;ic=a[0]; strcpy(a,a+1);

a[strlen(a)]=c; a[strlen(a)+1]='0';

puts(a

5) 下列程序的输出结果是。

main(),

int i,j; float v;

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

v=a[i][0]; for(j=1;j<3;j++)v+=a[i][j];

v/=3; for(j=0;j<3;j++)a[i][j]-=v; }

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

for(j=0;j<3;j++)printf("%6.1f,",a[i][j]);

printf("\b

(6) 下列程序的输出结果是。

#include <>

main()

int i,k,j,m=

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

k=sqrt( m [ i ]

for(j=2;j<=k;j++)

if(m[ i ]%j = 0) break ;

if ( j < k+1 ) printf (“m=%d”, m [ i

7) 设运行时输入为 4, 则下列程序的输出结果是。

main()

int x [

int k , y = 0 , n ;

scanf ( d”,&n );

for ( k=1;k<=n;k++

if ( x [ k ] 2 = 1 ) y ++

printf ( y=%d”, y ):

8) 下列程序的输出结果是。

main ()

int i, j , p , t ;

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

p=i;for ( j =i+1 ; j<=5 ;j++

if ( x [ j ] x [ p ] p=j ;

t=x [ p ] x [ p ] x [ i ] x [ i ]=t ;

for ( i = 0 ; i<=5 ; i++

printf ( d ”,x [ i

(9) 下列程序的输出结果是。

main( )

int i ,j,s1 = 0 ,s2 = 0 , a[ ]3] =

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

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

if ( i = j ) s1 +=a[i][j] ;

if ( i +j = 2 ) s2 +=a[i][j] ;

printf ( s1=%d , s2=%d \ n" ,s1 , s2

3. 程序填空题。

(1) 程序说明: 下述程序的功能是将字符串 s1 复制到字符串 s2 中。

#include <>

main()

char s1[100],s2[100]; int i;

gets( s1) ;

while (s1[ i ]!0’ )

s2[ i ] s1[ i ]

puts(s1);

puts(s2);

(2) 程序说明: 下述程序的功能是输入10个整数,将它们存入数组a中,再输入一个数x,然后在数组中查找x,如果找到,输出相应的下标(如有多个元素与x相等,只要输出下标值最小的那个元素的下标),否则,输出“not found”。请从给出的答案中选取合适的填空。

main()

{int k,sub,x;int a[10];

for(k=0;k<10;k++ scanf(“%d”,&a[k]);

printf(”input x\n”);

scanf(”%d”,&x);sub= -1;

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

if(a[k]==x)__1

if(__2printf(”index is %d\n”,sub);

C综合练习 2附答案

c综合练习2 数组和常用算法练习题 1.数组概念题。1 下列各语句定义了数组,其中哪一个是不正确的。a char a 3 10 b int b 2 2 c float x 2 2 下面叙述中,正确的有。a 同一个数组中的各个元素具有相同的数据类型。b a是一维数组名,数组元素 a 1 还可以写作 a...

C语言练习 数组 附答案

一 基础知识 数组的定义 初始化 引用和遍历 1 定义一个整型数组 a,长度为 10,全部赋值为 0 9,以 d t 格式输出所有元素。2 定义一个整型数组 b,长度为 6,第 1 个元素为 2,第 3 个元素 4,第 4 个元素为 5,其它赋值为 0,以 d t 格式输出所有元素。3 定义一个浮点...

整式加减练习 2 附答案

2.2整式的加减同步练习 2 一 填空题 1.3xy与 3xy的差是 2.一个多项式减去5ab 3b2等于2a2 2ab b2,这个多项式是 3.2a 3 3a2 2a a2 1.4.被减式为x2 x,差式为 10 x2 3x,则减式为 5.2x2ym与 3xny是同类项,则m n 6.三个连续自然...