C复习1基础

本文从C语言的基础入手,回顾了从源代码到程序的编译过程,并深入探讨了C语言的关键字、变量、数据类型、运算符与表达式、基本程序结构及函数等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      本菜鸟是大四快毕业的学生,最近不知道怎么了特别迷茫,而且时而就不想学习了,感觉自己学过的东西很多但是很多都不能学以致用,可能还是代码量少了吧。无论是为了以后找工作还是为了回首一下大学生活,我觉得把自己大学学过的东西全部都复习一遍都很有意义,今天就首先复习c语言的知识吧。

    c语言是学习编程的第一门语言,大一学的当时用的编程软件是VC++6.0,后来在vs和gcc上也有编过,个人比较喜欢gcc,因为在gcc内置的库函数比较全一个Linuxc函数手册就能查完而且不懂还阔以man一下,vc上面进行一些高级编程的时候函数库在win api里面很难找,也可能是我太菜了吧,O(∩_∩)O哈哈~

 先说说源代码到程序的步骤吧,
和python这种解释性语言不一样,c语言需要经过编译才能执行,有3个步骤
1,预处理;2,编译;3,汇编;4,链接;
Linux下C语言程序的编译过程
而且生成的可执行文件还不是程序,程序的动态运行在内存中的,程序在内存中的的虚拟内存图如下图:

C 程序的内存空间布局

1,关键字 
一门语言最开始的就是单词和语法了,c语言也不例外,c语言一共有32个关键字,在变量命名时变量名不能与关键字同名。
auto声明自动变量
short声明短整型变量或函数
int声明整型变量或函数
long声明长整型变量或函数
float声明浮点型变量或函数
double声明双精度变量或函数
char声明字符型变量或函数
struct声明结构体变量或函数
union声明共用数据类型
enum声明枚举类型
typedef用以给数据类型取别名
const声明只读变量
unsigned声明无符号类型变量或函数
signed声明有符号类型变量或函数
extern声明变量是在其他文件正声明
register声明寄存器变量
static声明静态变量
volatile说明变量在程序执行中可被隐含地改变
void声明函数无返回值或无参数,声明无类型指针
if条件语句
else条件语句否定分支(与 if 连用)
switch用于开关语句
case开关语句分支
for一种循环语句
do循环语句的循环体
while循环语句的循环条件
goto无条件跳转语句
continue结束当前循环,开始下一轮循环
break跳出当前循环
default开关语句中的“其他”分支
sizeof计算数据类型长度
return子程序返回语句(可以带参数,也可不带参数)循环条件

   上面关键字的描述很少,但是每个关键字都有很多需要注意的地方,下面这篇博文比较详细

C语言关键字详解

2,变量
程序运行时其值不可以改变的量称为常量,const修饰的是变量只是其值不能通过指定的方式改变而已注意区别,常量包括直接常量和符号常量。
程序运行时值可以改变的量称为变量,变量应该有变量名、变量值、存储单元,使用之前必须先定义。

C语言常量与变量
 3,数据类型
  c语言的数据类型包含基本类型、构造类型、指针类型、空类型。基本类型的数值里面需要注意各个字节的长度,还有有时候会遇到大小端问题。
C语言基本数据类型简介
c语言大小端
 4,运算符与表达式
 数据运算有的算术,赋值,逻辑,关系,条件判断以及自增自减运算和基于二进制的位运算。下面这位网友的博文比较详细。
C语言运算符与表达式
 运算符是有优先级的,感觉在考"解释这是什么指针"的时候就是在考运算符的优先级。
C语言运算符的优先级和结合性一览表
 5,程序的3种基本结构
顺序 、选择(if, switch)、循环(for, while)。
6,函数
函数中需要注意的就是一般形参改变不会改变原本的值,而需要改变实参值时就要考虑用指针,通过地址改实参里面的值,而c++中可以用引用,但是这时又要区别指针和引用的区别了,还有就是c语言是没有引用的概念的,&符号只是取地址,*符号获取地址里面的值。
说到函数就要说一下函数回调了,函数回调就是由别人的函数运行期间来回调你实现的函数。下面博客详细说明了。C语言回调函数的定义和写法
 (⊙o⊙)…第一次写思路感觉一点都不清晰,感觉很多东西都很基础而且要写又太多了,所以很多都找了网上的博文,下一篇开始认真的多写一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值