专升本历年真题

专升本C语言|选择题训练(三)

浏览次数: 发布时间:2022-07-06

选择题


1、有如下程序

  #include<stdio.h>

  void main( )

   { int i,sum=0;

     for(i=1;i<=3;sum++) sum+=i;

     printf("%d\n",sum);

   }

该程序的执行结果是__________.

A) 6       B) 3       

C) 死循环     D) 0


2、以下循环体的执行次数是_______

 #include<stdio.h>

 void main( )

  { int i,j;

    for(i=0,j=1; i<=j+1; i+=2, j--)

     printf("%d \n",i);

  }

A) 3         B) 2          

C) 1         D) 0


3、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.

 #include <stdio.h>

 void main( )

  { char ch;

    while ((ch=getchar( ))!='\n')

     { if (ch>='A' && ch<='Z') ch=ch+32;

       else if (ch>='a' && ch<'z') ch=ch-32;

       printf("%c",ch);

     }

    printf("\n");

  }

A) ABCdef      B) abcDEF   

C) abc            D) DEF


4、下面程序的输出结果是_________.

  main( )

  {

    int i,k=0, a=0, b=0;

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

{

 k++;

      if (k%2==0) {a=a+k; continue;}

      b=b+k;

      a=a+k;

    }

    printf("k=%d a=%d b=%d\n",k,a,b);

  }

A) k=5 a=10 b=4      B) k=3 a=6 b=4

C) k=4 a=10 b=3      D) k=4 a=10 b=4


5、执行下面程序段后,k的值是_________.

    int i,j,k;

    for(i=0,j=10;i<j;i++,j--)

     k=i+j;

A) 9         B) 11         

C) 8         D) 10


6、下面程序是计算n个数的平均值,请填空.______

#include<stdio.h>

  void main( )

   { int i,n;

     float x,avg=0.0;

     scanf("%d",&n);

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

      { scanf("%f",&x);

        avg=avg+______; }

        avg=________;

     printf("avg=%f\n",avg);

   }

A) i           B) x           C) x          D) i

  avg/i       avg/n        avg/x       avg/n


7、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________

#include<stdio.h>

  void main( )

  { float x,amax,amin;

    scanf("%f",&x);

    amax=x;

    amin=x;

    while (________ )

     { if (x>amax) amax=x;

       if (______) amin=x;

       scanf("%f",&x);

     }

     printf("\namax=%f\namin=%f\n",amax,amin);

  }

A) x<=0          B) x>0 

    x>amin        x<=amin         

C) x>0            D) x>=0

   x>amin           x<amin


8、阅读以下程序,程序运行后的输出结果是______.

#include<stdio.h>

void  main( )

  { int x;

    for(x=5;x>0;x--)

       if (x--<5) printf("%d,",x);

       else printf("%d,",x++);  }

A) 4,3,2     B) 4,3,1,      

C) 5,4,2      D) 5,3,1,


9、以下程序段的输出结果是________.

  int k,n,m;

   n=10;m=1;k=1;

   while (k<=n) {m*=2;k+=4;}

   printf("%d\n",m);

A) 4         B) 16           

C) 8        D) 32


10、下面程序的输出结果是_________.

  #include<stdio.h>

  void main( )

  {int y=9;

   for(;y>0;y--)

    {if(y%3==0)

      {printf("%d",--y);

        continue;}

     }

  }

A) 741       B) 852      

C) 963      D) 875421


11、合法的数组定义是________.

A) int a[6]={"string"};    

B) int a[5]={0,1,2,3,4,5};

C) char a={"string"};      

D) char a[]={0,1,2,3,4,5};


12、要求下面的程序运行后,显示如下结果:

2  10   4   6

1   5   2   3

2   4   7   8

5   1   3   2

则程序中的划线处应填入________.

#include <stdio.h>

void main( )

{ int a[4][4]={ ________ };

  int i,j;

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

    {for(j=0;j<4;j++)  printf("%4d",a[i][j]);

     printf("\n"); }  

}

A) {1,5,2,3},{2,4,7,8},{5,1,3,2}

B) {2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}

C) {5,1,3,2},{2,4,7,8},{1,5,2,3}

D) {2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}


13、给出以下定义:

char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为 ________.

A) 数组x和数组y等价

B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度


14、定义如下变量和数组:

int i;

int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

则下面语句的输出结果是_______.

for(i=0;i<4;i++) printf("%3d",x[i][3-i]);

A) 1  5  9 13         B) 1  6 11 16   

C) 4  7 10 13          D) 4  8 12 16


15、下面程序输出的结果是________.

#include <stdio.h>

void main( )

{ int i,j,x=0;

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

  for(i=0,j=1;i<5;++i,j++)  x+=a[i]*a[j];

  printf("%d\n",x);

}

A) 数组a中首尾的对应元素的乘积

B) 数组a中首尾的对应元素的乘积之和

C) 数组a中相邻各元素的乘积

D) 数组a中相邻各元素的乘积之和


16、若希望下面的程序运行后输出45,程序空白处的正确选择是________.

#include <stdio.h>

void main( )

{ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};

  for( ____________ )

    j+=a[i];

  printf("%d\n",j);

}

A) i=5;i>1;i--       B) i=0;i<7;++i   

C) i=5;i>=1;--i       D) i=2;i<6;++i


17、若有以下说明:

char s1[ ]={"tree"},s2[]={"flower"}; ,

则以下对数组元素或数组的输出语句中,正确的是_____.

A) printf("%s%s",s1[5],s2[7]);    

B) printf("%c%c",s1,s2);

C) puts(s1);puts(s2);     

D) puts(s1,s2);


18、下列一维数组初始化语句中,正确且与语句float  a[ ]={0,3,8,0,9};等价的是________.

A) float  a[6]={0,3,8,0,9};  

B) float  a[4]={0,3,8,0,9};

C) float  a[7]={0,3,8,0,9};  

D) float  a[5]={0,3,8,0,9};


19、运行下面程序段的输出结果是________.

  char  s1[10]={'S','e','t','\0','u','p','\0'};

  printf("%s",s1);

A) Set       B) Setup      

C) Set up      D) 'S''e''t'


20、以下程序段的输出结果是________.

  char  s[ ]="an apple";

  printf("%d\n",strlen(s));

A) 7          B) 8         

C) 9          D) 10


21、若有说明:char  c[10]={'E','a','s','t','\0'};,则下述说法中正确的是__________.

A) c[7]不可引用       

B) c[6]可引用,但值不确定

C) c[4]不可引用       

D) c[4]可引用,其值为空字符


22、下列初始化语句中,正确且与语句

char  c[ ]="string";等价的是________.

A) char  c[ ]={'s','t','r','i','n','g'};

B) char  c[ ]='string';

C) char  c[7]={'s','t','r','i','n','g','\0'};

D) char  c[7]={'string'};


23、若有说明char  c[7]={'s','t','r','i','n','g'};则对元素的非法引用是________.

A) c[0]     B) c[9-6]      

C) c[4*2]     D) c[2*3]


24、如有说明:char s1[5],s2[7]; ,要给数组s1和s2整体赋值,下列语句中正确的是________.

A) s1=getchar();  s2=getchar();

B) scanf("%s%s",s1,s2);

C) scanf("%c%c",s1,s2);

D) gets(s1,s2);


25、下列一组初始化语句中,正确的是________.

A) int a[8]={  };          

B) int a[9]={0,7,0,4,8};

C) int a[5]={9,5,7,4,0,2};     

D) int a[7]=7*6;


26、以下程序输出的结果是_________.

#include <stdio.h>

void main( )

{ char  str[ ]="1a2b3c";  int  i;

  for(i=0;str[i]!='\0';i++)

    if(str[i]>='0'&&str[i]<='9')  printf("%c",str[i]);

  printf("\n");

}

A) 123456789     

B) 1a2b3c     

C) abc     

D) 123


27、以下程序输出的结果是_______.

#include  <stdio.h>

void main( )

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

  long s=0;

  for(i=0;i<5;i++)    s=s*10+a[i];

  printf("s=%ld\n",s);

}

A) s=12345   B) s=5 4 3 2 1    

C) s=54321   D) 以上都不对


28、以下程序输出的结果是_______.

#include  <stdio.h>

void main( )

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

  for(i=0;i<5;i++)    s=s*10+a[i];

  printf("s=%d\n",s);

}

A) s=12345           B) s=1 2 3 4 5

C) s=54321           D) s=5 4 3 2 1


29、在定义int a[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)

A) a[2][5]     B) a[2][4]    

C) a[1][3]     D) a[1][5]

 

30、当接受用户输入的含有空格的字符串时,应使用________函数.

A) gets( )   B) getchar( )   

C) scanf( )    D) printf( )


31、以下程序执行时输入Language  Programming<回车>,输出结果是________.

#include  <stdio.h>

void main( )

{ char  str[30];

  gets(str);

  printf("str=%s\n",str);  

}

A) Language  Programming      

B) Language

C) str=Language      

D) str=Language  Programming


32、以下一维数组a的正确定义是_______ .

A) int  a(10);               B) int n=10,a[n];

C) int n;                      D) #define  SIZE  10

   scanf("%d",&n);             int a[SIZE];

   int  a[n];


33、以下对二维数组a进行正确初始化的是_______.

A) int  a[2][3]={ {1,2},{3,4},{5,6} };   

B) int  a[ ][3]={1,2,3,4,5,6 };

C) int  a[2][ ]={1,2,3,4,5,6};            

D) int  a[2][ ]={ { 1,2},{3,4}};


34、以下关于数组的描述正确的是__________.

A) 数组的大小是固定的,但可以有不同类型的数组元素。

B) 数组的大小是可变的,但所有数组元素的类型必须相同。

C) 数组的大小是固定的,所有数组元素的类型必须相同。

D) 数组的大小是可变的,可以有不同类型的数组元素。


35、以下程序的输出结果是________.

#include<stdio.h>

void  main()

{ int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][0],a[1][1],a[2][2],a[3][3]);

}

A) 0650    B) 1470     

C) 5430    D) 输出值不定


36、以下程序的输出结果是________.

#include <stdio.h>

void main()

{ int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);  

}

A) 0650     B) 1470     

C) 5430   D) 输出值不定


37、已知short int类型变量占用两个字节,若有定义:short int  x[10]={0,2,4}; ,则数组x在内存中所占字节数是________.

A) 3         B) 6         

C) 10        D) 20


38、在定义int  a[5][4]; 之后,对a的引用正确的是._______

A) a[2][4]     B) a[1,3]   

C) a[4][3]     D) a[5][0]


39、以下数组定义中不正确的是_______.

A) int a[2][3];

B) int b[][3]={0,1,2,3};

C) int c[100][100]={0};

D) int a[3][]={{1,2},{1,2,3},{1,2,3,4}};


40、在执行语句: int a[ ][3]={1,2,3,4,5,6}; 后,a[1][0]的值是________.

A) 4        B) 1        

C) 2        D) 5



参考答案

1~5  CCBDD

6~10  BDBCB

11~15  DBCCD

16~20  CCDAB

21~25  DCCCB

26~30  DCACA

31~35  DDBCB

36~40  ADCDA



上一篇:专升本C语言|选择题训练(二)                  专升本C语言|选择题训练(四)