C语言插本自学篇

🚀1.c语言知识点🚀
🚀2.计算机的存储🚀
🚀3.c语言的数据类型🚀
🚀4.常量与变量🚀
🚀5.数据类型转化🚀

1. c语言知识点

C语言基础

数据形式

变量

整型类型
  • 基本整型(int)
  • 短整型(short int)
  • 长整型(long int)
  • 双长整型(long long int)
  • 字符型(char)
  • 布尔类型(boolean)

计算机编译原理

基本整型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>



int main(){

// 变量定义方式
// 数据类型 变量名;

int a;
// 已十进制输入变量a
print("变量:%d",a);
// 取出变量的地址
printf("%x",&a);
// 已16进制的方式输出地址
printf("%p",&a);
return 0;
}

  • 一个英文字母占用一个字节
  • 一个中文字母占用两个字节
  • short int 的 范围: -32768~32767
  • short int 两个字节
  • 一个字节 8 位

常量

​ 常量和变量的区别:变量是“可读取,可写入 ”而常量是“只可读取”

​ 常量定义有两种和方式:一种是宏定义的,称为符号 常量,符号常量操作系统不会给它开辟空间,因此常量是不可以自增

​ 另一种是常变量

1
2
3
const int a = 100;
3.14e3 = 3.14*10^3;
3.14e-3 = 3.14*10^-3;
  • ①整型常量,例如 100, 0 , -9
  • ②实际常量有两种,
    • 十进制小数:12.0,-8.0
    • 指数形式:数字+E/e +数字
      • e 或者 E 前面必须有数;
  • ③字符常量有两种
    • 字符常量:’2’,’\0’,’A’
      • 字符常量只能 只用单引号,
      • 字符常量可与ASCII码表对照
      • 0 -> 48
      • a -> 97
      • A-> 6
  • ④转义字符 \
  • ⑤符号常量
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#define PI 3.15
int main() {
int a = PI*10;
char c = 'A';
// 输出 ’ 字符
char b = '\'';
printf("%c",c);
}

c语言的产生(高级语言)

​ 1972年~1973年在,美国的贝尔实验室,由Denis.M.Ritchie创建。

​ C语言的产生基于两个方面。

​ 一是为满足UNIX操作系统开发的需要

​ 二是为拉近高级语言雨硬件之间距离的需要

UNIX 1.0 汇编语言

​ 2.0 BCPL(B语言)

​ 3.0 C语言

c语言的特点(倒序)

  • (1)c语言简洁、紧凑,压缩了一切不必要的成分
  • (2)C语言运算丰富,将括号、赋值、强制类型转化、取变量地址
  • (3)C语言数据类型丰富,具有现代语言的各种数据类型;用户能扩充数据类型,能够思想各种复杂的数据结构,,完成各种问题的数据
    • 基本数据类型
      • char
      • int
      • float
      • double
  • (4)C语言是一种结构化程序设计语言,具有结构化语言产生要求的三种基本结构
  • (5)C语言是高级语言中的低级语言,c语言运行字节访问物理内存地址。能够进行为运算,思想汇编预压的绝大部分功能,预先字节对硬件进行操作
  • (6)C语言提供编译预处理处理机制,有利于大年程序的编写和调试
  • (7)c语言编译系统小,生成的代码质量高,程序的执行效率高
  • (8)C语言的输入和输出功能使用函数思想,编写的程序移植性好
  • (9)C语言语法限制不太严格,程序设计只有度大,对程序源要求较高
    • 计算机语言:
      • 1、机器语言
      • 2、汇编语言
      • 3、高级语言

程序设计语言

(一) 程序语言 基础

​ 算犯法和数据结构是程序 最主要的两个方面:

​ 程序=算法+数据结构

算法可以看作是有限哥步骤组成的用来解决问题的具体过程

​ 三种结构:顺序结构、选择结构和循环结构

​ 数据结构是从问题中抽象出来的数据之间的关系,它代表信息的一种组织方式、

​ 2. 程序设计语言

​ 计算机语言是程序设计的最重要的工具,它是指计算机能够接受和处理的且具有一定格式的语言

​ 计算机语言:机器语言、汇编语言、高级语言

总结

1
2
3
4
5
6
7
8
9
1、计算机语言分为:机器语言,汇编语言,高级语言
2、机器语言和汇编语言被称为低级语言
3、能够被计算机字节执行的语言是机器语言
4、c语言是高级语言,不能被直接执行,需要进行编译
5、c语言编译过程

——编辑 ——> 源程序(.c 文本文件)——> 编译——> 目标文件(.obj二进制文件)——>链接 ——> 可执行文件(.exe二进制文件)

其中源程序,目标文件不饿能被计算机直接执行,只有可执行给文件能够被直接执行

c程序的结构和语法成分

一、c程序的结构

(1、)函数(function)

  1. C语言的结构
  2. C语言的程序由诺干函数组成,函数是C程序的基本单位
    1. 必须有且只能有一个主函数main(),主函数的名字为main,主函数是一个程序的入口,也是一个程序的出口※※※
    2. 可以是系统预定义的标准函数,入scanf函数,printf函数等
    3. 大多数函数由程序员根据实际问题的需要进行定义,函数之间的平行关系,基于此,c语言被称为函数式语言
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdio.h"
// 行注释 //
/*
块注释
*/
void main() {// 主函数(主函数有且仅有一个)、函数头
// 函数体
int a, b, sum;
scanf("%d%d",&a,&b);
sum = a + b;
printf("%d",sum);
}
// 自定义函数
int add (int m, int n ) {
// 函数体
}
C语言的结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdio.h"  // ①
/*
<> : 在系统环境中进行查找头文件
"" : 在当前项目中进行查找头文件
stdio.h : 代表 基本输入输出头文件 可以使用scanff printf 等IO库
*/
int main(){ // ② 主函数的 函数头

int a,b; // ③ 定义整型变量 a b
int sum; // 定义整型变量 sum
printf("请输入两个整数a,b"); // 输出字符
scanf("%d,%d",&a,&b); // 输入 a + b 的值
sum=a+b; // 将a 和 b 的 值 赋值给 sum
printf("和=%d\n",sum); // 打印
}
// 输入数据:1999.55
// 运行结果:和=2004
2. 函数的构成

​ 函数由 函数头(函数的说明部分)与函数体(函数的语句部分)两部分组成

​ (1)函数头给出函数的特征描述,包括函数的属性,类型、名字、参数以及参数的类型

​ (2)函数体给出函数功能思想的数据描述(声明部分)和操作描述(执行部分)

(二)语句

  1. 语句是组成程序的最小单位,函数功能的实现由诺干条语句完成
  2. 语句由诺干关键字加以标识,如if-else语句、do-while语句
  3. c语言本身没有输入/输出语句,c语言的输入/输出操作由scanf函数和printff函数等函数库完成
  4. c语言语句必须以分号结束
  5. 只有分号构成的语句的语句叫空语句

(三)其他

  1. 预处理命令
    1. c程序开始往往由 # 开头的命令,它们是预处理指令,如:include “stdio.h” 用以指明包含的文件
  2. 程序的注释
    1. 多行注释(块注释):/**/
    2. 单行注释 ://
  3. c程序的书写
    1. 一行一般写一条语句。也可以一行 写多条语句
    2. 整个程序采用紧缩格式书写。标识同一层次的语句行对齐
    3. 在程序总中恰当地使用空行,分隔程序中的语句块,增加程序的可读性

二、基本语法成份 (标识符的命名)

(一) 字符集

​ 字符是可以区分的最小和符号,构成程序的原始基础

​ c语言字符集是ASCII字符值

(二)标识符

​ 标识符在程序中用来标识各种程序成份。

​ 命名程序中的一些实体,如变量、常量、函数、类型、标识等对象的名字

​ c语言规定,标识符,必须以英文字母或下划线开头,是字母、数字、下划线的序列

  1. 标识符
    1. 关键字(小写构成)
    2. 标准标识符(编译系统中已经存在的scanf等标识符)
    3. 自定义标识符(自定义的函数名、变量名)
  2. 命名规则
    1. 只能由 数字、字母、下划线 构成
    2. 数字 不能开头
    3. 严格区分大小写
    4. 关键字不能使用(用户自定义标识符)

(三)关键字

​ 关键字又称为保留字,由系统提供,用以标识特定的语法成份,如类型名称int float 语句特征 if switch while 运算符号sizeof等,是构成c语言的语法基础

关键字
char(字符型) int(整型) float(单精度浮点型) double(双精度浮点型) void(空类型)
long(长) short(短) signed(由符号型) unsigned(无符号型) if(如果)
else(否则) switch(开关) case(案例) default(默认) while(循环)
for(循环) break(跳出) continue(继续) goto(跳转) return(返回)
sizeof(求字节大小) const(常量) volatile() struct(结构体) enum(枚举)
typeof(起别名) auto(自动) static(静态) extern(外部) register(寄存器)
do(循环搭配) union(共用体)

(四)运算符

​ 运算丰富实际上可以认为是系统定义的函数名字,这些函数的作用用于运算对象

​ +、-、&、>、sizeof字节数运算符号…..

根据运算对象的个数不同,分为

  1. 单目运行符
    1. !a ——> !为运算符 ,a 为 操作数
  2. 双目运算符
    1. a+b 双目
  3. 三目运算符
    1. _?__:\ —-> 10+b>10?5:5

小结

1
2
3
4
5
6
7
8
1、c语言程序由诺干个函数组成,函数是c程序的基本单位
2、必须由一个且只能有一个主函数main(),主函数是一个程序入口,也是一个程序的出口
3、语句是组成程序的最小单位
4、标识符命名规则
(1)只能由数字、字母、下划线组成
(2)不饿以数字开头
(3)严格区分大小写
(4)不能以关键字命名