第一单元  程序设计和C语言
一、 选择题
1. C语言的基本构成单位是:  A 
A. 函数            B. 函数和过程        C. 超文本过程        D. 子程序
2. 一个C语言程序总是从   B  开始执行。
A. 主过程    B. 主函数    C. 子程序  D.主程序 
3. C语言的程序一行写不下时,可以         
A. 用逗号换行    B. 用分号换行    C. 在任意一空格处换行    D. 用回车符换行
 
4. 以下叙述不正确的是:    C 
A. C程序中,语句之间必须要用分号";"分隔
B. a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数
C. C程序中,无论是整数还是实数都能正确无误地表示
D. C程序中,%是只能用于整数运算的运算符
5. 以下不正确的C语言标识符是    D 
A. ABC              B. abc              C. a_bc        D. ab.c
6. 下列字符串是标识符的是:    A 
A. _HJ                B. 9_student            C. long            D. LINE 1
7. 以下说法中正确的是:    C   
A. C语言程序总是从第一个定义的函数开始执行
B. C语言程序中,要调用的函数必须放在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
8. 不合法的常量是:        D 
A. ‘\2’            B. "    "        C. ‘3’            D. ‘\483’
9. 已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:  A 
int k,a,b;
unsigned long w=5;
double x=1.422;
A. x%(-3)    B. w+=-2        C. k=(a=2,b=3,a+b)        D. a+=a=+(b=4)*(a=3)
10. C语言中,字符型数据在内存中以  D  形式存放。
A. 原码    B. BCD    C. 反码      D. ASCII
11. 若有定义:int a=7; float x=2.5; y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是:  A 
A. 2.500000        B. 2.750000        C. 3.500000        D. 0.000000
12. 设有说明:char w; int x; float y; double z;
则表达式w*x+z-y值的数据类型为:      D 
A. float            B. char            C. int            D. double
13. 以下    BC  是不正确的转义字符。
    A.  '\\'        B. '\'          C. '081'        D. '\0'
14. xint型变量,则执行以下语句后,x的值为    B  float型
            x=6; x+=x-=x*x;
    A. 36          B. -60         C. 60      D. -24
15. 字符串"\\\"ABC\"\\"的长度是    B   
A. 11      B. 7          C. 5      D. 3
二、 填空题
1. 一个函数由两部分组成,它们是                 
2. 一个C源程序至少包含一个          ,即           
3. int a=12; 则表达式a/=a+a的值是             
4. 表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是        表达式和        表达式,两个表达式执行完的结果分别是                        x值分别是               
5. C语言中,实数有两种表示形式,即                       
6. C语言中,运算符的优先级最小的是            运算符。
7. C语言中,变量在使用前应先                   
         
第一单元    程序设计和C语言
一、 选择题
1. A  2. B  3. C  4. C  5. D  6. A  7. C  8. D  9. A  10. D  11. A
12. D  13. BC  14.. B  15. B
二、 填空
1. 函数首部、函数体
2. 主函数、main函数
3. 0
4. 赋值、逗号、18、18、18、3
5. 浮点型、指数型
6. 赋值
7. 定义,使用

第二单元  顺序程序设计
一、 选择题
1. mfloat型变量,则执行以下语句后的输出为    C   
            m=1234.123;
            printf("%-8.3f\n",m);
            printf("%10.3f\n",m);
    A.  1234.123    B.  1234.123    C. 1234.123    D. -1234.123
        1234.123      1234.123          1234.123      001234.123
2. x,y,z均为int型变量,则执行以下语句后的输出为    A   
            x=(y=(z=10)+5)-5;
            printf("x=%d,y=%d,z=%d\n",x,y,z);
            y=(z=x=0,x+10);
            printf("x=%d,y=%d,z=%d\n",x,y,z);
    A. X=10,Y=15,Z=10                    B. X=10,Y=10,Z=10
      X=0,Y=10,Z=0                          X=0,Y=10,Z=10
    C. X=10,Y=15,Z=10                    D. X=10,Y=10,Z=10
X=10,Y=10,Z=0                          X=0,Y=10,Z=0
3. xint型变量,yfloat型变量,所用的scanf调用语句格式为:
    scanf("x=%d,y=%f",&x,&y);
    则为了将数据1066.6分别赋给xy,正确的输入应是:  A     
    A. x=10,y=66.6<回车>      B. 10 66.6<回车>
C. 10<回车>66.6<回车>    D. x=10<回车>y=66.6<回车>
4. 已知有变量定义:int a;char c;scanf(%d%c,&a,&c);语句给ac输入数据,使30存入a,字符‘b’存入c,则正确的输入是:    D 
A. 30’b’<回车>      B. 30  b<回车>
C. 30<回车>b<回车>    D. 30b<回车>
5. 已知有变量定义:double x;long a; 要给ax输入数据,正确的输入语句是          。若要输出ax的值,正确的输出C
          A. scanf(%d%f,&a,&x);      B. scanf(%ld%f,&a,&x);
            printf(%d,%f,a,x);        printf(%ld,%f,a,x);   
C. scanf(%ld%lf,&a,&x);    D. scanf(%ld%lf,&a,&x);
  printf(%ld,%lf,a,x);      printf(%ld,%f,a,x);
6. 若有定义double x=1y;则以下的语句执行的结果是    C     
y=x+3/2; printf(%f,y);
A.2.500000      B.2.5      C.2.000000        D.2 
7. a为整型变量,则以下语句      C   
a=-2L;  printf("%d\n",a);
A. 赋值不合法    B. 输出为不确定的值        C. 输出值为-2    D. 输出值为2
二、 读程序写结果
1.     main()
            { int x,y;
              scanf("%2d%*2d%ld",&x,&y);
              printf("%d\n",x+y);