王道C++DAY1

大纲

C(15天)

第一周 C语言基础(只讲重点难点,其他看讲义)

第二周 常用的数据结构和算法(线性结构、动态数组、栈、队列、哈希表、二叉树、位图、排序、二分查找)

        项目 C语言词法分析器(15天)

Linux(30天)

第三周 命令,编译工具链

  常见命令(vim、gcc、gdb)

  主要围绕系统编程     

第四周  文件 目录

   目录:递归处理目录(目录流):1递归复制文件夹 ,2递归删除文件夹,3遍历目录

   普通文件:如何操作文件描述符

进程/线程

  进程的基础源语(创建进程/fork、终止进程、执行程序)

  进程的通信原理(管道,信号量)

  线程:基本操作(创建、join、cancel、终止、清理函数)

      互斥: 锁            同步:条件变量

网络编程(socket)

项目:网盘

学习方法

道:

1编程是学习技能而非知识

2学习是反人性的东西

3优秀是一种习惯

术:

1提前预习 

2认真听讲

3完成作业

4及时复习

关于代码:

1注释不是越多越好,只在必要的地方写注释

2代码尽量美观简洁,及时分段。

建议:

1不要用百度(科学上网)

2英语很重要(多阅读原著)  

3品味很重要(学习好的代码,注意习惯和思维)  推荐《 C语言程序设计:现代方法》

心态:

1承认人之间的差距(接受自己比别人差)

2相信假以时日你会比别人强

就业方向

1前端

C/S(client)  客服端 :速度快,学习成本大,更新麻烦 。例: qt    

B/S(browser)网页端:速度慢,学习成本低,更新容易 。例: html5,js,css,vue,react

2后端

业务:数据库,Redis,消息队列,分布式

架构:微服务

3底层开发

操作系统内核,数据库,浏览器,编译器,数据引擎

4数据(需要掌握概率论、线代等)

大数据,AI

5嵌入式

汽车,IOT,芯片

6安全(需要掌握密码学等)

网络安全

为什么学习C语言

tiobe网站:基本处于第二。

C语言衔接低级语言(汇编、机器语言)和高级语言,但C语言更贴近硬件。

C-like语言:C++,java,rust,c#

C语言的起源:略

VS的操作

debug处改为:x86

基础结构:

1预处理指令

2main 函数

3返回值

常见的报错:

1编译错误:C开头(compile),如语法错误,scanf使用错误可提前定义宏。

2链接错误:LNK开头(link),如忘记加头文件、函数名错误。

3运行期错误:即BUG,一般为逻辑错误

编译和链接

分为4个步骤:预处理,编译,汇编,链接

进程的虚拟内存空间

进程:正在运行的一个程序。

程序经过以上4步后生成可执行文件,被操作系统加载到内存中得以运行,即一个进程。每个进程都有自己的虚拟内存空间。其结构如下图所示:

变量和赋值

变量:在执行程序过程中临时存储数据的数据单元,用于在产生输出前进行其他的操作。

类型:用于说明变量所存储数据类型的种类。每个变量必须有1个类型。类型定义了值的范围(通过编码和内存大小),定义了能够进行的操作。

使用变量前必须声明,格式为:   

                                               类型 变量名;

几个相同类型的变量可以合并声明。

通过赋值操作让变量获取值,int类型赋值整数,float\double赋值浮点数,通常在浮点数后加类型缩写字母,如:profit = 2150.48f;

变量被赋值后可以用来计算其他变量的值。

可以用printf函数显示变量的值,如:

printf("Height: %d\n", height);
      其中 %d 是占位符,我们称之为转换说明 (conversion specification),它是用来指明
变量 height 在显示中的位置。
      %d 仅适用于 int 类型变量,如果要显示 float 类型变量,需要用 %f 来代替 %d。默认情
况下,%f 会显示出小数点后 6 位数字。如果要强制 %f 显示小数点后 p 位数字,可以
把 .p 放置在 % 和 f 之间,如:
printf("Profit: $%.2f\n", profit);
C 语言没有限制 printf 可以显示变量的数量,我们可以同时显示多个变量的值。

初始化

没有默认值且尚未在程序中被赋值的变量是未初始化的,访问这样的变量可能会使编译器发生错误,因此我们可以在声明变量的同时赋值,赋值号右侧成为初始化式(initializer),同一个类型的变量可以在同一个语句中进行初始化,如:int height = 8, length = 12, width = 10;

标识符

标识符(identifier):对程序中变量、函数、宏等内容的命名。其必须以字母或下划线开头,可以包含数字、字母和下划线。

C语言中标识符区分大小写,常见的两种命名方法:

1.全部使用小写字母,单词间用_分隔,如:symbol_table, current_page, name_and_address

2.驼峰命名法:不使用下划线,单词首字母大写,如:symbolTable, currentPage, nameAndAddress

关键字

C编译器会特殊读取的32个名称,无法作为标识符使用:

数据类型关键字(12个):int,short,long,float,double,char,void,signed,unsigned,struct,union,enum。

控制语句关键字(12个):

循环(5个):for,do,while,break,continue

条件(3个):if,else,goto

开关(3个):switch,case,default

返回(1个):return

存储型关键字(5个):auto,extern,register,static,typedef

其他关键字(3个):const,sizeof,volatile

C99:restrict,_Complex,_Bool,inline,_Imaginary

  • 49
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值