C语言从入门到精通(第5版)-----读书笔记

第一章 C语言概述

1.1 C语言的发展史

1.1.1程序语言简述

1、机器语言

低级语言,又称二进制代码语言。一种使用0、1表示的二进制代码编写指令以执行计算机操作的语言。

特点:计算机可以直接识别,不需要进行任何翻译。

2、汇编语言

为了减轻开发者使用二进制代码编程的痛苦,用英文字母或符号串来代替机器语言的二进制码,于是把机器语言变成了汇编语言。

缺点:依赖于计算机硬件,程序的可读性和可移植性都不是很好。

3、高级语言

由于汇编语言依赖于硬件体系,并且助记符号数量比较多,因此,产生了高级语言。常见高级语言:C、C++、Java等。

1.1.2 C语言的历史

C语言是一种面向过程的语言,同时具有高级语言和汇编语言的特点,C语言可以应用于不同的操作系统:Linux、Windows稍等

C语言在BCPL语言(B语言)的基础上发展和完善的,运行在AT&T的多用户、多任务的UNIX操作系统上。

B语言的创造者:丹尼斯·里奇和肯·汤普逊,11970年研制。

C语言创造者:丹尼斯·里奇,20世纪70年代初期。

1.2 C语言的特点

1、高效性

代码运行效率高,且具有良好的可读性和编写性。

2、灵活性

3、功能丰富性

4、表达力强

结构规范。

5、移植性好

在不同的操作系统下,只需要简单地修改甚至不用修改,即可进行跨平台的程序开发操作。

1.3 一个简单的C程序

分析:

1、第一行

一个编译预处理命令,声明了在程序编译之前要预先处理的内容。

作用:声明本段代码已包含标准输入/输出库函数stdio,后续可直接调用,不需要用户再进行定义。

其中,include称为文件包含命令,尖括号中的内容称为头文件或首文件。

2、第三行

作用:声明main函数有一个int整型返回值

函数中,这一部分称为函数头部份。

3、第4~7行

大括号以及其中的语句块构成了函数体。

其中,printf格式化输出函数,字符串的输出操作,包含在标准输入/输出库文件stdio中。前面做了包含声明,这里可以直接调用。

第六行,使main函数终止运行,并向操作系统返回一个整型常量0。0就是要返回的整型值。可以将return语句理解成main函数的结束标志。

一个函数通常分为函数头和函数体两部分。

\n,转义字符,作用是换行。

4、注释

// 单行注释

/* 多行注释 */

1.4 一个完整的C程序

情景:计算长方形的体积

某长方体,某高已经给出,为10。要求从控制台输入长方体的长和宽,通过输入的长、宽以及给定的高度,计算出长方体的体积。

cpp 复制代码
#include<stdio.h>
#define Height 10
int calculate(int Long, int Width);
int main()
{
    int m_Long;
    int m_Width;
    int result;
    printf("长方形的高度为:%d\n",Height);
    printf("请输入长度\n");
    scanf("%d",&m_Long);
    printf("请输入宽度\n");
    scanf("%d",&m_Width);
    result= calculate(m_Long,m_Width);
    printf("长方体的体积是:");
    printf("%d\n",result);
    return 0;
}
int calculate(int Long,int Width)
{
    int result=Long*Width*Height;
    return result;
}

分析

1、#define Height 10

使用**#define定义一个符号常量**。设定用符号Height代表数值10。在成功徐编译时,只要遇见Height标识符,就会被替换为数值10。满足高已给条件。

2、int calculate(int Long,int Width);

作用是对Calculate函数进行声明。在此处声明calculate函数,表示后面将给出calculate函数的具体定义内容。

3、int m_Long;

定义变量。变量的作用就是存储数值,使得计算机可利用变量进行计算。

4、scanf("%d",&m_Long);

scanf函数用来接收键盘输入的内容,并将输入的内容保存在相应变量中。在scanf函数的参数中,m_Long是之前定义的整型变量,作用是存储输入的信息内容;&符号是取地址运算符。

5、calculate函数

cpp 复制代码
int calculate(int Long,int Width)
{
    int result=Long*Width*Height;
    return result;
}

calcul函数是用户根据需要自行定义的函数,必须给出具体的函数体。

流程

1.5 C语言程序的格式

C程序都是从main函数开始执行的,即main函数无论放在什么位置都没有关系。

若将所有程序代码全部放入main函数中,整个程序的可读性和扩展性将会变得很差。

相关推荐
码匠许师傅几秒前
【C++三方组件】开篇总论:为什么需要以及如何选型?
开发语言·c++
cvby15 分钟前
C++11--右值引用和移动语义
开发语言·c++
en.en..27 分钟前
TCP/UDP 收发流程(网络字节序---函数讲解)
开发语言·php
名字还没想好☜40 分钟前
Go 用 json.Decoder 流式解析大 JSON:边读边处理不爆内存
开发语言·后端·golang·go·json
xiangyun6143 分钟前
【408数据结构 03】线性表与顺序表:C++手写SeqList
开发语言·数据结构·c++
Lsir10110_1 小时前
从按钮“点不动“讲起——深入理解 Qt 信号槽机制
开发语言·qt·信号处理
君科程序定做1 小时前
用 IDL 处理高分一号(GF-1 / GF-1B/C/D)数据
c语言·开发语言
敲代码的嘎仔1 小时前
用 Redis 合并写 + DelayQueue 延迟检测,把视频播放进度写库频率降到 1/60
java·开发语言·数据库·redis·缓存·音视频·高并发
代码中介商2 小时前
C++ 预约系统实战(一):项目总览与 C/S 架构设计
c语言·开发语言·c++
我叫汪枫2 小时前
RAG 进阶:切分、检索、重排序,以及它和 Agent、微调、MCP 都是什么关系
开发语言·python