抽象轻松的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,具有换行的作用

相关推荐
Shadow(⊙o⊙)1 分钟前
C++11并发支持库
开发语言·c++
一技安身2 分钟前
【java】JDK8 + JDK17 绿色解压共存方案-全程不修改任何系统环境变量
java·开发语言
小师兄吃牛肉40 分钟前
C语言基本语法汇总
c语言
hudd6681 小时前
JavaEE 初阶 - 多线程(初阶)
java·开发语言·java-ee
I Am a robert girl1 小时前
稀有事件估计的迭代去对齐:从源码视角拆解重要性采样新范式
开发语言·python·机器学习·重要性采样·蒙特卡洛方法·稀有事件估计
无忧.芙桃1 小时前
C++ 并查集详解:原理、实现与应用
c语言·c++·算法·leetcode
golang学习记1 小时前
rust开发,选VS Code还是RustRover?
开发语言·后端·rust
打工仔折腾 AI2 小时前
从零写一个CAD 05:以鼠标为中心的滚轮缩放,招法能复用但顺序不能反
开发语言·后端·python·性能优化·计算机外设·swift·ai agent 实战
CarIise2 小时前
Java实训阶段查漏补缺复习笔记1
java·开发语言·笔记
事圆则缓2 小时前
Kotlin 泛型方差实战:out、in、星投影与类型擦除
android·开发语言·kotlin