1、下列叙述中,不正确的是(  )。
A、一个C源程序必须有且只有一个主函数
B、一个C源程序可以包含零个或若干个子函数
C、在C源程序中,注释说明必须位于语句之后
D、C源程序的基本结构是函数
2、下列叙述中,不正确的是(  )。
A. 分号是C语句的必要组成部分 
B. C语句的注释可以写在语句的后面         
C. 函数是C程序的基本单位     
D. 主函数的名字不一定有main表示 
3、以下不是C语言的特点是(  )。
A、 C语言简洁紧凑       
B、C语言可以直接对硬件进行操作 
C、C语言的可移植性好   
D、C语言编程容易
4、构成C语言的基本单位是(  )。
A、过程    B、函数    C、子程序    D、命令
5、一个C程序的执行是从(  ) 。
A、main函数开始,直到main函数结束
B、main函数开始,直到最后一个函数结束   
C、从第一个函数开始,直到最后一个函数结束   
D、第一条语句开始,直到最后一条语句结束
6、在C语言中,main函数的位置     
A、必须作为第一个函数         
B、必须作为最后一个函数   
C、可以任意                   
D、必须放在它所调用的函数之后
7、C程序是由(  )构成的 。
A、 一个主程序与若干个子程序    B、 一个或多个函数
C、 若干过程                    D、 若干子程序
8、以下叙述不正确的是(  )。
A.在C程序中,注释说明只能位于一条语句的后面             
B. 注释说明被计算机编译系统忽略   
C. 注释说明必须括在“/*”和“*/”之间,注释符必须配对使用          D. 注释符“/”和“*”之间不能有空格
9、下列符号串中,属于C语言合法标识符的是          。
A. ex-1        B. if      C. _cook            D. 951a
10、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是(  )。
A、K%2
B、K%2= =1
C、(K%2)! =0
D、!K%2= =1
11、对于一个完整的可运行的C源程序,下列哪一个说法是正确的?
A、C语言程序总是从第一个定义的函数开始执行。
B、在C语言程序中,要调用的函数必须在main()函数中定义。
C、C语言程序总是从main()函数开始执行。   
D、C语言程序中的main()函数必须放在程序的开始部分。
12、下列运算符中优先级最高的是(   )
A.<            B.+            C.&&          D.!=
13、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为(  )
A.1              B.2               C.3              D.0
14、设有int = 14,则表达式(x++ *1/3)的值是: (  )
A、5            B、4        C、14        D、15
15、若x是单精度实型变量,表达式 x = 10/4 的值是_____ 。
A. 2.5        B. 2.0        C. 3        D. 2
16、 表达式 !x 等价于_____。
A. x == 0       B. x == 1      C. x != 0    D. x != 1
17、 在 C 程序中,用_____表示逻辑值"真"。
A. 1          B. 非 0 的数      C. 非 1 的数    D. 大于 0 的数
18、若变量已正确定义,语句if(a>b) k=0; else k=1;和______等价。 
A. k=(a>b)?1:0;              B. k=a>b;
C. k=a<=b;                    D. a<=b ? 0 : 1;
19、若x、i、j、k都是int型变量,则计算下面表达式后,x的值为(  )。
    x=(i=4,j=16,k=32)
A. 4            B. 16      C.32          D. 52
20、10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为    。
A.0~255    B. 0~32767    C. 0~65535  D.0~2147483647
21、以下合法的十六进制数是(  )。
A、0x
B、0x4de
C、0xlh
D、ox77
22、若a 为 int 型,且其值为3,则执行完表达式:a += a -= a*a后,a 的值是(  )。
A、-3  B、9
C、-12  D、6
23、若t 已定义为 double 型 ,则表达式:t = 1 ,t + +,t +5 的值为(  )。
A、 7              B、7.0
C、2.0              D、1.0
24、 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______。
A. int      B. float    C. double    D. 不确定
25、 下关于运算符优先顺序的描述中正确的是_____。
A. 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B. 逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C. 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D. 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
26、 下列运算符中自左向右结合的是____。
A、 =   B、 ->       C、  ?  :       D、++
27、 下列判断闰年的表达式中错误的是____。
A. leap = n % 400 == 0 || n % 4 == 0 && n % 100 != 0;
B. leap = n % 4 == 0 && ( n % 100 != 0 || n % 400 == 0 );
C. leap = ! ( n % 400 != 0 && n % 4 != 0 || n % 100 == 0 );
D. leap = n % 400 == 0 && n % 4 == 0 || n % 100 != 0 ;
28、以下程序的运行结果是(      )
main()
{  int  a=3,b=2,c=1;
  printf(“\n%d\n”,a<b?a:b+1);
    }
A.4              B.3              C.2               D.1
29、表达式______的值是0。
A. 3%5      B. 3/5.0    C. 3/5      D. 3<5
30、 表达式 !(x>0||y>0) 等价于_____。
A. !x>0||!y>0     
B. !(x>0)||!(y>0)   
C. !x>0&&!y>0 
D. !(x>0)&&!(y>0)
31、若变量已正确定义并赋值,表达式______不符合C语言语法。
A. 4&&3    B +a     C. a=b=5        D. int(3.14)
32、设x,y,z,t均为int型变量,则执行以下语句后,t的值为_____。
x=y=z=1;
t=++x||++y&&++z;
A. 不定值  B. 2   C. 1   D. 0
33、标识符只能由字母、数字和下划线三种字符组成,且第一个字符_____。
A. 必须为字母           
B. 必须为下划线
C. 必须为字母或下划线 
D. 可以是字母,数字和下划线中任一种字符
34、190)若变量已正确定义并赋值,表达式 -k++ 等价于______。
A. -(k++)    B. (-k)++  C. -(k+1)    D. -(++k)
35、下面程序段的执行结果是( )
  a=1;b=2;c=2;
while(a<b<c )
  { 
      t=a ; a=b ; b=t ; c-- ;
    }
printf(“%d,%d,%d”,a,b,c);
  A、1,2, 0        B、2,1,0
  C 、1,2,1        D、2,1,1
36、以下程序段中的变量已正确定义
for( i=0; i<4; i++)
for(k=1; k<3; k++);  pritntf(“*”);
程序段的输出结果是(  )
  A、 ********     B、 ****        C、**      D、 *
37、以下是if语句的基本形式:
If( 表达式 ) 语句
其中“表达式”(  )
A、必须是逻辑表达式    B、必须是关系表达式
scanf返回值被忽略是怎么回事C、必须是逻辑表达式或关系表达式   
D、可以是任意合法的表达式
38、若函数中有定义语句:int k ; 则    。
A、系统将自动给k赋初值0    B、这时k 中的值无定义
C、系统将自动给k赋初值-1      D、这时中k无任何值
39、  若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
A. 10<回车>                                 B 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C. 10.0<回车>                                D. 10  22<回车>
22.0  33.0<回车>                              33<回车>
40、  请阅读以下程序:
main()
{
int  a=5, b=0, c=0; 
if(a=b+c)  printf("***\n  ");
e1se  printf("$$$\n");
}
以上程序_____。
A. 有语法错不能通过编译     B. 可以通过编译但不能通过连接 
C. 输出***                    D. 输出$$$
41、  若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3)时,______是正确的输入。( _表示空格)
A. 2030,40      B. 20_30_ 40  C. 20, 30_ 40    D. 20, 30,40