一、选择题
1.设char cl; , cl中为小写英文字母字符的正确表达式为(     
A.  ’a’<=c1=’z’              B. cl>=’a’&&cl<=’z’
C. cl>=a&&c1<=z  D. ’a’<=c1| |’z’>=c1
2.一维数组a的正确说明语句为(     
A. int a10);                B. int n=10, a[n]
C. int n                    D. #define SIZE 10
scanfd″,&n);        int a[SIZE]
int a[n]
3.已知字符’A’ASCII码值是65,char cl=’A’, c2=’D’;则执行语句
printfd,d\n″,cl,c2-2);后的输出结果是(     
A. A, D                      B. A, B
C. 65, 68                    D. 65, 66
4.设int a=7 float x=2.5, y=4.7, 则表达式x+3%(int)(x+y/4的值是(     
A. 2.75    B. 3.25
C. 2.5     D. 0.0
5.构成C语言程序的基本单位是(        )。
A.过程        B.函数        C.语句            D.命令
6.下列选项中,不正确的赋值语句是(        )
Ay--        Bx=y=z=0;   Cm=n%k    Dt=a+x=3
7.合法的C语言标识符是(        )。
A 5dm        B  a>b        C Hh            D  $s
8int x=2,y=4;,值为非0的表达式是(   
A. 1/x*y    B. 1/(x*y)
C. 1.0/x/y    D. 1/x/ (double)y
9.设int i=l, k=2, 则错误的循环语句是(     
A. fori=0,k=k-1i++,k++ s    B. for;k-1;i++ s
C. fori=1,k=4k--i++ s    D. for;k--; s
10.设typedef struct{int a;char s[10]} TYPE TYPE  u1
printfd\n”,sizeofu1));的输出结果是(     
A. 2                        B. 12
C. 14                      D. 16
11.设char sl[ ]=“string1”,s2[8], *s3, *s4=“string2”;,则对系统函数strcpy的错误调用是(   
A. strcpys1, s4);
B. strcpys4, “string2”);
C. strcpy“string2”,s2);
D. strcpys4,s1);
12.正确的数组定义及初始化的是(     
A. char a[10]={“string”}  B. int a[5]={0,1,2,3,4,5}
C. char a={“string”}      D. int a[ ]={x,y,z}
13.若有以下定义,则数值为4的表达式是(  )。
    int  a[3][4]={{1,2},{3,4},{5,6}},(*p)[4]=a;
Ap[1][1]   Bp++,*(p+1)  Ca[2][2]    D*(p+1*4+1)
14.在循环体中用来强制继续循环的语句是(     
A. break                        B. continue
C. exit                          D. return
15.有说明 struct { char  name[15],sex;  int age;float score;}stu,*p=&stu;
以下语句中正确的是(    )。
    Ascanf(“%c”,p->sex);  Bscanf(“%s”,stu.name);
Cscanf(“%d”,stu.age);  Dscanf(“%f”,p->score);
16int a=2,b=5;,结果为0的表达式是(   
A. a%b    B. a&&b
C.!(a=b    D. a!=b
17正确的数组定义及初始化的是(     
A. char a[10]={“string”}    B. int a[5]={0,1,2,3,4,5}
C. char a={“string”}    D. int a[ ]={x,y,z}
18int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;f的值是(   
A. 2    B. 3
C. 4    D. 5
19int m=5;,c语言写入txt文件语句while (m==0)printf (″%d″,m-=2);的循环体执行的次数是(   
A. 0    B. 1
C. 2    D. 无限
20int a;执行表达式(a=123),a+1后,a和表达式的值分别是(     
A. 12                    B. 23
C. 34                      D. 45
21下列关于函数定义正确的是(     
A. funint x,y{int zreturn z}
B. void funint x,int y{return x+y}
C. funx,y{int xydouble zz=x+yreturn z}
D. double funint x,int y {double zz=x+yreturn z;)
22下列用户自定义标识符正确的是(     
A. 4a          B. b_1         C. -&              D. *p
23下列程序段正确的是(     
A. char s[ ]={‘xyz’}    B. float *pi
scanf‘‘s”s);    p=*p+i
C. char s[5]=‘word’    D. int a[5]={0}*p=a
putss);    *p=*p+1);
24关于编译预处理命令,叙述正确的是(     
A. 预处理命令都以“#”开头
B. 预处理命令必须位于程序的首部
C. 预处理命令只能实现宏定义和条件编译的功能
D. 预处理命令必须位于函数外部
25.设有定义“int a=3,b,*p=&a”,则下列语句中使b不为3的语句是(    )。
Ab=*&a;        Bb=&*a;   Cb=a;      Db=*p;
26.下面各选项中,有错的语句或声明是(      )。
Achar st[4][5]={“ABC”};      B char s[5]={‘A’,’B’,’C’ };
    C char *s;s=”ABC”;          D char s[5];s=”ABC”;
27.若有以下定义,则数值为4的表达式是(  )。
    int  a[3][4]={{1,2},{3,4},{5,6}},(*p)[4]=a;
Ap[1][1]   Bp++,*(p+1)  Ca[2][2]    D*(p+1*4+1)
28.对如下的结构定义,则正确的语句是(     
struct  student {char  name[20];  char sex;  int age; }Li;