1.static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'}; 说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存
储方式,其中被初始化的下标变量是()。
Aa[10]  Ba[0]  Ca[1]  Da[-1]
B
2.对以下说明语句  int a[10]={6,7,8,9,10};  的正确理解是()。
A、将5个初值依次赋给a[1]a[5]
B、将5个初值依次赋给a[6]a[10]
C、因为数组长度与初值的个数不相同,所以此语句不正确
D、将5个初值依次赋给a[0]a[4]
D
3.C语言中,能代表逻辑值的是()。
A、大于0的数  BTrue  C、非0的数  D、非0整数
C
4.以下read函数的调用形式中,参数类型正确的是()。
Aread(int fd,int count,char *buf)
Bread(int count,char *buf,int fd)
Cread(int *buf,int fd,int count)
Dread(int fd,char *buf,int count)
D
6.以下不符合C语言语法的赋值语句是()。
Aa=b=5;  Ba=1,b=2  C++j;  Dy=(a=3,6*5);
B
7.C 语言程序的三种基本结构是顺序结构、选择结构和______结构.
A、递归  B、转移  C、嵌套    D、循环
D
8.选择结构中的条件与循环结构中循环成立的条件, 在写法上可以是任一表达式,但其值只能被判断为 哪个数作为逻辑值()。
A-1  B、非零的数  C1    D0
D
9.以下叙述中不正确的是()。
A、在C程序中,赋值运算符的优先级最低
B、在C程序中,j++;是一条赋值语句
CC程序中的#include#define均不是C语句
D、一个好的程序应该有详尽的注释
A
10.若有下列定义,则对a数组元素地址的正确引用是()。
int a[5],*p=a;
A&a  Bp+2  Ca++  D&a[5]
B
11.static char str[10]="China";数组元素个数为()。
A5  B10  C6  D9
B
12.以下程序中,c的二进制值是
char  a = 3,  b = 6,  c;
c = a ^ b << 2;
A00011100  B00010100  C00011000  D00011011
D
13.以下程序的输出结果是
func(int  a,  int b)
{  int c;
      c = a + b;
  return  c;
        }
          main()
          {  int  x = 6, y = 7, z = 8, r;
r = func((x--, y++, x + y), z--);
printf(“%d\n”, r);
          }
A21  B11  C31  D20
A
14.以下程序的输出结果是________.
  void  fun(int  a, int  b, int  c)
  {  a=456; b=567; c=678;  }
  main()
  {  int  x=10, y=20, z=30;
    fun(x, y, z);
    printf("%d,%d,%d\n", z, y, x);}
A30,20,10 B10,20,30  C678567456  D456567678
A
15.执行下列程序后,其输出结果是()。
main()
{int  a=9;
a+=a-=a+a;
printf("%d\n",a);
}
A18  B-18  C-9  D9
B
16.若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是
Ascanf(%8.4f”, &c);  Bscanf(%6.2f”, &c);
Cscanf(%f”,c)        Dscanf(%8f”, &c);
printf函数打印字符串D
17.下列变量定义中合法的是()。
Ashort _a=1-.1e-1;  Blong do=0xfdaL;
Cdouble b=1+5e2.5;  Dfloat 2_and=1-e-3;
A
18.以下程序的输出结果是
#define FMT  “%d,”
main()
    {
      int b[][4] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};
      printf(FMT, *(*(b+1)+1));
      printfFMT, b[2][2]);
    }
A111  B111  C1121  D1121
D
19.int a=3,则执行完表达式a-=a+=a*a,a的值是
A-15  B0  C-9  D-3
B
20.以下read函数的调用形式中,参数类型正确的是()。
Aread(int fd,int count,char *buf)
Bread(int count,char *buf,int fd)
Cread(int *buf,int fd,int count)
Dread(int fd,char *buf,int count)
D
21.已知大写字母AASCII码值是65,小写字母aASCII码是97,则用
八进制表示的字符常量'\101'是()。
A、字符e  B、字符a  C、非法的常量  D、字符A
D
22.C语言规定,函数返回值的类型是由()。
A、调用该函数时的主调函数类型所决定
Breturn语句中的表达式类型所决定
C、调用该函数时系统临时决定
D、在定义该函数时所指定的函数类型所决定
D
23.结构化程序设计所规定的三种基本控制结构是()。
A、树形、网形、环形        B、输入、处理、输出
C、主程序、子程序、函数    D、顺序、选择、循环
D
24.与实际参数为实型数组名相对应的形式参数不可以定义为()。
Afloat a;  Bfloat  a[];  Cfloat (*a)[3];  Dfloat *a;
A
25.若有定义和语句:
int  a[4][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, (*prt )[3] = a,  *p[4], i;
        for(i = 0; i < 4; i++)
  p[i] = a[i];
则不能够正确表示a数组元素的表达式是
A(*(p+1))[1]  Ba[4][3]  Cp[0][0]  Dprt[2][2]
B
26.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else总与(  )配对
A、同一行上的if  B、其之后最近的if  C、其之前最近的未配对的if  D、缩排位置相同的if
C
27.以下程序的输出结果是       
typedef  union
{ long  i;
      int  k[5];
    char  c;
} DATE;
struct  date
{ int  cat;
    DATE  cow;
    double  dog;
} too;
DATE  max;
main()
{
  printf(“%d\n”, sizeof(struct date) + sizeof(max) );
}
A30  B25  C18  D8
A
28.下列程序的输出结果为()。
main()
{int m=7,n=4;
float  a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
A28.000000  B27.500000  C28.500000  D27.000000