pta选择、填空错题集合
pta选择题(共112题应化C语言老师提供)

1. C 语言程序中可以对程序进行注释,注释部分必须用什么符号括起来?(2分)A.'{' 和‘}'B.'[' 和']'C.'/*' 和'*/'D.'*/' 和'/*'2.o作者:往年试卷o单位:浙江大学下列运算符中,优先级最低的是____。
(2分)B.*C.!=D.+E.=3.o作者:往年试卷o单位:浙江大学若变量已正确定义,表达式 (j=3, j++) 的值是____。
(2分)B. 3C. 4D. 5E. 64.o作者:往年试卷o单位:浙江大学98, b语法不合法98, 9998, cB.正数C.负数D.0E.不确定的数6.o作者:往年试卷o单位:浙江大学数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素____的值为6。
(2分)B.a[3][2]C.a[2][1]D.a[1][2]E.a[2][3]7.o作者:往年试卷o单位:浙江大学要调用数学函数时,在#include命令行中应包含____。
(2分)B."stdio.h"C."string.h"D."math.h"E."ctype.h"8.o作者:往年试卷o单位:浙江大学判断i 和j 至少有一个值为非0的表达式是____。
(2分)B.i!=0 && j!=0C.i+j!=0D.i || jE.i&&j9.o作者:往年试卷o单位:浙江大学若a是基本整型变量,c是单精度实型变量,输入语句____是错误的。
(2分)B.scanf("%d,%f”, &a, &c);C.scanf("d=%d, c=%f”, &a, &c);D.scanf("%d%f”, &a, &c);E.scanf("%d%f”, a, c);10.o作者:往年试卷o单位:浙江大学下列运算符中优先级最低的是__. (2分)B.IIC.>=D.!=E.~11.o作者:往年试卷o单位:浙江大学若变量已正确定义并赋值,符合C语言语法的表达式是 __. (2分)B.a=2++C.a=3,5D.a=a+1=3E.12.3%412.o作者:往年试卷o单位:浙江大学表达式__不能用于判断“x和y不同时为零”。
(山东科技大学)PTA数据结构答案与解析

3.函数题 4.编程题
线性表应用
1.单选题
2-1 采用多项式的非零项链式存储表示法,如果两个多项式的非零项分别为N1和N2个,最高项指数分别为M1和M2, 则实现两个多项式相乘的时间复杂度是:(2分) 1. O(N1×N2) 2. O(M1×M2) 3. O(N1+N2) 4. O(M1+M2) 解析:略 答案: A
3. 任一结点无左孩子 4. 任一结点无右孩子 解析:思路同2-15,在此不再阐述 答案: D 2-17 设n、m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是 (3分) 1. n在m左方 2. n在m右方 3. n是m祖先 4. n是m子孙 解析:由显然易得,选A 答案: A 2-18 给定二叉树如下图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序 列为3、1、7、5、6、2、4,则其遍历方式是: (2分)
1. c 2. d 3. f 4. g解析:模拟一遍求解即可 答案: B 单位: 浙江大学 2-5 在下述结论中,正确的是: (2分) ① 只有2个结点的树的度为1; ② 二叉树的度为2; ③ 二叉树的左右子树可任意交换; ④ 在最大堆(大顶堆)中,从根到任意其它结点的路径上的键值一定是按非递增有序排列的。 1. ①④ 2. ②④ 3. ①②③ 4. ②③④
1. NRL 2. RNL 3. LRN 4. RLN 解析:由显然易得,选B 答案: B 2-19 设高为h的二叉树(规定叶子结点的高度为1)只有度为0和2的结点,则此类二叉树的最少结点数和最多结点数分 别为: (3分) 1. 2. 3. 4. , , , ,
解析:由二叉树结点数性质,易得B答案正确, 容易误选D,当除根节点之外,每层有两个节点的时候,结点数是最 少的(不方便画图就不画了,自行理解)
PTA选择题汇总

For the following declarations of structure and variables, the correct description of the expression *p->str++; is __. (2 分) B. ++ acts on the pointer str For the following declarations, assignment expression __ is not correct. (2 分) B. p->name =
Among the following assignments or initializations, __ is wrong. (2 分) B. char s[10]; s="hello";
Among the following expressions in C, __ is correct. (2 分) D. 2==(3/2)
按照标识符的要求,( )不能组成标识符。 (2 分) A. 连接符
表达式 strcmp("box", "boss") 的值是一个____。(2 分) A. 正数
表达式( )的值是 0。 (2 分) A. 3/5
表达式__不能用于判断“x 和 y 不同时为零”。 (2 分) C. !(x==0 || y==0)
表达式__的值是 0。 (2 分) C. 3/5
表达式 5>3>1 值是__. (2 分) A. 0 表达式 8>6>3 值是( )。 (2 分) A. 0
不正确的赋值或赋初值的方式是____。 (2 分) C. char str[10];str="string";
pta选择填空错题集合

1、以下选项中不正确的整型常量就是(D)、(2分)A.12LB.-10C.012D.2,900//u就是unsigned的意思,代表无符号整型带L的就是长整型字面值常量,不带的就是整型字面值常量。
2、若,则表达式(B)。
(2分)A 2、5B 2、0C 2D 33、在C语言中,数字029就是一个(D )。
(2分)A.八进制数B.十进制数C.十六进制数D.非法数//0开头表示8进制,但8进制没有字符9的。
0x开头表示十六进制。
4、以下名字,不能作为C语言标识符的就是:C (2分)A.ThisIsQingdaoUniversityB.$$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、表达式1。
T (5分)T F//真为1,假为0, 无论(3<x) 就是真就是假都小于5、10、结构化程序设计规定的基本控制结构包括顺序、选择、循环。
T (1分)T F11、当a=1,b=3,c=5,d=4,x=0 时,执行完下面一段程序后x的值就是(B ) (1分)A.7B. 2C. 3D. 612、在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、25B.1、25 1、25C.X=1、25,y=1、25D.X=1、25 y=1、25//格式一致14、如果函数定义出现在函数调用之前,可以不必加函数原型声明。
PTA题目集4~6总结

PTA题⽬集4~6总结前⾔:题⽬集四:此次题⽬集四共有三题,题量较少但是题⽬难度及复杂度较⼤。
第⼀题为⽔⽂数据校验及处理,本题主要考察正则表达式的使⽤及接⼝的使⽤,对正则表达式及接⼝使⽤要求较⾼,题⽬较复杂;第⼆题为⽇期问题⾯向对象聚合⼀,本题主要考察对类的封装,题⽬对get和set的运⽤较多,对this及super关键字的使⽤有⼀定的要求,题⽬总体较复杂;第三题为图形继承,本题主要考察java中的继承的使⽤,对⽅法的重写也有所考察,难度与复杂度相对⼀般。
题⽬集五:此次题⽬集共有五题,题量较多但是难度不⼀。
第⼀题为找出最长单词,本题主要考察字符串的字符长度⽐较,同时还需要运⽤split将单词分隔开,题⽬较简单;第⼆题为合并两个有序数组为新的有序数组,本题主要考察数组的运⽤及数据的排序,题⽬较简单;第三题为对整形数据排序,本题主要考察插⼊排序、选择排序和冒泡排序的算法,题⽬较简单;第四题为统计java程序中关键词的出现次数,本题主要考察正则表达式的使⽤及接⼝的使⽤,对正则表达式及接⼝使⽤要求较⾼,题⽬较复杂;第五题为⽇期问题⾯向对象聚合⼆,和上次题⽬集的第⼆题考察内容⼤致⼀直,不过对⽇期类的设计与联系有了⼀定程度的改变,有了上次作业的经验,此次作业相对较简单。
题⽬集六:此次题⽬集共有六题,题量较多但是难度较⼩。
第⼀题为正则表达式训练-QQ号校验,本题主要考察正则表达式的使⽤,题⽬相对较简单;第⼆题为字符串训练-字符排序,本题主要考察字符串与字符数组的转化,题⽬相对较简单;第三题为正则表达式训练-验证码校验,本题主要考察正则表达式的使⽤,题⽬相对较简单;第四题为正则表达式训练-学号校验,本题同样考察正则表达式,复杂程度较前两题有所提⾼,题⽬难度偏低;第五题为图形继承与多态,本体主要考察java中的继承与多态,还包括ArrayList的常⽤⽅法及和数组的关系的使⽤,难度和复杂度较⼤;第六题为实现图形接⼝及多态性,主要需要实现类的封装性、继承性和多态性,综合性较强,但复杂度⼀般。
PTA程序设计答案

double m=1;
if(n==0)
return m;
else{
for(i=1; i<=n; i++)
m = m*i;
return m;
}
}
double factsum( int n ){
int j;
double sum=0;
if(n>0)
for(j=1; j<=n; j++)
sum += fact(j);
else{
t=n;
dectobin(n=n/2);
for(i=n-m-1; i>=0; i--)
a[i+m]=a[i];
for(i=0; i<m; i++)
a[i]=s[i];
}
return 0;
}
4-54 删除字符 (20分)
答案:
void delchar( char *str, char c ){
int i=0, j=0;
for (;str[i]!='\0';i++)
space = n - i;
for(j=0; j < space; j++)
printf(" ");
for(j=0; j < i; j++)
printf("%-2d", i);
printf("\n");
}
}
4-45 判断奇偶性 (10分)
答案:
int even( int n ){
if( n%2==0 )
if(count%2!=0) {
山东理工大学C语言PTA期末题库

1.指针变量中保存的不一定是一个地址。
F2.指针变量中保存的肯定是一个地址。
T3.c语言的每个函数都可以用return语句返回一个返回值。
F4.C语言中变量名r和R表示同一个变量。
F5.c语言每个函数的返回值都是int型的。
F6.C语言中的变量名属于标识符。
T7.函数pow(x,y)的作用是计算y的x次方。
F8.while循环的循环体最少要执行一次。
F9.switch语句中default语句是必须的。
F10.若有定义:int a[3][4];则a['b'-'a'][2]是对a数组元素的正确引用。
T11.fprintf(fp,"%d",a);表示将变量a以十进制整数形式保存到指针fp所指向的文件中。
T12.可以把一个整型数据赋给一个实型变量。
T13.若有定义:char ch='\105’;则变量ch中包含4个字符。
F14.main函数必须位于其他函数之前。
F15.以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。
F16.对于定义int a[5],*p=a;后,*(p+1)和*(a+1)的值是相同的。
T17.C语言中3/2的值是1。
T18.数组初始化时,初始值个数小于数组元素的个数,C语言自动将剩余的元素初始化为初始化列表中的最后一个初始值。
F19.scanf(fp,"%c",&ch);表示从指针fp所指向的文件中读出一个字符并保存到变量ch中。
F20.假设有float f=7;则f%2的值为1。
F1.以下正确的描述是()。
A.如果函数值类型与返回值类型不一致,应以函数值类型为准。
B.如果形参和实参的类型不一致,应以实参类型为准。
C.return语句后不能是表达式。
D.定义函数时,可以省略不写形参的类型,只写形参名。
2.以下程序有语法性错误,int main(void){int N=3,k;void fun1(); //函数声明…k=fun1(N); //函数调用...}。
pta选择、填空错题集合教案资料

p t a选择、填空错题集合A.12LB.-10C.012D.2,900//u是unsigned的意思,代表无符号整型带L的是长整型字面值常量,不带的是整型字面值常量。
2.若B)。
(2分)A 2.5B 2.0C 2D 33.在C语言中,数字029是一个(D )。
(2分)A.八进制数B.十进制数C.十六进制数D.非法数//0开头表示8进制,但8进制没有字符9的。
0x开头表示十六进制。
A.ThisIsQingdaoUniversityB.$$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语句也可用。
T F//真为1,假为0,无论 (3<x) 是真是假都小于 5.10.结构化程序设计规定的基本控制结构包括顺序、选择、循环。
T (1分)T F11.当a=1,b=3,c=5,d=4,x=0 时,执行完下面一段程序后x的值是(B ) (1分)A.7B. 2C. 3D. 612.在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.25B. 1.25 1.25C.X=1.25,y=1.25D.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.有说明语句__。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.以下选项中不正确的整型常量是(D). (2分)
A.12L
B.-10
C.012
D.2,900
B)。
(2分)
A
B
C2
D 3
3.在C语言中,数字029是一个(D )。
(2分)
A.八进制数
B.十进制数
C.十六进制数
D.非法数
下名字,不能作为C语言标识符的是:C (2分)
A.ThisIsQingdaoUniversity
B.$$
C.monkey~1
D._
1减1运算符的前缀运算和后缀运算的表达式值是相同的。
(1分)
T ? ? ? ? F
break语句只能用于循环语句中。
F (5分)
T ? ? ? ? F
表达式(3<x<5)的值恒为1。
T (5分)
T ? ? ? ? F
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均为,正确的输入是( C ) (4分)
A.,
B.
C.X=,y=
D.X= y=
如果函数定义出现在函数调用之前,可以不必加函数原型声明。
T (1分)
T ? ? ? ? F
..
2,先定义再使用,这时候,必须先要定义函数,不然编译器不识别此函数的
void p();
void mian()
{
p();
}
void p()
{
有说明语句__。
(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
有两个字符数组a,b,则以下正确的输入语句是(B) (1分)
A.
B.
C.
D.
静态变量的作用域是整个文件。
F (2分)
T ? ? ? ? F
,下列表达式错误的是( C)。
(2分)
A.a[9]
B.p[5]
C.a++
D.*p++
A.
B.
C.
D.
ame);这一项是正确的,因为name本身就是字符数组,所以它的数组名就是字符串的首地址,所以符合要求;
scanf("%d",&pup[0].age); c)scanf("%d",&(p->sex));这两项也是正确的,解释和第一项一样。
21.在基类型相同的两个指针变量之间,不能进行的运算是(D )。
(2分)
A.<
B.=
C.+
D.–
B: 判断两个指针是否指向同一块内存地址
C: 指向相加, 那么大个数代表什么可能都越界了内存区域.
D: 相减得到两个指针的差值. 即他们之间相差多少.
22.以下哪个定义中的 C (2分)
A.
B.
C.
D.
直接访问就是直接利用变量的地址直接进行访问。
T (2分)
T ? ? ? ? F
接访问
按照C的方式,如果定义一个变量,系统会给这个变量分配一块内存,变量有两个属性,变量值和变量地址。
变量地址指示了该变量在内存中的存储位置,变量值是这块内存中的内容。
要访问这块内存空间上的内容,可以直接使用变量名。
2.间接访问
间接访问的含义是先从其它内存空间获得要访问的内存地址,根据得到的地址访问目的地址。
我来打个比方吧:
a. 直接访问某个地址,就相当于你知道某个物品放在某个抽屉里,然后你去那个抽屉,然后访问你的物品。
b. 间接访问就是,你知道某个抽屉放着一个纸条,纸条写着:某某物品存放于某某另外一个抽屉。
这样的话
a里面的抽屉,就是变量,
b里面存放纸条的抽屉,就是指针,指针的值,就是那个纸条,纸条指向另外一个抽屉(变量),另外一个抽屉存放的东西,就是一个变量的值。
24.函数的实参可以是常量,变量或表达式。
T (1分)
T ? ? ? ? F
25.在C 语言中,常量和变量都有数据类型。
T (1分)
T ? ? ? ? F
则下面描述中正确的是( C)。
(2分)
A.循环执行 10 次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
//赋值表达式的返回值为赋值符号右边的值。
m=0返回给while的是0,即假。