形考任务四
题目1
假定有“struct BOOK{char title40]; float price; } ; struct BOOK book; ”,则不正确的语句为( )。
题目2
假定有“struct BOOK{char title40]; float price; } book; ”, 则正确的语句为()。
题目3
在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。
题目4
假定一个结构类型的定义为“struct A{int a, b;double c; } ; ” , 则该类型的长度为()。
题目5
假定一个结构类型的定义为“struct D{int a; D*next; } ; ” , 则该类型的长度为()。
题目6
假定要访问一个结构指针变量 x 中的数据成员 a, 则表示方法为( )。
题目7
与结构成员访问表达式 x. name 等价的表达式为()。
题目8
假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next; } ; ”,则 next 数据成员的类型为()。
题目9
假定一个链表的表头指针为 f, 结点中包含有 data 和 next 域, 则向该链表的表头插入一个地址为 p 的结点时, 应执行的操作为()。
题目10
标准输入设备键盘的文件流标识符是()。
题目11
表示文件结束符的符号常量为()。
题目12
C 语言中打开一个数据文件的系统函数为()。
题目13
从一个数据文件中读入以换行符结束的一行字符串的系统函数为()。
题目14
向一个二进制文件中写入信息的函数 fwrite() 带有的参数个数为()。
题目15
在 C 语言中, 为只写操作打开一个文本文件的方式为( )。
题目16
在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。( )
题目17
在结构类型的定义中,允许出现结构类型不完整的超前定义。( )
题目18国开答案请进:opzy.net或请联系微信:1095258436
定义结构类型的变量时,不能够同时进行初始化。 ()
题目19
使用一个结构类型时,必须一起使用关键字 struct 和类型标识符。 ( )
题目20
假定一个结构类型的定义为“struct A{int a, b;A* c; } ; ” , 则该类型的长度为12。( )
题目21
假定一个结构类型的定义为“struct B{int a5];char* b; } ; ” , 则该类型的长度为 20。( )
题目22
执行 calloc(n, 8) 函数调用时, 将动态分配得到 8*n 个字节的存储空间。()
题目23
执行 malloc(sizeof(struct BB) ) 函数调用时,得到的动态存储空间能够保存具有structBB 结构类型的一个对象。( )
题目24
假定要访问一个结构对象 x 中的由 a 指针成员所指向的对象,则表示方法为 x. a。( )
题目25
假定要访问一个结构指针 p 所指对象中的 b 指针成员所指的对象,则表示方法为p->b。( )
题目26
与结构成员访问表达式(*fp) . score 等价的表达式是 fp->score。( )
题目27
在 C 语言中, 对二进制文件的所有不同打开方式共有 6 种。( )
题目28
C 语言中的标准输入和输出设备文件都属于字符文件。( )
题目29
在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的, 不可省略。()
题目30
在数据文件打开方式字符串中,字符 r、 w 和 a 具有确定的含义,分别代表读、 写和追加方式。()
题目31
一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。( )
题目32
C 语言系统中提供一个用来描述文件属性的类型标识符为 FILE。 ( )
题目33
每次只能向文本文件中写入一个字符,不能一次写入一个字符串。 ()
题目34
对二进制文件进行读和写操作将使用相同的系统函数。()
题目35
在 C 语言中, 系统函数 fseek() 用来移动数据文件中的文件位置指针。( )
题目36
#include<stdio.h>
structWorker {
char name15]; //姓名
int age; //年龄
float pay; //工资
};
voidmain() {
struct Worker x={“wanghua”,52,4300};
struct Worker y, *p;
y=x; p=&x;
printf(“%s %d %6.2f\n”,x.name,y.age,p->pay);
}
题目37
#include<stdio.h>
#include<string.h>
structWorker {
char name15]; //姓名
int age; //年龄
float pay; //工资
};
voidmain() {
struct Worker x;
char *t=”liouting”;
int d=38; float f=3493;
strcpy(x.name,t);
x.age=d; x.pay=f;
printf(“%s %d %6.0f\n”,x.name,x.age,x.pay);
}
题目38
#include<stdio.h>
structWorker {char name15]; int age; float pay;};
intLess(struct Worker r1, struct Worker r2) {
if(r1.age<r2.age) return 1; else return 0;
}
voidmain() {
struct Worker a4]={{“abc”,25,2420},{“def”,58,4638},
{“ghi”,49,4260},{“jkl”,36,3750}};
struct Worker x=a0];
int i;
for(i=1; i<4; i++)
if(Less(x,ai])) x=ai];
printf(“%s %d %6.0f\n”,x.name,x.age,x.pay);
}
题目39
void QA(struct Worker a], int n) {
int i;
for(i=1; i<n; i++)
scanf(“%s %d %f”,&ai].name,&ai].age,&ai].pay);
}
假定结构类型struct Worker 的定义如下:
structWorker { char name15]; int age; float pay;};
题目40
int Count(struct IntNode *f)
{ //f为指向一个单链表的表头指针
int c=0;
while(f) {
c++;
f=f->next;
}
return c;
}
假定struct IntNode的类型定义为:
struct IntNode {int data; IntNode* next;};
题目41
void xw1(char* fname) {
FILE*fout=fopen(fname,”w”);
char a20];
printf(“每个字符串长度小于20,字符串end作为结束标志\n”);
while(1) {
scanf(“%s”,a);
if(strcmp(a,”end”)==0)break;
fputs(a,fout);
fputc(‘\n’,fout);
}
fclose(fout);
}