【《C Primer Plus》读书笔记】第2章:C语言概述

【《C Primer Plus》读书笔记】第2章:C语言概述,第1张

【《C Primer Plus》读书笔记】第2章:C语言概述
    • 2.1 简单的C程序示例
    • 2.2 示例解释
    • 2.3 简单程序的结构
    • 2.4 提高程序可读性的技巧
    • 2.5 进一步使用C
    • 2.6 多个函数
    • 2.7 调试程序
      • 2.7.1 语法错误
      • 2.7.2 语义错误
      • 2.7.3 程序状态
    • 2.8 关键字和保留标识符
    • 2.9 关键概念
    • 2.10 本章小结

2.1 简单的C程序示例

first.c程序:

#include
int main(void)
{
    int num;
    num=1;
    printf("I am a simple ");
    printf("computer.\n");
    printf("My favorite number is %d because it is first.\n",num);

    //getchar();
    return 0;
}

运行结果:

2.2 示例解释


逐行分析first.c程序:

#include
// #include是一条C预处理器指令,#表明C预处理器在编译器接手之前处理这条指令
// #include的作用相当于把stdio.h文件的所有内容都输入该行所在的位置
// stdio.h是标准输入/输出头文件,包含printf()等函数
int main(void)
// C程序一定从main()函数开始执行
// int是main()的返回类型,这表示main()函数返回的值是整数,返回给 *** 作系统
// void表示没有传入main()函数的信息
{
    /*一个简单的程序*/
    /*
        希望能运行
    */
    int num;
    // 声明,int是C语言的一个关键字,表示一种基本的C语言数据类型
    // num是一个标识符,也就是一个变量、函数或其他实体的名称
    num=1;
    // 赋值
    printf("I am a simple ");
    // 当程序运行到这一行时,控制权被转给printf(),执行结束后返回给main()
    printf("computer.\n");
    // \n表示换行符
    printf("My favorite number is %d because it is first.\n",num);
    // %d是占位符,指名输出num值的位置
    //getchar();
    return 0;
    //C标准要求main()函数返回一个整数
}
}
2.3 简单程序的结构

程序由一个或多个函数组成,必须有main()函数。

函数由函数头和函数体组成。

  1. 函数头:包含函数名、传入该函数的信息类型和函数的返回值
  2. 函数体:被{}括起来,由一系列声明、语句组成

简而言之,一个简单的C程序的格式如下:

#include
int main(void)

{
    //语句
    return 0;
}
2.4 提高程序可读性的技巧
  1. 选择有意义的函数名
  2. 写注释
  3. 在函数中用空行分隔概念上的多个部分
  4. 每条语句各占一行

例:

#include 
int main(void) /*把2英寻(测水深的单位)转换为英尺*/
{
    int feet, fathoms;
    
    fathoms = 2;
    feet = 6 * fathoms;
    printf("There are %d feet in %d fathoms!\n", feet, fathoms);
    
    return 0;
}
2.5 进一步使用C

fathm_ft.c程序:

// fathm_ft.c
#include 
int main(void) /*把2英寻(测水深的单位)转换为英尺*/
{
    int feet, fathoms;

    fathoms = 2;
    feet = 6 * fathoms;
    printf("There are %d feet in %d fathoms!\n", feet, fathoms);
    printf("Yes,I said %d feet!\n", 6 * fathoms);

    return 0;
}
2.6 多个函数

two_func.c程序:

// two_func.c -- 一个文件包含2个函数
#include 
void butler(void);
int main(void)
{
    printf("I will summon the butler function.\n");
    butler();
    printf("Yes.Bring me some tea and writeable DVDs.\n");

    return 0;
}
void butler(void)
{
    printf("You rang, sir?\n");
}

我们发现,butler()函数在程序中出现了3次。

  1. 函数原型,告知编译器在程序中要使用该函数
  2. 函数调用
  3. 函数定义,即函数本身的源代码
2.7 调试程序 2.7.1 语法错误

略。

2.7.2 语义错误

下面简单介绍一下如何在VS Code中调试程序。

  1. 在编辑界面,行的左边单击一下,就可以设置一个断点
  2. 在右上角的运行按钮中选择调试C/C++文件
  3. 在左上角,能看到监控的变量
  4. 在正上方,有单步执行程序,点击后程序从一个断点执行到下一个断点

于是,我们逐步观察n , n2 , n3三个变量值的变化:

初始化,n , n2 , n3三个都未知。



n = 5,赋值,我们看到n变成5了。



n2 = n * n,赋值n2 = 5 * 5 = 25。



n3 = n2 * n2,赋值n3 = 25 * 25 = 625。



打印。



我们发现,n3不应该是n2的平方,而应该是:n3 = n2 * n(或n的三次方)才对。

2.7.3 程序状态

程序状态是在程序的执行过程中,某给定点上所有变量值的集合。

debug的三种办法:

  1. 脑补程序的逐步运行
  2. 在程序关键点插入printf(),做监视器
  3. 调试器
2.8 关键字和保留标识符

关键字是C语言的词汇,不能用作标识符(如,变量名)。

如果使用关键字不当,编译器会将其视为语法错误。

保留标识符包括那些以下划线字符开头的标识符和标准库函数名,如printf()。

C语言已经指名了它们的用途或保留它们的使用权,用它们表示其他意思可能会导致一些问题。



每个关键字的作用:C语言关键字

2.9 关键概念

程序员应该在符合C标准的编译器框架下,表达你希望程序如何完成任务的想法。

2.10 本章小结
  1. C程序由一个或多个函数组成。

    每个C程序必须有一个main()函数。

  2. C语言的大部分语言以 ; 结尾。

  3. 一门语言的语法是一套规则,用于管理语言中各有效语句组合在一起的方式。

  4. 关键字是C语言的词汇。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/673617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存