C语言复习题整理(3)

2019-04-14 15:37

main( ) {

int j=4, m=1, k; k=fun(j, m); printf (\ k=fun(j,m); printf(\}

题解5 数 组

5.1 习题 一、选择题

1.在下列数组定义、初始化或赋值语句中,正确的是( C )。

A.int a[8]; a[8]=100; B.int x[5]={1,2,3,4,5,6}; C.int x[ ]={1,2,3,4,5,6}; D.int n=8; int score[n]; 2.若已有定义:int i, a[100]; 则下列语句中不正确的是( C )。

A.for ( i=0; i<100; i++ ) a[i]=i;

B.for ( i=0; i<100; i++ ) scanf ( \C.scanf (\

D.for ( i=0; i<100; i++ ) scanf ( \3.与定义char c[ ]={\不等价的是( C )。

A.char c[ ]={ 'G', 'O', 'O', 'D', '\\0'}; B.char c[ ]=\

C.char c[4]={\ D.char c[5]={ 'G', 'O', 'O', 'D', '\\0'}; 4.若已有定义:char c[8]={\则下列语句中不正确的是( D )。

A.puts (c); B.for ( i =0; c[i]!= '\\0'; i ++ ) printf (\c[i]); C.printf (\ D.for ( i =0; c[i]!= '\\0'; i ++ ) putchar ( c ); 5.若定义a[ ][3]={0,1,2,3,4,5,6,7}; ,则a数组中行的大小是( B )。

A.2 B.3 C.4 D.无确定值 6.以下程序的运行结果是( B )。

#include void f ( int b[ ] ) {

int i=0;

while(b[i]<=10) { b[i]+=2; i++; } } main( ) {

int i, a[ ]={ 1, 5,10, 9,13, 7}; f (a+1);

for(i=0; i<6; i++) printf(\}

A.2 7 12 11 13 9 B.1 7 12 11 13 7 C.1 7 12 11 13 9 D.1 7 12 9 13 7 7.若执行以下程序段,其运行结果是( D )。

char c[ ]={'a', 'b', '\\0', 'c', '\\0'}; printf ( \

A.ab c B.'a''b' C.abc D.ab 8.数组名作为参数传递给函数,作为实际参数的数组名被处理为( D )。

A.该数组长度 B.该数组元素个数

C.该函数中各元素的值 D.该数组的首地址 9.执行下面的程序段后,变量k中的值为( D )。

int k=3, s[2]={1}; s[0]=k; k=s[1]*10;

A.不定值 B.33 C.30 10.在定义 int a[5][4];

之后;对a的引用正确的是( C )。

A.a[2][4] B.a[5][0] C.a[0][0] D.a[0,0]

11.当接受用户输入的含空格的字符串时,应使用函数( B )。

A.scanf( ) B.gets( ) C.getchar( ) D.getc( )

二、程序填空

1.以下程序用来检查二维数组是否对称(即对所有i,j都有a[i][j]=a[j][i])。

#include main ( ) {

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

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

if ( 【1】【1】a[i][j]!=a[j][i] ) {

found= 【2】1 ; break; }

if (found) break; }

if (found) printf (\不对称\\n\ else printf(\对称\\n\

D.0 }

2.以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把两者对调,然后输出调整后的5个数。

#include main ( ) {

int a[5], t, i, maxi, mini; for ( i=0; i<5; i++ )

scanf ( \ mini=maxi= 【3】0; for ( i=1; i<5; i++ ) {

if( 【4】a[mini]>a[i] ) mini=i;

if ( a[i]>a[maxi] ) 【5】 maxi=i ; }

printf ( \最小数的位置是:=\\n\ printf ( \最大数的位置是:=\\n\ t=a[maxi];

【6】a[maxi]=a[mini] ; a[mini]=t;

printf ( \调整后的数为: \ for ( i=0; i<5; i++ )

printf ( \ printf (\}

3.给定一3 x 4的矩阵,求出其中的最大元素值,及其所在的行列号: main( ) {

int i,j,row=0,colum=0,max;

static int a[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}}; 【7】max=a[0][0] ; for(i=0;i<=2;i++)

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

【8】if (a[i][j]>max) ; 【9】{max=a[i][j]; row=i;colum=j;} ; }

printf(\}

4.下述函数用于确定给定字符串的长度,请完成程序。

strlen ( char s[ ] ) {

int i=0;

while ( 【10】s[i]!= '\\0' return ( 【11】i ); }

5.以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数组,然后输出该字符数组中的字符串,请填空。

#include main ( ) {

char str[81]; int i;

for ( i=0; i<80; i++ ) {

str[i]=getchar( );

if (str[i]== '\\n') break; }

str[i]= '\\0';

【12】i=0 ;

while ( str[i]!= '\\0' ) putchar( 【13】str[i++] ); }

三、阅读程序并写出运行结果 1.写出下列程序的运行结果并分析。

#include main( ) {

static int a[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}}; int j,k;

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

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

if (a[j][k]==0) break; printf(\ } }

printf(\}

2.写出下列程序的运行结果并分析。

#include main ( ) {

int a[6][6],i,j; for (i=1 ;i<6 ; i++) for ( j=1;j<6;j++) a[i][j]= i*j; for (i=1 ;i<6 ; i++) {

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

printf( \ printf(\ } }

3.写出下列程序的运行结果并分析。

#include main ( ) {

int a[ ]={1,2,3,4},i,j,s=0; j=1;

for ( i=3;i<=0;i-- ) {

s=s+a[i]*j; j=j*10; }

printf(\}

4.写出下列程序的运行结果并分析。

#include main( ) {

int a[]={0,2,5,8,12,15,23,35,60,65}; int x=15,i,n=10,m; i=n/2+1; m=n/2; while(m!=0) {

if(x


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

下一篇:工程车辆分动系统分动箱传动毕业设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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