首页 分享 pta错题集

pta错题集

来源:花匠小妙招 时间:2024-12-16 01:41

指针练习

判断题
1.int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。(F)
【p是指针,*p[4]的p就是数组】

2.标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项 (T)
选择题
1.在c语言中,不允许有常量的数据类型是(B ) (2分)
A.整型
B.结构型
C.字符型
D.字符串
——[结构体是由用户定义的]-------

2.设变量已正确定义,以下(A.C)是合法的C语句。 (1分)
A.if ( n <= 10 );
B.switch ( k ) {
case 1: printf(“one”); break;
case 2: printf(“two”); break;
case 1: printf(“one”); break;
default: printf(“zero”); break;
}
C.switch ( k%2 ) {
default: printf(“zero”); break;
case 1: printf(“one”);
case 1+1: printf(“two”);
}
D.n = 10;
switch ( k ) {
case n%3: printf(“one”);
case n%4: printf(“two”);
default: printf(“zero”);
}

填空题
1.When referring to an array element, the position number contained within parentheses is called a(n) 【subscript】
//1.引用数组元素时,括号内的位置号称为a(n)【下标】

2.C stores lists of values in【array】
//2.C在【数组】中存储值列表

文件流习题

判断题
1.文件的读函数是从输入文件中读取信息,并存放在内存中(T)
// [先从文件中读入到内存缓冲期,然后再利用]
选择题
1.如果二进制文件a.dat已经存在,现在要求写入全新数据,应以(B)方式打开。
A.“w”
B.“wb”
C.“w+”
D."wb+
//wb+是向后最加

2.定义FILE *fp; 则文件指针fp 指向的是(B)
A.文件在磁盘上的读写位置
B.文件在缓冲区上的读写位置
C.整个磁盘文件
D.文件类型结构体

3.按存储介质划分,文件可以分为(B): (2分)
A.记录文件和流式文件
B.普通文件和设备文件
C.文本文件和二进制文件
D.程序文件和数据文件

//数据划分就是文本文件和二进制文件

4.fputc(ch,fp) 把一个字符ch写到fp所指示的磁盘文件中,若写文件失败则函数的返回值为(C )。 (1分)
A.0
B.1
C.EOF
D.非0

5.函数fgetc的作用是从指定文件读入一个字符,该文件的打开方式必须是(B,C )。 (1分)
A.只写
B.追加
C.读或读写
D.答案B和C都正确

//只读的话无法讲文件中的数据加入内存缓冲区中,也就是无法打开

6.利用函数fseek可实现的操作是( D)。 (1分)
A.改变文件指针fp的值
B.文件的顺序读写
C.文件的随机读写
D.以上答案均正确

7.有一文本文件test.txt,其内容为"cprogram"(不包含引号),以下程序段的运行结果是(A)。 (2分)

FILE *fp;

char str[20];

if((fp=fopen(“test.txt”,“r”))!=NULL)
str=fgets(str,5,fp); printf("%s",str);
A.cpro
B.cprog
C.prog
D.cprogram

//fgets(str,5,fp)使得只接受的5个字符

填空题
1.只能向指定文件写入一个字符的函数是(fgetc)
//fgets()是接受字符串

数组练习

判断题
1.数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)。(F)
//数组名不是指针是数组首地址
2.假设有定义如下: int array[10]; 则该语句定义了一个数组array。其中array的类型是整型指针(即: int *)(F)
// //数组名不是指针是数组首地址
选择题
1.以下定义语句中不正确的是(D)。 (2分)
A.double x[5]={2.0, 4.0, 6.0, 8.0, 10.0};
B.char c2[]={’x10’, ‘xa’, ‘x8’};
C.char c1[]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};
D.int y[5]={0,1,3,5,7,9}

//int y[5]最多包含5元素。而D答案定义了6个

结构体链表

判断题
1、通常使用结构的嵌套来定义单向链表结点的数据类型。(T)
选择题
1、在一个单链表head中,若要删除指针p所指结点的后继结点,则执行(D)。
A. p=p->next;free§;
B.p->next=p->next->next; free§;
C.q= p->next q->next=p->next; free(q);
D.q=p->next; p->next=q->next; free(q);

//链表是用一组任意的存储单元来存放线性表的结点。在存储每个结点值的同时,还存储了其后继结点的指针,另外还有头指针。单链表的指针域只有一个指向后继结点的指针,若要删除p结点的后继结点,只需让p结点的指针p↑.next指向其后继结点指针所指向的结点p↑.next↑.next即可。

2.若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指结点插入到链表末尾的语句是(C )。
A.q->next=NULL; p=p->next; p->next=q;
B.p=p->next; q->next=p->next; p->next=q;
C.p=p->next; q->next=p; p->next=q;
D.p=(*p).next; (*q).next=(*p).next; (*p).next=q;
在这里插入图片描述

//首先 B和D是完全相同的 只是表现方式不一样
而A至少有可能把q插入到链表末尾
C选项 q->next=p 则是把q的next指向了p 后头怎么操作就不用管了 反正不是指向NULL就是不对的 (除非是循环链表)
所以选C

结构体

判断题
1.调用strcmp函数比较字符串大小时,通常较长的字符串会较大。 (F)
//比如ASDD比ASE小
2.If there is declarationint a[] = {2,4,6,8,10}, p= a; a 's value is the first address of the array, then(p++)'s value is 4. (F)

选择题
1.对于以下结构定义,++p->str中的++加在__A__。
A.指针str上
B.指针p上
C.str指的内容上
D.以上均不是
2.假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序段是(D)。
A.char s[5]={“ABCDE”}; puts(s);
B.char s[5]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’}; puts(s);
C.char *s; scanf("%s", s); puts(s);
D.char *s; s=“ABCDE”; puts(s);

//A,B中最后没有’’
C,因为并没有给s分配内存,虽然没有语法的错误,但并不能得到想要的结果

相关知识

前端练习错题集
PTA所谓水仙花数是指一个m位数 输入一个3位数n,输出所有介于100至n之间的位数为3的水仙花数 求1到正整数n之间的偶数之和,输出结果后换行。
聚酯月报:下游逆季节性走强 原料端走势偏震荡
[JAVASE错题]01
若不等式ax2+bx+2>0的解集为,则a=
南京农副产品物流配送中心有限公司花鲢活鱼今日价格多少钱一斤走势图
数据集划分,Oxford Flower102花卉分类数据集,分为训练集、测试集、验证集
木兰花 Magnolia
新需求催生新质生产力 期现结合成聚酯产业商业新业态
新型微塑料降解酶的微生物合成及性能研究

网址: pta错题集 https://www.huajiangbk.com/newsview1117960.html

所属分类:花卉
上一篇: 因子和,因子数,1到n的因子和,
下一篇: 编写一个Java程序,计算并输出

推荐分享