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分)

相关文档
最新文档