抽象轻松的C语言

cpp 复制代码
#include <stdio.h> /* 预处理指令*/
/* 函数 */
int main()
{
    int log = 3.14;
    printf("hello word * %d\n easy", log);
    getchar();/* 获取键盘输入的字母,在这个程序中的作用是防止程序瞬间关闭 */
    return 0;
}

上一篇说过,C程序是C语言的标准化,模板化的一个发展,也就保留了c语言的核心要素和语句

C程序的两大核心------预处理指令与函数

C语言中的四要素、六语句

四要素:关键字,运算符,标识符,数据

六语句:标识语句,复合语句,表达式语句,选择语句,迭代语句,跳转语句

标准化了这四要素和六语句的语法

例如四要素,上面的例子占了4个,第一个关键字:main,printf,getchar

运算符:= % \

标识符:log

数据:3.14

这四要素标准化后可以分为可控制和不可控制两类型

标识符、数据与运算符、关键字

红字已经被标准化了,这些都有固定的值,改变不了(如果你想改变可以,成为标准化的规划人)

标识符是指变量名,函数名,他们有一套独特的标准,由字母,数字,下划线_组成

不能用数字作为开头,不能用数字作为开头,不能用数字作为开头

如果用数字作为开头就会产生bug,报错,因为编译器看不懂你所表达的意思,产生了信息空白

将上面的程序分成一块一块来看

#include <stdio.h> 预处理指令,准备任务,为函数的使用做准备,这指令包含了输出和输入

有人会问,为什么不像别的语言一样输入和输出直接放入编译器中,而是用预处理指令,这就是c语言的哲学了,简称C哲学,有时候是不需要输入输出的,换条指令,就可以减少c语言的内存占比,提升性能,这也是C语言的一大特性,这一特性为C在嵌入式领域中大放光彩奠定了一部分基础

函数:可重复使用的一块代码区域,由函数名+()+语句组成

main(),printf(),getchar()

main()------主函数,在标准化中,会优先运行该函数

printf()------输出函数,可以将括号内的信息输出

getchar()------输入函数,获取键盘的输入的第一个字母(字符串)

语句呢?只有main()有语句,为什么剩下的两个看不见语句?语句都在预处理指令中,预处理指令就相当于一个超级的库,库里面的内容就是一堆函数,怎么用库,怎么用函数,例如你用一个没有输出输入的库,那上面的输出输入就会报错。类似于一种方言,一种C语言的独特方言,库对应地区,方言对应地区的语言,但是还是以C为主的方言

语句:是由四要素组成的

int log = 3.14;

有标识符,运算符,关键字和数据

return 是返回一个值,这个值就是函数的结果,例如输出语句,printf()在库里面有return 输出内容这一类代码

每一个函数都相当于一个有出口的迷宫,这个出口就是return

特殊的关键字

%d,这个意思是,以何种类型的信息

\n,具有换行的作用

相关推荐
LorryJovens25 分钟前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
LuminousCPP33 分钟前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
Brilliantwxx1 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
wuyk5552 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
卢锡荣2 小时前
国产PD3.1全集成Type-C管控芯片LDR6020P
c语言·开发语言
Freak嵌入式2 小时前
Pico UART 数据收发实战:硬件配置、MicroPython 编程
java·开发语言·单片机·嵌入式硬件·生活
Casual2 小时前
【网络基础进阶】:看懂子网划分与 VLAN
开发语言·网络·php
你压到我腿毛了6663 小时前
C语言冒泡算法(Bubble sort)
c语言·数据结构·算法
cfm_29143 小时前
线程池阻塞队列
java·开发语言
xxwxx__3 小时前
C++ list 深度解析:从使用原理到模拟实现
开发语言·c++·list