国开《C语言程序设计》形考任务4答案

搜答案方法:电脑端按「Ctrl+F」、手机端用「页面查找」功能输入关键词查找。

 国开《C语言程序设计》第四次形考任务答案

试卷得分100

一、选择题(共30分,每小题2分)

1.假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为(    )。

单选题 (2 分) 2分

 A.struct BOOK *x=malloc(book);

 B.struct BOOK x={"C++ Programming",27.0};

 C.struct BOOK *x=malloc(sizeof(struct BOOK));

 D.struct BOOK *x=&book;

 正确答案是:A.struct BOOK *x=malloc(book);

2.假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为(    )。

单选题 (2 分) 2分

 A.struct BOOK x= &book;

 B.struct BOOK *x=&book;

 C.struct BOOK x=calloc(BOOK);

 D.struct BOOK *x=BOOK;

 正确答案是:B.struct BOOK *x=&book;

3.在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是(    )。

单选题 (2 分) 2分

 A.句点

 B.冒号

 C.分号

 D.逗号

 正确答案是:C.分号

4.假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为(    )。

单选题 (2 分) 2分

 A.8

 B.10

 C.12

 D.16

 正确答案是:

此处内容已隐藏……点击查看

5.假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为(    )。

单选题 (2 分) 2分

 A.4

 B.8

 C.12

 D.16

 正确答案是:

此处内容已隐藏……点击查看

6.假定要访问一个结构指针变量x中的数据成员a,则表示方法为(    )。

单选题 (2 分) 2分

 A.a

 B.x->a

 C.x(a)

 D. x{a}

 正确答案是:

此处内容已隐藏……点击查看

7.与结构成员访问表达式x.name等价的表达式为(    )。

单选题 (2 分) 2分

 A.x->name

 B.&x->name

 C.(&x)->name

 D.(*x)->name

 正确答案是:

此处内容已隐藏……点击查看

8.假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为(    )。

单选题 (2 分) 2分

 A.struct AA

 B.struct AA*

 C.AA

 D.int

 正确答案是:

此处内容已隐藏……点击查看

9.假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为(    )。

单选题 (2 分) 2分

 A.p->next=f

 B.p->next=f和f=p

 C.f=p->next

 D.f->next=p和f=p

 正确答案是:

此处内容已隐藏……点击查看

10.标准输入设备键盘的文件流标识符是(    )。

单选题 (2 分) 2分

 A.stdin

 B.stdout

 C. stderr

 D.stdio

 正确答案是:

此处内容已隐藏……点击查看

11.表示文件结束符的符号常量为(    )。

单选题 (2 分) 2分

 A.eof

 B.Eof

 C.EOF

 D.feof

 正确答案是:

此处内容已隐藏……点击查看

12.C语言中打开一个数据文件的系统函数为(    )。

单选题 (2 分) 2分

 A.fgetc()

 B. fputc()

 C.fclose()

 D.fopen()

 正确答案是:

此处内容已隐藏……点击查看

13.从一个数据文件中读入以换行符结束的一行字符串的系统函数为(    )。

单选题 (2 分) 2分

 A.gets()

 B.fgets()

 C.getc()

 D.fgetc()

 正确答案是:

此处内容已隐藏……点击查看

14.向一个二进制文件中写入信息的函数fwrite()带有的参数个数为(    )。

单选题 (2 分) 2分

 A.1

 B.2

 C.3

 D.4

 正确答案是:

此处内容已隐藏……点击查看

15.在C语言中,为只写操作打开一个文本文件的方式为(    )。

单选题 (2 分) 2分

 A."a"

 B."r+"

 C."r"

 D."w"

 正确答案是:

此处内容已隐藏……点击查看

二、判断题(共40分,每小题2分。叙述正确则回答“是”,否则回答“否”)

16.在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

17.在结构类型的定义中,允许出现结构类型不完整的超前定义。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

18.定义结构类型的变量时,不能够同时进行初始化。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

19.使用一个结构类型时,必须一起使用关键字struct和类型标识符。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

20.假定一个结构类型的定义为 “struct A{int a,b; A* c;};”,则该类型的长度为12。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

21.假定一个结构类型的定义为 “struct B{int a[5]; char* b;};”,则该类型的长度为20。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

22.执行calloc(n,8)函数调用时,将动态分配得到8*n个字节的存储空间。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

23.执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

24.假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为x.a。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

25.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

26.与结构成员访问表达式(*fp).score等价的表达式是fp->score。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

27.在C语言中,对二进制文件的所有不同打开方式共有6种。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

28.C语言中的标准输入和输出设备文件都属于字符文件。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

29.在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

30.在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

31.一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

32.C语言系统中提供一个用来描述文件属性的类型标识符为FILE。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

33.每次只能向文本文件中写入一个字符,不能一次写入一个字符串。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

34.对二进制文件进行读和写操作将使用相同的系统函数。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

35.在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。

判断题 (2 分) 2分

 A.对

 B.错

 正确答案是:

此处内容已隐藏……点击查看

三、写出下列每个程序运行后的输出结果(共15分,每小题5分)

36.#include<stdio.h>

       struct Worker {

           char name[15];  //姓名

           int age;        //年龄

           float pay;      //工资

       };

       void main() {

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

       }

简答题 (5 分) 5分

正确答案是:

此处内容已隐藏……点击查看

37.#include<stdio.h>

       #include<string.h>

       struct Worker {

           char name[15];  //姓名

           int age;        //年龄

           float pay;      //工资

       };

       void main() {

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

       }

简答题 (5 分) 5分

正确答案是:

此处内容已隐藏……点击查看

38.#include<stdio.h>

       struct Worker {char name[15]; int age; float pay;};

       int Less(struct Worker r1, struct Worker r2) {

           if(r1.age<r2.age) return 1; else return 0;

       }

       void main() {

           struct Worker a[4]={{"abc",25,2420},{"def",58,4638},

                        {"ghi",49,4260},{"jkl",36,3750}};

           struct Worker x=a[0];

           int i;

           for(i=1; i<4; i++)

               if(Less(x,a[i])) x=a[i];

           printf("%s  %d  %6.0f\n",x.name,x.age,x.pay);

       }

简答题 (5 分) 5分

def   58   4638

四、写出下列每个函数的功能(共15分,每小题5分)

39.void QA(struct Worker a[], int n) {

           int i;

           for(i=1; i<n; i++)

               scanf("%s %d %f",&a[i].name,&a[i].age,&a[i].pay);

       }

    假定结构类型struct Worker 的定义如下:

       struct Worker { char name[15]; int age; float pay;};

简答题 (5 分) 5分

正确答案是:

此处内容已隐藏……点击查看

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;};

简答题 (5 分) 5分

正确答案是:

此处内容已隐藏……点击查看

41.void xw1(char* fname) {

           FILE* fout=fopen(fname,"w");

           char a[20];

           printf("每个字符串长度小于20,字符串end作为结束标志\n");

           while(1) {

               scanf("%s",a);

               if(strcmp(a,"end")==0) break;

               fputs(a,fout);

               fputc('\n',fout);

           }

           fclose(fout);

       }

简答题 (5 分) 5分

正确答案是:

此处内容已隐藏……点击查看

「国开学习吧」:用户COOKIE有效时间30天,收藏网址『guokaixuexi.com』不迷路哦~

相关文章

国开《C语言程序设计》形考任务2答案

国开《C语言程序设计》形考任务2答案

国开《C语言程序设计》形考任务2答案一、选择题(共20分,每小题2分)1.当处理特定问题时的循环次数已知时,通常采用的语句是(    )。单选题 (2 分) 2分 A.f...

国开《C语言程序设计》形考任务1答案

国开《C语言程序设计》形考任务1答案

国开《C语言程序设计》形考任务1答案一、选择题(共40分,每小题2分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。单选题 (2 分) 2分 A.main&nbs...

国开《C语言程序设计》形考任务3答案

国开《C语言程序设计》形考任务3答案

国开《C语言程序设计》形考任务3答案一、选择题(共30分,每小题2分)1.在下面的函数声明语句中,存在着语法错误的是(    )。单选题 (2 分) 2分 A.AA(in...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。