(注:若有错误,请及时反馈)
1、 以下选项中,能用作数据常量的是________。  (C)
(A)o115        (B)0118        (C)115L        (D)1.5e1.5
【解析】:数据常量(数值常量):
合法的整型常量  十进制、八进制(前缀数0)和十六进制(前缀0x/0X)的整数与长整数(数的末尾加小写字母l或大写字母L);
合法的实型常量 (小数(浮点)形式(包含数与小数点)和指数形式(正确形式: aE(e)+b或aE(e)-b,其中b必须是整数,a与b都不能省)
2、 以下叙述中错误的是_____________。(A)
(A)使用三种基本结构构成的程序只能解决简单问题   
(B)C语言源程序经编译后生成后缀为.obj的目标程序
(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
(D)结构化程序由顺序、分支、循环三种基本结构组成
3、 以下叙述中错误的是_________。(A)
 A)  C源程序可以直接由计算机执行
 B)  结构化程序由顺序、分支、循环三种基本结构组成
 C)  C语言是一种结构化程序设计语言
 D)  结构化程序设计提倡模块化的设计方法
【解析】结构化程序包括三大结构,顺序结构、选择结构和循环结构,并可以解决所有问题。C源程序必须经过编译生成目标文件,然后经过连接生成可执行文件。
4、 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是_________(A)
 A)  平行四边形     B)  长方形     C)  椭圆型    D)  菱形
【解析】算法可以用各种描述方法进行描述,目前最常用的有3种:伪代码、流程图和N-S结构图。传统的流程图由下图所示的几种基本图形组成。
5、 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是_____。(D)
A)  顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移
B选择结构是根据不同的条件执行不同分支中的语句
C循环结构是根据条件决定是否重复、重复执行多少次循环体语句
D三种基本结构不可以嵌套使用
6、 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是_________。(D)
(A)大写字母    (B)下划线        (C)数字字符        (D)连接符
【解析】:C语言合法的标识符是由数字0~9、26个英文字母(大小写均可)和下划线组成的,且第一个字符是字母或下划线。合法的用户标识符不能是C语言关键字。
7、 以下选项中,合法的一组C语言数值常量是__________。(D)
(A)    0x8A    10,000        3.e5          (B)  .177        4e1.5        0abc   
(C)    028        .5e-3        -0xf          (D)    12.        0Xa23        4.5e0
8、 以下叙述中错误的是________。(C)
AC语言编写的源程序,其文件名后缀可以是 .C
BC语言编写的函数都可以作为一个独立的源程序文件
CC语言编写的每个函数都可以进行独立的编译并执行
D一个C语言程序只能有一个主函数
【解析】C语言编写的每个函数可以被独立编译,但是除主函数外不能独立执行。
9、 以下选项中不合法的标识符是__________。(C)
(A)printf        (B)FOR        (C)&&a            (D)_00
【解析】本题容易错的是printf。如,printf、scanf、strcpy、main等都为函数名,也称为预定义标识符,可以用作合法的标识符。C语言确定关键字不可做用户标识符。
10、 设有定义:int  x=2;,以下表达式中,值不为6的是_____________D
(A)x*=(1+x)        (B)x*=x+1        (C)x++,2*x      (D)2*x, x+=2
【解析】(A)x*=(1+x)等价于x=x*(1+x), (B)与(A)等价。(C)(D)都是逗号表达式。逗号表达式的计算原则,从左自右依次计算,则最后一个表达式的值为整个逗号表达式和值。所以(C)先计算x++,x的值为3,再计算2*x的值,表达式x++,2*x的最终值为6 。(D)先计算2*x的值为6,再计算x+=2 的值 ,x的值为4,表达式2*x, x+=2的值为4.
11、 若有定义语句:int  x=10; ,则表达式x-=x+x的值为____________D
(A)0            (B)10                (C)-20            (D)-10
【解析】x-=x+x等价于 x=x-(x+x)
12、 若有定义语句:int a=10;double b=3.14;,则表达式12.2+a+b值的类型是_____。(C)
Achar      Bint      Cdouble      Dfloat
【解析】本题考查数据类型的自动转换,C语言语法规定,当不同的变量相加时按最长的变量对齐,即转换优先级为:char < int < float < double
13、 以下选项中可用作C程序合法实数的是_________D
(A) E9              (B) 9.12E          (C) 3.0e1.2    (D) .1e0
14、 以下叙述中正确的是___________B
  (A) C语言程序中的注释必须与语句写在同一行   
  (B) 简单C语句必须以分号结束
  (C) C语句必须在一行内写完
  (D) C程序中的每一行只能写一条语句
15、 若变量均已正确定义并赋值,以下合法的C语言赋值语句是_________A
  (A) x=y==5;      (B) x=5=4+1;    (C) x+n=i;        (D) x=n%2.5;
  【解析】:正确的赋值表达式要点,赋值号的左侧必须是单一的变量。赋值号的右侧可以是任意表达式,但其表达式必须是C语言中合法的表达式。选项B中5=4+1,左侧为数非法。选项C左侧为x+n为算术表达式,非法。选项D算术运算符%两侧的运算符必须为整型。
16、 设有定义
      int k=0;
    以下选项的四个表达式中与其他三个表达式的值不相同的是_________B
(A) ++k        (B) k++        (C) k+1            (D) k+=1
17、 若变量已正确定义并赋值,以下不能构成C语句的选项是_______(C)
  A)  B++;  B)  A=a+b;  C)  a=a+b  D)  a=b++;
【解析】C语言规定,C语句必须以分号";"结束。没有分号,称为表达式。
18、 若有定义语句
        int a=3,b=2,c=1;
    以下选项中错误的赋值表达式是_____________A
  (A)a=(b=4)=3;        (B) a=1+(b=c=4);       
  (C) a=(b=4)+c;        (D) a=b=c+1;
【解析】:选项A中(b=4)=3出错,赋值号左侧(b=4)是赋值表达式,不是单一变量。
19、 C语言源程序名的后缀是_______________A
    (A) .c            (B) .cp            (C) .obj            (D) .exe
20、 表达式a+=a-=a=9的值是____________A
(A) 0            (B) -9            (C) 18            (D) 9
【解析】:计算步骤如下图,计算过程中注意a的值也在发生变化。
21、 若有定义语句:_________________D
        int x=12,y=8,z;
    在其后执行语句        z=0.9+x/y;    则z的值为
  (A) 2.4        (B) 2                (C) 1.9          (D) 1
【解析】要点:计算表达式值时的优先级,先计算x/y的值,并且x与y都是int型,所以整除整必得整。然后计算0.9+1的值。
22、 若函数中有定义语句:int k;,则________。(B)
(A)系统将自动给k赋初值0        (B)这时k中的值无定义
(C)系统将自动给k赋初值-1        (D)这时k中无任何值
  【解析】用int方法定义变量时,编译器仅为变量开辟存储单元,并没有在存储单元中存放任何值,此时变量中的值是无确定的,称变量值"无意义"。
23、 有以下程序
        #include <stdio.h>
        main()
{ int a=0,b=0; 
b=20;       
printf(“a+b=%d\n”,a+b); 
}
    程序运行后的输出结果___________________D
(A)20            (B) 0          (C) a+b=0        (D) a+b=20
【解析】printf(“a+b=%d\n”,a+b);语句中,普通字符“a+b=”需原样输出。
24、 有以下程序
#include <stdio.h>
main()
{  int  a;
  a = (int)1.99*3;
  printf("%d\n", a);
}
程序的运行结果是_______________ (A)
  A)  3       B)  5     C)  6     D)  结果不确定
【解析】浮点数1.99程序设计语言一般可分为三大类被强制转换成1,执行语句a=int1.99*3;计算得a=1*3=3
25、 有以下程序
#include <stdio.h>
main()
{  int  a;
  a = (int)1.99*3;
  printf("%d\n", a);
}
程序的运行结果是_______________ (A)
  A)  3       B)  5     C)  6     D)  结果不确定
26、 若有以下程序
        #include <stdio.h>
main()
{  int b=10,a=-11;
a%=b%=4;
printf(“%d %d\n”,a,b);
}
    则程序的输出结果是__________________B
(A) 1 2            (B) -1 2            (C) 1 -2            (D) -1 -2
27、 关于C语言的变量,以下叙述中错误的是____________D       
(A) 由三条下划线构成的符号名是合法的变量名
(B) 所谓变量是指在程序运行过程中其值可以被改变的量
(C) 程序中用到的所有变量都必须先定义后才能使用
(D) 变量所占的存储单元地址可以随时改变
28、 若有以下程序          D)
        #include <stdio.h>
main()
{
int a=-11,b=10;
a/=b/=4;
printf(“%d %d\n”,a,b);
}
(A) 4 -3                (B) 5 -3            (C) -1 -2                (D) -5 2
29、 不能正确表示数学式的表达式是____________D

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。