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.三个连续自然...