一.选择题
1.以下关于运算符优先顺序的描述中正确的是(  C  )。
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B.逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
2.下列选项中合法的变量名是______C___
  A.  #define    B.  int    C.  a594_3      D.   abs(x)
3.以下正确的描述是(  A  )。
A. break语句的作用是结束整个循环的执行
B.在C程序中,注释说明只能位于一条语句的后面
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时, 只能使用goto语句
4.以下说法正确的是(C  )
  A.#define 和 printf 都是 C 语句。
  B.#define 是C语句,而printf不是。
C.若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”
  D. #define 和 printf 都不是 C 语句。
5.下面的函数定义正确的是____D__________
A) float  fun (float x ; float y)  {return x*y;}   
B) float  fun (float x,y)  {return x*y;}
C) float  fun (x,y)  {int x,y;return x*y;}       
D) int  fun (int x, int y)  {return x*y;}
6.执行下面语句后的输出为( D )
    int  i=-1;
    if (i<=0) printf(“****\n”)
    else printf(“%%%%\n”)
    A). ****              B). %%%% 
C). %%%%c          D). 有语法错误,不能正确执行
7.以下程序的输出结果是( A )
  void main( )
  {int  k=17;
  printf("%d, %o, %x \n ", k, k, k );
  }
  A). 17, 21, 11            B). 17, 17, 17 
C). 17, 0x11, 021          D). 17, 21, 1
8.以下不正确的叙述是 (  C  )
A)#define是宏定义命令
B)宏定义只是做简单的置换,不做正确性检查
C)宏定义是C语句,必须在行末加分
D)printf是C语句,但#define不是。
9.一个C语言程序是由(  D )
A) 一个主程序和若干子程序组成      B)若干子程序组成
C) 若干过程组成                    D) 函数组成
10.C语言规定,在一个源程序中,main()函数的位置( C    )。
    A.必须在最开始          B.必须在最后
  C.可以任意              D.必须在系统调用的库函数的后面 
11.以下对二维数组a的正确说明是(  C )。
A)  int a[3][];            B)  floatf a(3,4);
C)  char a[1][3];          D)  float a(3)(5);
12.若有说明:  int  a[3][2]={10};则下面正确的叙述是(  A  )
A)只有元素a[0][0]可得到初值10 
B)此说明语句不正确:。   
C)数组a中各元素都可得到初值,但其值不一定为0。
printf函数的执行顺序 D)数组a中每个元素均可得到初值10
13.以下叙述不正确的是( C  )。
A) 一个C源程序可由一个或多个函数组成
B) 一个C源程序必须包含一个main函数
C) C程序的基本组成单位是语句
D) 只能在循环体内和switch语句体内使用break语句
14.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与(  B  )配对。
    A) 缩排位置相同的if      B) 其之前最近的未配对的if
    C) 之后最近的if          D) 同一行上的if
15.能正确表示a和b同时为正或同时为负的逻辑表达式是(  B)
    A)(a>=0||b>=0)&&(a<0||b<0)
    B)(a>=0&&b>=0)||(a<0&&b<0)
    C)(a+b>0)&&(a+b<=0)
    D) (a-b>0)&&(a-b<=0)
16.C语言提供的合法关键字是(D)。
A) swith
B) cher
C) Case
D) Default
17.在C语言中,逻辑值"真"的表示是用(c)。
A)true
B)整型值0
C)非另整型值
D)T
18逻辑运算符两侧运算对象的数据类型是(D)。
A)只是0或1
B)只能是0或非0正数
C)只能是整型或字符型数据
D)可以是任何合法的类型数据
19在C语言中,char 型数据在内存中的存储形式是(D)。
A)补码
B)反码
C)原码
D)ASCII 码
20 TURBOC中int类型变量所占字节数是(B)。
A)1
B)2
C)3
D)4
二、判断题
1数据是操作的对象,操作的结果会改变数据的状。对
2字符型变量用来存放字符常量,注意只能放2个字符。错
3 C语言中可以把一个字符串赋给一个字符变量。错
4在C语言中的实型变量分为两种类型,它们是float(实型)和double(双精度实型)。错
5在C语言中,要求参加运算的数必须是整数的运算符是%.对
6若有以下定义,则执行下面表达式y+=y-=m*=y后,y的值为-6。int m=5,y=2;对
7输入语句的格式为: scanf("%d%d%d" ,&a,&b,&c);是正确的。对
8在scanf("%d,%d" &a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。错
9 getchar 函数的功能是接收从键盘输入的一串字符。错
10在变量说明中给变量赋初值的方法是: int a=b=c=10;错
12 printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h"中。对
13 printf 函数称为格式输入函数,它的函数原型在头文件“stdio.h"中。错
14 在printf 函数中,不同系统对输出表列的求值顺序不一定相同,TC是按从右到左进行的。对
15 若int x=3; printf("%d",&x);则系统会报错,没有任何结果。错
16 逻辑运算符的优先级别高于算术运算符错
二.填空题
1.C语言源程序的扩展名为.c,可执行文件的扩展名为_______________。.exe
2.数组 int  a[3][5];共定义了______个数组元素。15
3.C程序由函数构成,C程序总是从_______开始执行.main()
4. C语言中,用__________ 关键字来包含如stdio.h之类的头文件。  include
5.函数的返回值是通过函数中的________________语句来获得的。return
6.至少执行一次循环体的循环语句是      do—while 语句
7.对于不带返回值的函数,应当用关键字______________定义函数。void
8.多分支结构的程序,通常选用_________语句来实现。 switch
9.若char ch[]="25yi6"有以下语句,则编译后分配给数组ch的内存占用的字节数为________。6
10.若char str[8]={“tony”};int k=strlen(str);则k的值为____________。4
三.程序阅读题
1.以下程序的运行结果是 _________________1
  #include <stdio.h>
    void main()
    {int m=3;
    if(--m<3)  printf(" %d\n",--m);
    else    printf("%d\n",++m);
    }
2.执行下面程序段后, 输出结果是________________ i=6 j=3 m=7
#include <stdio.h>
int i=2;
  int fun(int x)
{ int  k,j=1;
i=x*2;  k=i+j;
return k;
}
  void main( )
{ int m,j=3; m=fun(j);
      printf(“i=%d j=%d m=%d\n”,i,j,m);
}
3.下面程序的输出是_____________ 12
void main( )
{int  arr[10],i,k=0;
  for(i=0;i<10;i++)
  arr[i]=i;
  for(i=1;i<4;i++)
  k+=arr[i]+i;
  printf("%d\n",k);
}
4.下面程序的输出结果是________________234567
#include <stdio.h>
#include <string.h>
#define  MAX_COUNT  6
void  fun() ;
void main( )
{int  count;
  for(count=1;count<=MAX_COUNT;count++)
  fun();
}
void  fun()
{static  int i;
i+=2;
printf("%d",i--);
}
}
四、程序填充题(本题共2小题,每个空格2分,共10分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。