走码观

或许,我们的生活只是某个疯子的杜撰罢了

CCCC

Yihui Xie / 2023-02-14


一、基本概念

1.以hello作为开始:

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    printf("Hello, world!\n");
    return 0;
}

以helloworld为例对写程序的思路提出如下要求:

  1. 头文件正确包含的正确性;
  2. 以函数为单位来进程程序编写;
  3. 声明部分+实现部分
  4. return 0一定要有,本意是结束当前函数,返回给父进程看的。
  5. 多用空格和空行!
  6. 添加注释

2.算法:解决问题的方法。(流程图,NS图,FSM有限状态机)

3.程序:用某些语言实现算法。

4.进程:

5.防止写越界、防止内存泄漏。谁打开谁关闭,谁申请谁释放。

二、数据类型、运算符和表达式

1、数据类型:(基本数据类型)

img

在 C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0 为假,非 0 为真。

C99 提供了 _Bool 型,所以布尔类型可以声明为 _Bool flag。

_Bool 依然仍是整数类型,但与一般整型不同的是,_Bool 变量只能赋值为 0 或 1,非 0 的值都会被存储为 1。

C99还提供了一个头文件 <stdbool.h> 定义了 bool 代表 _Bool,true 代表 1,false 代表 0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

C语言基本数据类型

类型 符号 关键字 所占位数 存储大小 值范围
整型 (signed) int 32 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
(signed) short 16 2 字节 -32,768 到 32,767
(signed) long 32 4 字节 -2,147,483,648 到 2,147,483,647
unsigned int 32 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
unsigned short 16 2 字节 0 到 65,535
unsigned long 32 4 字节 0 到 4,294,967,295
实型 float 32 3.4e-38~3.4e38
double 64 1.7e-308~1.7e308
字符型 char 8 1 字节 -128 到 127 或 0 到 255
unsigned char 8 1 字节 0 到 255

思考:

  1. 所占字节数

数据类型所占字节数随机器硬件不同而不同,C标准没有规定每种类型所占位数和字节数

  1. 存储区别

  2. 不同类型的数据间进行转换

  3. 特殊性: