内容发布更新时间 : 2025/11/4 15:24:27星期一 下面是文章的全部内容请认真阅读。
第三部分 循环结构 ·46·
47. 以下程序运行后,输出的结果是( )。
#include 
#include
char w[ ][10]={\ for (k=1;k<3;k++) printf(\}
A. ABCD
B. ABCD
FGH EFG KL IJ M
C. EFG
JK O
48. 以下程序运行后,输出结果是( )。 main() {
char arr[2][4];
strcpy(arr,\
arr[0][3]='&';
printf(\ }
A. you&me B. you C. me D. err
D. FGH
KL
4.2 填空题
1. C语言中,数组元素的下标下限为 ________。 2. C程序在执行过程中,不检查数组下标是否________。
3. 在定义时对数组的每一个元素赋值叫数组的________;C语言规定,只有________存储类型和________存储类型的数组才可定义时赋值。 4. 下面程序的运行结果是________。
#define N 5 main()
{
int  a[N]={1,2,3,4,5},i,temp; for(i=0;i {temp=a[i];   a[i]=a[N-i-1]; a[N-i-1]=temp;} printf(\ for(i=0;i }  5.  以下程序以每一行输出4个数据的形式输出a数组。  #include                                    第三部分 循环结构                                    ·47·  main()  {  int  a[20],i;  for(i=0;i<20;i++)   scanf(\【1】); for(i=0;i<20;i++) {if ( 【2】 )   【3】 ; printf(\}  printf(\}  6.  以下程序分别在a数组和b数组中放入an+1和bn+1个由小到大的有序数,程序把两个 数组中的数按由小到大的顺序归并到c数组中。 #include main()  {  int  a[10]={1,2,5,8,9,10}, an=5,b[10]={1,3,4,8,12,18},bn=5; int  i,j,k,c[20],max=9999; a[an+1]=b[bn+1]=max; i=j=k=0;  while((a[i]!=max)||(b[j]!=max))  if(a[i] else           {c[k]=  【3】;   k++;  【4】;}  for(i=0;i 7.  以下程序的功能是:从键盘上输入若干个学生的成绩,计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。     main( )  {   float  x[1000],   sum=0.0,  ave,  a;        int    n=0, i;        printf(\:\\n\;scanf(\,&a);       while(a>=0.0&& n<1000)         {    sum+=【1】 ;     x[n]= 【2】 ;               n++;           scanf(\,&a);          }        ave=【3】 ;        printf(\:\\n\;       printf(\,ave);    for (i=0;i       if ( 【4】 )  printf (\     }  8.  以下程序把一个整数转换成二进制数,所得二进制数的每一位放在一维数组中,输出此 二进制数。注意:二进制数的最低位在数组的第一个元素中。 #include                                    第三部分 循环结构                                    ·48·  main()  {  int  b[16],x,k,r,i;  printf(\printf(\k=-1; do   {r=x% 【1】 ; b[++k]=r; x/=  【2】 ; }  while(x>=1);  for(i=k;  【3】  ;i--)  printf(\ }   9.  输入10个整数,用选择法排序后按从小到大的次序输出。      #define  N   10 main( ) {   int  i,j,min,temp,a[N]; for(i=0;i scanf(\【1】); printf(\ for(i=0;  【2】;  i++)  {min=i;  for(j=i;j if(a[min]>a[j])  【3】 ; temp=a[i]; a[i]=a[min]; a[min]=temp;  }  for (i=0;i printf(\ printf(\ }  10.  当先后输入1,3,4,12,23时,屏幕上出现________;再输入12时,屏幕上出现________。  #include main()  {  int  i,j,number,top,bott,min,loca,a[N],flag; char  c;  printf(\scanf(\                                    第三部分 循环结构                                    ·49·  while(i {scanf(\ for(i=0;i while(flag)  { scanf(\if ((numbera[N-1]))   loca=-1; while((loca==0)&&(top<=bott)) {min=(bott+top)/2; if(number==a[min])  {loca=min;printf(\else if  (number else top=min+1; }  if (loca==0||loca==-1)   printf(\c=getchar();  if (c==’N’||c==’n’)   flag=0; } }  11. 以下程序运行结果是 ________.     #include main() {  int  a[3][3]={1,2,3,4,5,6,7,8,9},i,s1=0,s2=1; for(i=0;i<=2;i++)     { s1=s1+ a[i][i];  s2=s2*a[i][i];};  printf(\  }  12. 以下程序完成功能是:计算两个3*4阶矩阵相加,并打印出结果。请填空。  #include main() {  int  a[3][4]={{3,-2,1,2},{0,1,3,-2},{3,1,0,4}}; int  b[3][4]={{-2,3,0,-1},{1,0,-2,3},{-2,0,1,-3}}; int  i,j,c[3][4];      for(i=0;i<3;i++)        for(j=0;j<4;j++)            ________;      for(i=0;i<3;i++)        { for(j=0;j<4;j++)  printf(\ printf(\} }                                     第三部分 循环结构                                    ·50·  13. 以下程序的运行结果是________.  main()  {   int  i, j,a[3][3]; for(i=0;i<3;i++)  {for(j=0;j<3;j++)  {if(i==3)  a[i][j]=a[i-1][a[i-1][j]]+1; else      a[i][j]=j; printf(\}         printf(\ }  }  14. 阅读下列程序:  #include {   int i, j, row, column,m;  static int array[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=array[0][0];  for (i=0; i<3; i++)  for (j=0; j<3; j++)  if (array[i][j] { m=array[i][j]; row=i; column=j;}  printf(\}  上述程序的输出结果是 ________。      15. 若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该 是________。             :             .       char  a[10],b;       scanf(\            :              .  16. 以下程序段的输出结果是________。  main()  {    char  b[]=\   b[5]=0;     printf(\}  17. 若有以下程序段,若先后输入:  English?