• c期末复习


    1.直接访问就是直接利用变量的地址直接进行访问。(T)

    解析:

    (1)直接访问:

    按变量的地址存取变量值。

    (2)间接访问:

    通过存放变量地址的变量访问变量。

    2.设变量定义为 int a[2]={1,3}, *p=&a[0]+1;*p的值是( 3 )。

    解析: 注意是地址加一,而不是 值加1;

    3.对于以下结构定义,++p->str中的++加在(A)。

    1. struct {
    2. int len;
    3. char *str;
    4. } *p;

    A.指针str  B.指针p上   C.str指向的内容上   D.语法错误

    4.C语言中结构类型变量在程序执行期间( 所有成员一直驻留在内存中 )。

    5.链表不具有的特点是(可随机访问任一元素)。

    6.用链表代替数组进行数据操作时,查询更加方便。(F

    解析:

    数组: 支持随机访问,使用方便 ,查询效率比链表高内存为一连续的区域 。
    链表: 不可数据访问,可动态添加删除 大小可变 ,内存可能是不连续内存,链式存储,查询效率低。 

    7.在 C 程序中,函数既可以嵌套定义,也可以嵌套调用。(F)

    解析:

    C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用。

    8.文件指针指向文件缓冲区中文件数据的存取位置。(F

    解析:

    文件指针指向的是一块内存区域,这块区域存储着打开的文件的相关信息,包括文件读取指针当前位置、文件读取缓冲区大小等信息,并不是指向文件的。

    9.使用结构指针作为函数参数只需要传递一个地址值,因此,能够提高参数传递的效率。(T

    10.已知有定义,FILE fp; char str[] = "Good!"; fp = fopen("filename.dat", "wb");
    将数组str中存放的字符串写到名为filename.dat的二进制文件中。需要的语句是( D)。

    A.fwrite(str[0], sizeof(char), 1, fp)                                         B.fread(str, sizeof(char), 5, fp)

    C.fwrite(fp, sizeof(char), 5, str)                                             D.fwrite(str, sizeof(char), 5, fp)

    解析:

    fread与fwrite函数

    函数原型:
    size_t fread(void *buffer, size_t size, size_t, count, FILE *pf)
    size_t fwrite(void *buffer, size_t size, size_t count, FILE *pf)

    fread 和 fwrite 函数一般用于二进制文件的输入输出。

    fscanf与fprintf函数

    例如:

    fscanf(fp, "%s %d %d %f\n", pb->name, &pb->num, &pb->age, &pb->score)

    fprintf(fp,"%s %d %d %f\n", pa->name, pa->num, pa->age, pa->score)

    fscanf函数的功能是:

    按“格式字符串”所指定的格式,从“文件类型指针”所指向的文件的当前位置读取数据,然后按“输入项地址表列”的顺序,将读取来的数据存入指定的内存单元中。

    fprintf函数的功能是:

    按“格式字符串”所指定的格式,将“输出项表列”中指定的各项的值写入“文件类型指针”所指向的文件的当前位置。若写入成功,fprintf函数的返回值是写入文件中的字符个数(或字节个数),否则返回EOF(-1)。

    11.为打开文本文件student.txt,进行追加数据的正确写法是( B )。

    A.fp=fopen("my.txt","r")                           B.fp=fopen("my.txt","a")

    C.fp=fopen("my.txt","w")                         D.fp=fopen("my.txt","w+")

    r  以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

    a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    a+    打开一个文件只用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

       打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    w+    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

    wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

    wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

    12.

    以下描述错误的是( D )。

    A.函数调用可以出现在一个表达式中                              B.函数调用可以出现在执行语句中

    C.函数调用可以作为一个函数的实参                              D.函数调用可以作为一个函数的形参

    解析:

    返回值存在寄存器中, 没有地址, 不能作为形参,但可以作为实参。

  • 相关阅读:
    自动控制原理7.3---z变换理论
    Codeforces Round 910 (Div. 2) --- B-E 补题记录
    xtrabackup相关参数
    Unity 拷贝文本
    opencv-直方图
    Git分支
    Elastic Search中如何查看索引数据?
    C++系列-左移运算符重载
    使用depp在小程序中子组件修改第三方ui库uview,样式不生效问题
    [Linux]----进程间通信之共享内存
  • 原文地址:https://blog.csdn.net/weixin_63013120/article/details/125268057