“正保教育杯”第五届全国ITAT教育工程就业技能大赛
C语言程序设计 -- 预赛
一、单项选择题 【共60题,每小题1分,共60分。下列每题给出的多个选项中,只有一项是最符合试题要求的。请选择相应的正确答案。】
1.下列程序的输出结果是( )。
struct st
{ int x;int *y;}*p;
  int dt[4]={10,20,30,40};
  struct  st  aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{ p=aa;
printf(“%d ”,++(*p->y));
printf(“%d ”,(++p)->x);
printf(“%d ”,++p->x);
A)20 20 10 B)21 60 50 C)11 60 61 D)31 70 60
2.程序中对fun函数有如下说明:
int  *fun();
下面说法正确的是( )。
A)fun函数是整型函数
B)fun函数的返回值是整型数据
C)fun函数的返回值是指向整型数据的指针类型
D)指针fun指向一个函数,该函数返回整型数据
3.执行以下程序段后的输出结果是( )。
  int x = 3;
  int m, n;
  n = (++x) + (++x);
  m = (x--) + (x--);
  printf("%d  %d\n", m, n);
A)10 6 B)9 9 C)10 10 D)10 8
4.假设所有变量均为整型,则执行运算x=(a=2,b=5,b++,a+b)后, x的值是( )。
A)7B)8C)6 D)2
5.下列描述中不正确的是( )。
A)字符型数组中可能存放字符串
B)可以对字符型数组进行整体输入、输出
C)可以对整型数组进行整体输入、输出
D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
6.有以下程序:
main()
{ int x=1,y=2;
printf(“%d\n”,x,y);
}
该程序运行后的输出结果是( )。
A)错误信息
B)1
C)2
D)1,2
7.下列选项可作为C语言赋值语句的是( )。
A)a=1;b=2;
B)a=b=6
C)i--
D)y=int(x);
8.下列描述中正确的是( )。
A)当使用函数scanf输入数据时,必须指明变量地址,例如:char a; scanf("%c",&a);
B)当输入一个实型数据时,格式控制部分可以指定输入数据的精度,例如:float a;scanf("%6.2f",&a);
C)输入项可以是一个实型常量,如:scanf("%f",100.0);
D)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d ,b=%d");
9.有以下程序:
main( )
{
  int y=2014;
  printf(“y=%8d”,y);
  printf(“y=%+08d\n”,y);
}
该程序的运行结果是( )。
A)y=    2014y=00002014
B)y=    2014y=+0002014
C)y=2014y=+0002014
D)y=    2014y=2014
10.以下程序的输出结果是( )。
main( )
{ int w=4,x=3,y=2,z=1;
if(x>y&&!(z==w)) printf("%d\n",(w<x?w:z<y?z:x));
else printf("%d\n", (w>x?w:z>y?z:x));
}
A)1 B)2 C)3 D)4
11.执行以下程序的输出结果是(  )。
main()
  {
  int a=5,b=0,c=0;
  if(a=b+c)printf("***\n");
  else printf("$$$\n");
  }
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
12.桌上有白球和黑球共5个,a、b、c、d、e分别表示这5个球的颜,取值为0、1分别代表白球、黑球。则以下能表示a是黑球,其余至少有两个白球的表达式是( )。
A)!a&&(b+c+d+e)==2
B)a&&(b+c+d+e)>2
C)a&&(b+c+d+e)<=2
D)!a&&(b+c+d+e)==3
13.以下程序的输出结果为( )。
#indlude "stdio.h"
void main()
{ int a=1,b=0;
    for(;a<3;a++)
    switch(a++)
    {
      case 1: b--;break;
        case 2: b++;break;
        case 3: b+=3;break;}
    printf("%d\n",b);}
A)0 B)-1 C)3 D)其他
14.在下列语句选项中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是( )。
A)if (a)  s1; else  s2 B)if (!a) s2; else  s1;
C)if (a!=0)  s1; else  s2; D)if (a==0)  s1; else  s2; 
15.以下程序的输出结果是( )。
main()
{ int n=10;
  while(n>7){ n--; printf("%d",n);} }
A)876 B)987 C)9876 D)8765
16.设x,y为int变量,则执行下列语句后y的值是( )。
x=0;y=1;
do{y+=x;
  x--;
} while (y++>0);
A)1 B)2 C)-1 D)0
17.设有程序段 char k;while (k>0) k++; printf("%d\n",k);则程序输出结果为( )。
A)-127 B)256 C)-128 D)128
18.以下程序运行后的输出结果是( )。
#include "stdio.h"
sub(int *t,int n)
{  int *p1,*p2;
    for(p1=t,p2=t;p1-t<n;p1++)
    if(*p1<*p2)p2=p1;
    return(*p2); }
void main()
{  int a[9]={9,36,19,39,26,5,6,33,15};
    printf("%d\n",sub(a,9)); }
A)5 B)9 C)15 D)39  请输入一个长度0和5之间的字符串
19.有以下程序段:
int a=0,b;
do { scanf(“%d”,&a);b++;} while(a!= 10 || b<3);
此处do-while循环的结束条件是( )。
A)a的值等于10并且b的值大于3
B)a的值等于10并且b的值大于等于3
C)a的值不等于10或者b的值小于3
D)a的值不等于10并且b的值大于等于3 
20.下列程序的运行结果是( )。
#include "stdio.h"
main()
{ int i ;
  for(i=1;i<=5;i++)
  {  if(i %2)printf(“*”);
    else  printf(“#”);  }
printf(“$\n”);}
A)*#*#$ B)#*#*#$ C)*#*#*$ D)##*$
  21.下面有关for循环的描述正确的是( )。
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)for循环中可以用break语句跳出循环体
D)for循环中可以包含if语句,但必须用花括号括起来 
22.以下程序中,while 循环的次数是( )。
  #include "stdio.h"
  void main(void)
  {  int i = 0;
      while (i<5) {
      if (i<1) continue;
      if (i==3) break;
      i++;        }    }
A)1 B)死循环,不能确定次数 C)6 D)10
23.阅读下面程序,该程序段的功能是( )。
#include <stdio.h>
main()
{ int c[ ]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{ t=c[i];j=i-1;
while(j>=0&&t<c[j]) { c[j+1]=c[j];j- - ;}
c[j+1]=t;}
for(i=0;i<7;i++)printf(“%d ”,c[i] );
putchar(’\n’);}
A)对数组元素的升序排列 B)对数组元素的降序排列
C)对数组元素的倒序排列 D)对数组元素的随机排列 
24.以下程序的输出结果是( )。
main( )
{ char ch[2][5]={ "6937","8254"},*p[2];
  int i,j,s=0;
  for(i=0;i<2;i++) p[i]=ch[i];
  for(i=0;i<2;i++)
  for(j=0;p[i][j]> ’\0’;j+=2)
  s=10*s+p[i][j]- ’0’;
  printf("%d\n",s);}
A)69825 B)63825 C)6385 D)693825
25.语句printf(“%d\n”,strlen(“xyz\t\xab\3\\”));的输出结果是( )。
A)9 B)11 C)7 D)8
26.设char ch,str[4],*strp;,则下列赋值语句正确的是( )。
A)ch="CBA"; B)str="CBA";
C)strp="CBA"; D)*strp="CBA";

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。