美文网首页
C语言面试

C语言面试

作者: harrytc | 来源:发表于2019-03-09 00:15 被阅读0次

    C 语言中是否有布尔类型
    C里面没有定义布尔是基础类型在C89标准中没有,在C99中有

    struct 结构体中有三个 int,两个 int 指针,问 sizeof()多少
    12 内存对齐提一下

    bool 类型变量 a 初始值为-1,++a 之后为多少,再++a 之后为多少
    1 1

    scanf()读取匹配format(格式)字符串的输入. 当读取到一个控制字符, 它把值放置到下一个变量. 空白(tabs, 空格等等)会跳过. 非空白字符和输入匹配, 然后丢弃. 如果是一个在%符号和控制符间的数量, 那么只有指定数量的字符转换到变量中. 如果scanf()遇到一个字符集(用%[]控制字符表示), 那么在括号中的任意字符都会读取到变量中. scanf()的返回值是成功赋值的变量数量, 发生错误时返回EOF.

    gets()函数从STDIN(标准输入)读取字符并把它们加载到str(字符串)里,直到遇到新行(\n)或到达EOF. 新行字符翻译为一个null中断符. gets()的返回值是读入的字符串,如果错误返回NULL.

    calloc
    语法:

    #include <stdlib.h>
     void *calloc( size_t num, size_t size );
    

    功能: 函数返回一个指向num 数组空间,每一数组元素的大小为size。如果错误发生返回NULL。

    memset
    语法:

      #include <string.h>
      void *memset( void *buffer, int ch, size_t count );
    

    功能: 函数拷贝ch 到buffer 从头开始的count 个字符里, 并返回buffer指针。 memset() 可以应用在将一段内存初始化为某个值。例如:
    memset( the_array, '\0', sizeof(the_array) );
    这是将一个数组的所以分量设置成零的很便捷的方法。

    qsort
    语法:

    #include <stdlib.h> 
     void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) ); 
    
    ## 功能: 对buf 指向的数据(包含num 项,每项的大小为size)进行快速排序。
    如果函数compare 的第一个参数小于第二个参数,返回负值;
    如果等于返回零值;
    如果大于返回正值。
    函数对buf 指向的数据按升序排序。 
    
    

    比较(compare)

    语法:

      int compare( const basic_string &str );
      int compare( const char *str );
      int compare( size_type index, size_type length, const basic_string &str );
      int compare( size_type index, size_type length, const basic_string &str, size_type index2,
      size_type length2 );
      int compare( size_type index, size_type length, const char *str, size_type length2 );
    
    fgetc 
    语法: 
      #include <stdio.h>
      int fgetc( FILE *stream );
    

    fgetc()函数返回来自stream(流)中的下一个字符,如果到达文件尾或者发生错误时返回EOF.

    fopen 
    语法: 
      ##include <stdio.h>
      FILE *fopen( const char *fname, const char *mode );
    
    ###fopen()函数打开由fname(文件名)指定的文件, 并返回一个关联该文件的流.如果发生错误, fopen()返回NULL. mode(方式)是用于决定文件的用途(例如 用于输入,输出,等等) 
    
    Mode(方式) 意义 
    "r" 打开一个用于读取的文本文件 
    "w" 创建一个用于写入的文本文件 
    "a" 附加到一个文本文件 
    "rb" 打开一个用于读取的二进制文件 
    "wb" 创建一个用于写入的二进制文件 
    "ab" 附加到一个二进制文件 
    "r+" 打开一个用于读/写的文本文件 
    "w+" 创建一个用于读/写的文本文件 
    "a+" 打开一个用于读/写的文本文件 
    "rb+" 打开一个用于读/写的二进制文件 
    "wb+" 创建一个用于读/写的二进制文件 
    "ab+" 打开一个用于读/写的二进制文件 
    

    示例:

        char ch;
        FILE *input = fopen( "stuff", "r" );
        ch = getc( input );
    
    fseek 
    语法: 
      ##include <stdio.h>
      int fseek( FILE *stream, long offset, int origin );
    

    函数fseek()为给出的流设置位置数据. origin的值应该是下列值其中之一(在stdio.h中定义):

    名称 说明
    SEEK_SET 从文件的开始处开始搜索
    SEEK_CUR 从当前位置开始搜索
    SEEK_END 从文件的结束处开始搜索

    ### fseek()成功时返回0,失败时返回非零. 你可以使用fseek()移动超过一个文件,但是不能在开始处之前. 使用fseek()清除关联到流的EOF标记. 
    

    fread
    语法:

       #include <stdio.h>
      int fread( void *buffer, size_t size, size_t num, FILE *stream );
    

    函数fread()读取[num]个对象(每个对象大小为size(大小)指定的字节数),并把它们替换到由buffer(缓冲区)指定的数组. 数据来自给出的输入流. 函数的返回值是读取的内容数量...

    使用feof()或ferror()判断到底发生哪个错误.

    ferror 
    语法: 
      ##include <stdio.h>
      int ferror( FILE *stream );
    

    ferror()函数检查stream(流)中的错误, 如果没发生错误返回0,否则返回非零. 如果发生错误, 使用perror()检测发生什么错误.

    perror 
    语法:   ##include <stdio.h>
      void perror( const char *str );
    

    perror()函数打印str(字符串)和一个相应的执行定义的错误消息到全局变量errno中.

    逗号运算符确保操作数被顺序地处理:先计算左边的操作数,再计算右边的操作数。右操作数的类型和值作为整个表达式的结果。左操作数只是为了副作用需要而被计算,它其值会被丢弃。在计算完左操作数之后,存在一个序列点,例如: x = 2.7, sqrt( 2*x )

    1.根据简历和成绩单问一些问题
    对CV有什么认识
    有没有项目

    2.C 语言问了几个题目,有一个是 bool 类型++之后会怎么变,其他记不得了

    3.数学题:一个直角三角形斜边长度是 10,斜边上的高为 6,求这个三角形的面 积

    (解析:首先要考虑这个三角形是否存在,然后要考虑三角形是否是曲面三角形)

    相关文章

      网友评论

          本文标题:C语言面试

          本文链接:https://www.haomeiwen.com/subject/jiexuqtx.html