第一章  C语言基础知识
一、选择题
1、以下叙述中正确的是( A)
AC程序中注释部分可以出现在程序中任意合适的地方
B)花括号“{”“}”只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
D)分号是C语句之间的分隔符,不是语句的一部分
2以下叙述中错误的是A 
A)用户所定义的标识符允许使用关键字
B)用户所定义的标识符应尽量做到见名知意
C)用户所定义的标识符必须以字母或下划线开头
D)用户定义的标识符中,大、小写字母代表不同标识
3下列关于C语言用户标识符的叙述中正确的是B
A)用户标识符中可以出现在下划线和中划线(减号)
B)用户标识符中不可以出现中划线,但可以出现下划线
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
4以下叙述正确的是B
A)可以把defineif定义为用户标识符
B)可以把define定义为用户标识符,但不能把if定义为用户标识符
C)可以把if定义为用户标识符,但不能把define定义为用户标识符
Ddefineif都不能定义为用户标识符
5以下不能定义为用户标识符的是DD为关键字
AMain                B_0                C_int                Dsizeof
6下列选项中,不能用作标识符的是(D )
A_1234_            B_1_2                Cint_2_            D2_int_
7以下不合法的用户标识符是C
Aj2_KEY            BDouble              C4d                D_8_
8以下不能定义为用户标识符的是D
Ascanf            BVoid            Cfloat型)_3com_            Dint
9以下选项中合法的用户标识符是B
Along                B_2Test            C3Dmax            DA.dat
10以下选项中不合法的用户标识符是( A)
Aabc.c            Bfile              CMain                DPrintf
11以下选项中不合法的用户标识符是C
A_12Ab            Binclude            C3abc            DInt
12以下选项中可以作为C语言合法用户标识符的一组为(A)
Asin                  BA1B2C3            C3c                DDo
   define                float                _345                yes
   Ok123                study                  a_32bc              -5d
13以下4组用户定义标识符中,全部合法的一组是(A)
A_main            BIf                Ctxt                Dint
  enclude              -max                  REAL              k_2
  sin                    turbo                3COM                _001
14以下选项中正确的整型常量是B
A15.                B-70                C6,000            D1010B
15TURBO Cint类型的变量占的字节数为( A)
A1                B2                  C3                  D4
16不合法的八进制整数为( A)
A0                B018              C075                D016
17不合法的十六进制整数为(B )
A0x16            B0Xabc            C0x15                DoXF123
18以下符合C语言语法的实型常量是(A)
A1.2E0.5            B3.14.159E        C.5E-3            DE15
19以下选项中合法的实型常数是(C )
A5E2.0              BE-3                C.2E0            D1.3E
20以下选项中可作为C语言合法常量的是(D )
A-80.                B-080                C-8e1.0            D-80.0e
21以下选项中,不能作为合法常量的是(B )   
A1.234e04            B1.234e0.4            C1.234e+4            D1.234e0
22以下不合法的数值常量是(C )
A011                B1e1              C8.0E0.5            D0xabcd
23表达式3.6-5/2+1.2+5%2的值是(C )
A4.3              B4.8                C3.3                D3.8
24以下叙述中错误的是( A)
AC程序中的#include#define行均不是C语句
B)除逗号运算符外,赋值运算符的优先级最低
CC程序中,j++;是赋值语句
DC程序中,+-*/%号是算术运算符,可用于整型和实型数的运算
25下列定义变量的语句中错误的是( A)
Aint _int;            Bdouble int_;        Cchar For;          Dfloat US$;
26、若变量xy已正确定义并赋值,以下符合C语言语法的表达式是(B )
A++x,y=x--            Bx+1=y            Cx=x+10=x+y      Ddouble(x/10
27有以下程序
main( )
{    int a=0,b=0;
a =10;            /*a赋值
b=20;              b赋值 */
printf(“a+b=%d\n”,a+b);  /*输出计算结果*/
}
程序运行后的输出结果是( B)
Aa+b=10            Ba+b=30            C30                D  出错
28、以下能正确定义且赋初值的语句是( A)
Aint  n1=n2=10;      Bchar  c=32;        Cfloat  f=f+1.1;    Ddouble  x=12.3E2.5;
29、设有定义:int k=1,m=2; float f=7;则以下选项中错误的表达式是(C )
Ak=k>=k            B-k++                Ck%int(f)            Dk>=f>=m
30、有以下程序
main( )
{    int m=12,n=34;
printf("%d%d",++m, n++);
printf("%d%d\n",--n,--m);
}
程序运行后的输出结果是 ( C)   
A13343413            B13353413            C13343513            D13343412
31、有以下程序
main( )
{    unsigned int a;
int b=-1;
a=b;
printf("%u",a);
}
程序运行后的输出结果是( D)
A-1                B65535            C 32767            D–32768
32、若以下选项中的变量已正确定义,则正确的赋值表达式是(C )
Ax1=26.8%3          B1+2=x2            Cx3=0x12        Dx4=1+2=3
33以下非法的赋值语句是(C )
An=(i=2,++i;        Bj++;                C++(i+1);            Dx=j>0;
34、设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式×h 计算结果不相符的是(D )
A(a+b)*h/2          B(1/2)*(a+b)*h        C(a+b)*h*1/2          Dh/2*(a+b)
35、下列关于单目运算符++--的叙述中正确的是( B)
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
36、以下选项中,与k=n++完全等价的表达式是( A)
Ak=n,n=n+1        Bn=n+1,k=n        Ck=++n            Dk+=n+1
37、若有定义:int a=8b=5c;,执行语句c=a/b+0.4;后,c的值为( C)
A1.4                B1                C 2.0                D2
38、设ab均为double型变量,且a=5.5b=2.5,则表达式(inta+b/b的值是(A )
A6.500000            B6                C5.500000            D6.000000
39、以下选项中不属于C语言的类型的是(D )
Asigned  short  int                      Bunsigned  long int
Cunsigned  int                            Dlong  short
二、填空题
1计算机内存储器的最小存储单位称为  字节    ,其中可以存放二进制数字    0  1 
2C语言中,标识符分为三类:                                   
3通常一个字节包含  2  个二进制位。
4C语言中,整数有三种表达形式:    进制数,二    进制数和 十六    进制数。
5C语言中,用关键字  int    定义整型变量,用关键字      定义单精度实型变量,用关键字  double        定义双精度实型变量。
6算术表达式5+3.6/2的结果为    6.8 
7a为整型变量,且有初始值15,经过a++运算后该表达式的值为 32767      ,变量a的值为    32767 
8表达式b=10表达的含义是(应该读作)