欢迎来到天天文库
浏览记录
ID:47432841
大小:111.97 KB
页数:10页
时间:2020-01-11
《pta选择、填空错题集合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.以下选项中不正确的整型常量是(D).(2分)A.12LB.-10C.012D.2,900//u是unsigned的意思,代表无符号整型带L的是长整型字面值常量,不带的是整型字面值常量。2.若x为浮点型,则表达式x=10/4为(B)。(2分)A2.5B2.0C2D33.在C语言中,数字029是一个(D)。(2分)A.八进制数B.十进制数C.十六进制数D.非法数//0开头表示8进制,但8进制没有字符9的。0x开头表示十六进制。4.以下名字,不能作为C语言标识符的是:C(2分)A.ThisIsQingdaoUni
2、versityB.$$C.monkey~1D._//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.表达式(3<
3、x<5)的值恒为1。T(5分)T F//真为1,假为0,无论(34、B.1.251.25C.X=1.25,y=1.25D.X=1.25y=1.25//格式一致14.如果函数定义出现在函数调用之前,可以不必加函数原型声明。T(1分)T F//1,要么是先使用,就不需要再定义函数了例如:voidp(){//}voidmain(){p();}....2,先定义再使用,这时候,必须先要定义函数,不然编译器不识别此函数的voidp();voidmian(){p();}voidp(){//}//15.有说明语句inta[4][5];,则a[2]+3表示__。(2分)A.a数组行下标为5、2、列下标为3的元素的地址B.a数组行下标为2、列下标为3的元素的值C.a数组第2行的首地址D.a数组第3行的首地址16.对于定义charstr[]="abc 00def"(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是:C(2分)A.12,13B.3,11C.3,9D.3,4// 在字符串中占一个字符 00后面八进制数表示ascii的符号。17.有两个字符数组a,b,则以下正确的输入语句是(B)(1分)A.gets(a,b);B.scanf("6、%s%s",a,b);C.scanf("%s%s",&a,&b);D.gets("a"),gets("b");//不要地址符。18.静态变量的作用域是整个文件。F(2分)T F//对于C语言,静态变量也分全局静态变量和局部静态变量,对于全局静态变量,它的作用域是整个文本。但是如果是局部静态变量则它的作用域仅仅是定义它的区域。19.根据声明inta[10],*p=a;,下列表达式错误的是(C)。(2分)A.a[9]B.p[5]C.a++D.*p++//Da是常量不能自增20.以下scanf函数调用语句中不正7、确的是__。(2分)structpupil{charname[20];intage;intsex;}pup[5],*p=pup;A.scanf("%s",pup[0].name);B.scanf("%d",&pup[0].age);C.scanf("%d",p->age);D.scanf("%d",&(p->sex));//scanf("%d",p->age);这个是错误的,因为scanf输入时,要将值放到地址里,所以要加上&,&表示取址。scanf("%s",pup[0].name);这一项是正确的,因为na8、me本身就是字符数组,所以它的数组名就是字符串的首地址,所以符合要求;scanf("%d",&pup[0].age);c)scanf("%d",&(p->sex));这两项也是正确的,解释和第一项一样。21.在基类型相同的两个指针变量之间,不能进行的运算是(D)。(2分)A.
4、B.1.251.25C.X=1.25,y=1.25D.X=1.25y=1.25//格式一致14.如果函数定义出现在函数调用之前,可以不必加函数原型声明。T(1分)T F//1,要么是先使用,就不需要再定义函数了例如:voidp(){//}voidmain(){p();}....2,先定义再使用,这时候,必须先要定义函数,不然编译器不识别此函数的voidp();voidmian(){p();}voidp(){//}//15.有说明语句inta[4][5];,则a[2]+3表示__。(2分)A.a数组行下标为
5、2、列下标为3的元素的地址B.a数组行下标为2、列下标为3的元素的值C.a数组第2行的首地址D.a数组第3行的首地址16.对于定义charstr[]="abc 00def"(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是:C(2分)A.12,13B.3,11C.3,9D.3,4// 在字符串中占一个字符 00后面八进制数表示ascii的符号。17.有两个字符数组a,b,则以下正确的输入语句是(B)(1分)A.gets(a,b);B.scanf("
6、%s%s",a,b);C.scanf("%s%s",&a,&b);D.gets("a"),gets("b");//不要地址符。18.静态变量的作用域是整个文件。F(2分)T F//对于C语言,静态变量也分全局静态变量和局部静态变量,对于全局静态变量,它的作用域是整个文本。但是如果是局部静态变量则它的作用域仅仅是定义它的区域。19.根据声明inta[10],*p=a;,下列表达式错误的是(C)。(2分)A.a[9]B.p[5]C.a++D.*p++//Da是常量不能自增20.以下scanf函数调用语句中不正
7、确的是__。(2分)structpupil{charname[20];intage;intsex;}pup[5],*p=pup;A.scanf("%s",pup[0].name);B.scanf("%d",&pup[0].age);C.scanf("%d",p->age);D.scanf("%d",&(p->sex));//scanf("%d",p->age);这个是错误的,因为scanf输入时,要将值放到地址里,所以要加上&,&表示取址。scanf("%s",pup[0].name);这一项是正确的,因为na
8、me本身就是字符数组,所以它的数组名就是字符串的首地址,所以符合要求;scanf("%d",&pup[0].age);c)scanf("%d",&(p->sex));这两项也是正确的,解释和第一项一样。21.在基类型相同的两个指针变量之间,不能进行的运算是(D)。(2分)A.
此文档下载收益归作者所有