C语言习题

199 阅读2分钟
  1. 什么是预处理?什么是编译?什么是链接?
  2. #include <stdio.h> 指令说明了什么意思?
  3. C语言可以在一个注释中嵌套另一个注释么?(答可以或不可以)
  4. C语言的注释分为哪几种?都是什么样子的?
  5. 每一个变量都是必须有类型么?(答是或不是)
  6. 判断下列C语言标识符哪些是不合法的()
  • A.100_bottles

  • B._100_bottles

  • C.one__hundred

  • D.botles_by_the_hundred

  1. 举例一个转义序列。
  2. 下面的printf函数调用产生的输出是什么?
printf("%6d,%4d \n",86,1040);
printf("%.4f \n",83.162);

答案

  1. 什么是预处理?什么是编译?什么是链接?

    把我们写好的程序(.c源文件),转化为机器可以执行的形式(.exe可执行文件)。通常需要下列三个步骤:

  • 预处理。首先程序会被叫送给预处理器。预处理器执行以#开头的指令。预处理器类似于编辑器,它可以给程序添加内容,也可以对程序进行修改。
  • 编译。修改后的程序现在可以进入编译器了。编译器会把程序翻译成机器指令(目标代码)。但这样的程序依旧不可以运行。
  • 链接。最后一步,链接器把机器指令(目标代码)和所需的其他附加代码整合在一起,这样才最终产生了完全可执行的程序。这些附加代码包括程序中用到的库函数(如 printf 函数)。
  1. #include <stdio.h> 指令说明了什么意思?

    这条指令说明,在编译前把<stdio.h>中的信息“包含”到程序中。<stdio.h>包含了关于C标准输入/输出库的信息。C语言拥有大量类似于<stdio.h>的头文件,每个头文件都包含一些标准库的内容。

    注:所有指令都是以字符 # 开始的。这个字符可以把 C 程序中的指令和其他代码区分开来。指令默认只占一行,每条指令的结尾没有分号或其他特殊标记。

  2. C语言可以在一个注释中嵌套另一个注释么?(答可以或不可以)

    不可以。

  3. C语言的注释分为哪几种?都是什么样子的?

    单行注释和多行注释

    //单行注释
    
    /*	多行注释
    	多行注释  */
    
  4. 每一个变量都是必须有类型么?(答是或不是)

  5. 判断下列C语言标识符哪些是不合法的()
  • A.100_bottles

  • B._100_bottles

  • C.one__hundred

  • D.botles_by_the_hundred

    A不合法,因为以数字开头
    
  1. 举例一个转义序列。

    比如pintf函数里的格式串中常用的而代码\n,被称为转义序列。转移序列使字符串包含一些特殊字符而不会使编译器引发问题。

  2. 下面的printf函数调用产生的输出是什么?
printf("%6d,%4d \n",86,1040);
printf("%.4f \n",83.162);

输出结果:

    86,1040
83.1620