pta选择、填空错题集合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.以下选项中不正确的整型常量是(D). (2分)

A.12L

B.-10

C.012

D.2,900

//u是unsigned的意思,代表无符号整型带L的是长整型字面值常量,不带的是整型字面值常量。

2.若B)。 (2分)

A 2.5

B 2.0

C 2

D 3

3.在C语言中,数字029是一个(D )。 (2分)

A.八进制数

B.十进制数

C.十六进制数

D.非法数

//0开头表示8进制,但8进制没有字符9的。0x开头表示十六进制。

4.以下名字,不能作为C语言标识符的是:C (2分)

A.ThisIsQingdaoUniversity

B.$$

C.monkey~1

D._

//c语言也是要看编译器的,在vs2012中默认的编译器以美元符号开头的标识符是可以的。

5.if(a=5) 是允许的。T (1分)

T F

//if判断为真。

6.增1减1运算符的前缀运算和后缀运算的表达式值是相同的。 (1分)

T F

//表达式值不一样,执行过后变量值一样。

7.C语言程序是从源文件的第一条语句开始执行的。F (1分)

T F

//从main开始。

8.break语句只能用于循环语句中。F (5分)

T F

//switch语句也可用。

9.1。T (5分)

T F

//真为1,假为0,无论 (3

10.结构化程序设计规定的基本控制结构包括顺序、选择、循环。T (1分)

T F

11.当a=1,b=3,c=5,d=4,x=0 时,执行完下面一段程序后x的值是(B)(1分)

A.7

B. 2

C. 3

D. 6

12.在C语言中,要求运算数必须是整型的运算符是(A)。 (4分)

A.%

B./

C.<

D.!

13.使用“scanf("X=%f,y=%f",&x,&y)”,要使 X,y均为1.25,正确的输入是( C ) (4分)

A. 1.25,1.25

B. 1.25 1.25

C.X=1.25,y=1.25

D.X=1.25 y=1.25

//格式一致

14.如果函数定义出现在函数调用之前,可以不必加函数原型声明。T (1分)

T F

//1,要么是先使用,就不需要再定义函数了

例如:

void p()

{

//

}

void main()

{

p();

}

....

2,先定义再使用,这时候,必须先要定义函数,不然编译器不识别此函数的

void p();

void mian()

p();

}

void p()

{

//

//

15.有说明语句__。 (2分)

A.

B.

C.

D.

16.对于定义0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是:C (2分)

A.12 ,13

B. 3 ,11

C. 3 ,9

D. 3 ,4

//\n\0在字符串中占一个字符 \000后面八进制数表示ascii的符

号。

17.有两个字符数组a,b,则以下正确的输入语句是(B) (1分)

A.

B.

C.

D.

//不要地址符。

18.静态变量的作用域是整个文件。F (2分)

T F

//

对于C语言,静态变量也分全局静态变量和局部静态变量,对于全局静态变量,它的作用域是整个文本。

但是如果是局部静态变量则它的作用域仅仅是定义它的区域。

19.根据声明C)。 (2分)

A.a[9]

B.p[5]

C.a++

D.*p++

//D a是常量不能自增

20.__。(2分)

A.

B.

C.

D.

//scanf("%d",p->age);这个是错误的,因为scanf输入时,要将值放到地址里,所以要加上&,&表示取址。

scanf("%s",pup[0].name);这一项是正确的,因为name本身就是字符数组,所以它的数组名就是字符串的首地址,所以符合要求;

scanf("%d",&pup[0].age); c)scanf("%d",&(p->sex));这两项也是正确的,解释和第一项一样。

21.在基类型相同的两个指针变量之间,不能进行的运算是(D)。 (2分)

A.<

B.=

C.+

D.–

//指针存的是内存的地址值, 假如两个指针, 一个指向0x80008000, 一个指向0x80008020;

A: 可以判断这两个指针哪个指向后面, 哪个指向前面.

B: 判断两个指针是否指向同一块内存地址

C: 指向相加, 那么大个数代表什么? 可能都越界了内存区域.

D: 相减得到两个指针的差值. 即他们之间相差多少.

22.以下哪个定义中的 C (2分)

A.

B.

C.

D.

//*p[10]是指针数组,其每个元素是指针。

23.直接访问就是直接利用变量的地址直接进行访问。T (2分)

T F

//1.直接访问

按照C的方式,如果定义一个变量,系统会给这个变量分配一块内存,变量有两个属性,变量值和变量地址。变量地址指示了该变量在内存中的存储位置,变量值是这块内存中的内容。要访问这块内存空间上的内容,可以直接使用变量名。

2.间接访问

间接访问的含义是先从其它内存空间获得要访问的内存地址,根据得到的地址访问目的地址。

相关文档
最新文档