《C语言》模拟自测题

[复制链接]
发表于 2019-7-2 09:16:21 | 显示全部楼层 |阅读模式
 楼主| 发表于 2019-7-2 09:16:45 | 显示全部楼层

C语言》模拟自测题2
一、选择题
1下面四个选项中,均是非法常量的选项是(     )。
A)'as'        B)'\\'             C)-0x18         D)0xabc
   -0fff       '\01'              01177           '\0'
  '\0a'        12,456             0xf             "a"

2下面四个选项中,均是不合法整型常量的选项是(      )。
  A)-0f1        B)-0xcdf    C) -018   D)-0x48eg
    -0xffff       017          999       -068

0011          12,456       5e2      03f


3下面正确的字符常量是(    )。
A)"c"        B) '\\''          C) 'W'           D) '

4以下每个选项都代表一个常量,其中正确的整型常量是(      )。
A)1.2         B)-20         C)1,000       D)4 5  6

5以下选项中不合法的用户标识符是(      )。
   A)_123     B)Printf       C)A$            D)Dim

6在下列C语言程序中,可以用做变量名的是(       )。
A)1
B)a1
C)int
D)*p

7C语言提供的合法数据关键字是(      )。
A)float
B)Sagned
C)Integer
D)Char

8以下符号中不能用作用户标识符的符号是(      )。
A)_256                            B)void
C)scanf                           D)Struct

9若k为int型变量,则以下语句(      )。
k=8567;
printf("|%-06d|\n",k);
A)输出格式描述不合法              B)输出为|008567|
C)输出为|8567|                    D)输出为|-08567|

10sizeof(float)是(      )。
A)一个双精度表达式          B)一个整型表达式
C)一种函数调用              D)一个不合法的表达式

11在C语言中,int、char和short三种类型数据在内存中所占用的字节数(      )。
A)由用户自己定义            B)均为2个字节
C)是任意的                  D)由所用机器的机器字长决定

12判断char型变量c1是否为小写字母的正确表达式为  (         )。
A)'a'<=c1<='z'           B) (c1>=A. &&(c1<='z')
C)('a'>=c1)||('z'<=c1)    D)(c1>='a')&&(c1<='z')

13以下叙述中正确的是(     )。
A.a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值
B.在赋值表达式中,赋值号右边即可以是变量也可以是任意表达式
C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0
D.已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3

14表达式18/4*sqrt(4.0)/8值的数据类型为(    )。
A)int        B)float     C)double     D)不确定

15设int a=1,则执行完循环While(a++<5);a的值是:(   
A)6       B)5       C)1        D)-264

16为了避免嵌套的if-else语句的二义性,C语言规定else总是与(     )组成配对关系。
(A)缩进位置相同的if       (B)在其之前未配对的if 
(C)在其之前最近的未配对的if   (D)同一行上的if

17已知各变量的类型说明如下:
inti=8,k,a,b;
unsignedlong w=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是(      )。
A)a+=a-=(b=4)*(a=3)
B)a=a*3=2
C)x%(-3)
D)y=float(i)

18若变量已正确定义并赋值,下面符合C语言语法的表达式是(      )。
   A)a=a+7;    B)a=7+b+c,a++  C)int 12.3%4    D)a=a+7=a+b

19逗号表达式(a=3*5,a*4),a+15的值为(        )。
A)15    B)60   C)30   D)不确定

20设Intn=3;则n++的结果是(        )。
A)2     B)3     C)4      D)5

21用小数或指数形式输入实数时,在scanf函数语句里格式字符为(        )。
A)i              B)f            C)e         D)g

22可以使用(        )输入字符型数据。
A)putchar(c);  B)getchar(c);  C)getchar();     D)scanf("%c",&c);

23.在一个源程序文件中定义的全局变量,其作用域为(    )。
A) 整个源程序文件   B) 从定义处开始到本源程序文件结束
C) 整个主函数       D) 所处C程序的所有源程序文件中

24 C语言中,一个函数调用语句为fun((e1,e2,e3),(e4,e5),e6);,其实参个数为(     )。
A) 3个   B) 4个          C) 5个    D) 6个

25.在C语言中,下面关于数组的描述的是(      )。
(A)数组的大小是固定的,但可以有不同类型的数组元素
(B)数组的大小是可变的,但所有数组元素的类型必须相同
(C)数组的大小是固定的,所有数组元素的类型必须相同
(D)数组的大小是可变的,可以有不同的类型的数组元素

二判断题
1C语言中数据有常量与变量之分。

2一般一个字符变量在内存中占一个字节。

3C语言规定,可以在定义变量时,同时使变量初始化。

4把k1、k2定义成基本整型变量,并赋初值0的定义语句是int k1=k2=0; 。

5在C程序中,函数调用只能出现在表达式语句中。

6凡是表达式都有一个值。

7输入语句的格式为:scanf("%d,%d,%d",a,b,c);是正确的。  

8在scanf("%d,%*d,%d",&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。  

9 2.break语句只能用于循环语句中。(  )  

10假定变量a,b,c在说明时已赋初值,则if  ((a=b;)>0)  c=a;是正确的。  

11宏定义不是C语句,不必在行末加分号。
12printf函数是一个标准库函数,它的函数原型在头文件"string.h"中。  

13在C程序中,函数调用可以作为函数的形参。

14在printf函数中,输出表列的各输出项之间可用冒号分隔。  

15若intx=3; printf("%d",&x);则系统不会报错,会输出x的地址。

16在函数的定义中,若函数没有参数,则可以省略函数名后的括号。

17在一个函数定义中,只能有一个return语句。

18对同一类型的两个指针变量而言,一个变量向另外一个变量赋值的结果是使得两个指针指向同一个对象。

19指针变量可以与一个整型常量相乘

20 C语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。

三填空题
1若有以下定义:charc='\010';则变量C中包含的字符个数为   

2若有以下定义:intx=3,y=2;float a=2.5,b=3.5;则下面表达式的值为  。(x+y)%2+(int)a/(int)b

3在C语言中,若定义函数时未说明函数的类型,则该函数的数据类型为  】
4若x是int型变量,则执行下面表达式后,x的值为  。x=a=4,6*2

5若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为   】。

6scanf函数的地址表列中给出各变量的地址,地址是由      后跟变量名组成的。

7使用getchar函数接收字符,若输入多于一个字符时,只接收第     个字符。

8 C语言的格式输出函数是     

9当a=5,b=4,c=2时,表达式a>b!=c  的值是   

10已知A=7.5,B=2,C=3.6,表达式A>B&&C>A|| A<B&&!C>B的值是   

11若a=3,b=2,c=1,则表达式a-b<c||b==c的值是【    】

12若有int k=5; flaot x=1.2; 则表达式(int)(x+k)的值是【  】

13.以下程序的输出结果是      )
#include <MATH.H>
main()
{ int a=1,b=4,c=2;
  float y=4.0,z;
  z=(a+b)/c+sqrt((double)y)*1.2/c;
  printf(%f\n",z);
 }

14  若 int i = 10,执行下列程序:
switch ( i )
 { case 9: i += 1;
  case 10:
  case 11: i -= 1;
  default: i += 1;
 }
 则变量i的结果是(    )

15以下程序段循环执行(    )次。
   int x=-1;
   do {x=x*x;} 
      while (!x);                                                   





以下为本试卷的标准答案:
一、选择题
1、A
2、D
3、C
4、B
5、C
6、B
7、A
8、B
9、C
10、B
11、D
12、D
13、B
14、C
15、A
16、C
17、A
18、B
19、C
20、B
21、BCD
22、CD
23、B
24 、A
25、C
二、判断题
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
11、
12、

13、
14、

15、

16、

17、

18、

19、

20 、

三、填空题
1、1
2、1
3、int
4、4
5、60
6、地址运算符"&"
7、
8、printf()
9、1
10、0
11、0
12、6
13、3.20000
14、10
15、1

快速回复 返回顶部 返回列表