
第一讲c语言基础C语言基础一、C语言是什么1. C语言是一种计算机语言还有C、python、java等用于人与计算机进行交流。2. C语言是一种编译型语言必须通过编译器编译和链接器链接生成二进制的可执行文件。3. 简单理解人们通过计算机语言在特定的编译器写程序由编译器转化成计算机可识别的二进制文件给计算机下达指令让计算机工作 。二、C语言的历史和辉煌三、编译器一编译器的选择编译器用于将计算机语言转换成机械语言常见的有msvc微软、clong苹果、gcc谷歌等。**集成开发环境IDE*集成了编译器的功能还提供代码编辑器、编译器、调试器等是一体化开发软件服务套装。例如: vs2022集成msvcxcode集成clongCodeBlocks集成gccdevc集成gccclion集成CMake。二编译器使用注意1. C语言代码放在.c后缀的文件中即源文件一般一个工程由多个源文件组成例如源文件add.c或者test.c等。2. 源代码里需要以.h后缀的文件头文件开头例如 #includestdio.h 。3. 要实现计算机语言的执行需通过编译器编译和链接。四、第一个代码程序运行快捷键ctrlf5五、main函数主函数一介绍1. main函数是程序的入口程序从main函数开始执行直到 return 0 结束。2. 每个C语言程序都要有一个main函数并且main函数有且只能有一个即便有多个.c文件。3. “int main”中的“int”表示函数返回类型为整数。二常见错误1. main写成mian。2. main后面的()漏掉。3. 代码不能用中文符号例如括号和分号。4. 一条语句结束后要有分号。六、printf和库函数一printf概念:printf是一个库函数用到头文件 stdio.h **作用:**将数据按照指定格式输出到标准输出即控制台其中 %d 、 %c 等是占位符会被后面的值替换。简单理解将数据打印到屏幕。二库函数目的不再重复实现常见的代码提高开发效率。内容C语言标准规定一组函数由不同的编译器厂商根据标准进行实现这些函数组成函数库称为标准库库函数。注一个系列的库函数通常声明在一个头文件中。七、关键字介绍保留字一概念C标准定义的保留字具有特殊意义的语法含义例如int、if、return 。二种类常见32个关键字注1. 关键字具有特殊意义保留给C语言使用。2. 程序员创建标识符不能和关键字重复。3. 关键字不能自己创建。八、字符和ASCII编码一字符产生原因计算机的数据都是以2进制的形式存储需给每一个字符编一个2进制序列。注在键盘敲出的各种字符如a、q、C语言中字符用单引号括起来。二ASCII编码来源美国国家标准学会(ANSI)为了方便通信、避免混乱出台了一个标准ASCII编码。特别记忆1. 字符A - Z的ASCII码值从65 - 90。2. 字符a - z的ASCII码值从97 - 122。3. 对应的大小写字母差是32。4. 数字字符0 - 9的ASCII码值48 - 57。5. 换行 /n 的ASCII值是10。6. ASCII码值从0 - 31的32个字符为不可打印字符无法在屏幕观察。九、字符串和/0概念字符串是字符组成的序列。printf(“%s/n”, “hello c”);printf(“hello c”);注1. 字符串末尾隐藏 /0 字符这个是字符串的结束标志。2. 使用双引号括起来的一串字符叫字符串例如abcde。3. 字符串的打印格式是 %s 也可以直接打印。十、转义字符一通义转变原来意思的字符。二种类1. /? 在书写连续多个问号时使用防止被解析成三字母词在新的编译器上可能无法验证。2. /’ 用于表示字符常量。3. / 用于表示一个字符串内部的双引号。4. // 用于表示一个反斜杠防止被解释为一个转义序列符。5. /a 警报会使终端发出警报声或出现闪烁或两者同时发生。6. /b 退格键光标回退一个字符但不删除字符。7. /f 换页符在现代系统上行为类似 /v 。8. /n 换行符。9. /r 回车符光标移到同一行的开头。10. /t 制表符光标移到下一个水平制表位通常是下一个4/8的倍数。11. /v 垂直分隔符光标移到下一个垂直制表位通常是下一行的同一列。12. /ddd ddd表示1 - 3个八进制的数字如 /130 表示字符X。13. /xdd dd表示2个十六进制数字如 /x30 表示字符0。14. /0 null字符代表没有内容是字符串的结束标志ASCII码值是0 。3举例十一、语句和语句种类一语句C语言代码由一条一条语句构成。二种类1. 空语句一个分号就是一个空语句在需要语句但不需要内容时使用。2.表达式语句在表达式后加分号的语句。3. 函数调用语句函数调用后加分号的语句。4. 复合语句由一对花括号 {} 括起来多个语句的集合。5. 控制语句用于控制程序的执行流程以实现程序的各种结构方式。C语言支持顺序结构、选择结构、循环结构三种结构有九种控制语句。条件判断语句分支语句if语句、switch语句。循环执行语句do while语句、while语句、for语句。转向语句break语句、goto语句、continue语句、return语句。十二、注释解释对代码进行说明帮助理解代码。注1. 对实际代码没有影响。2. 不要过度解释。一2种形式1. ///*/ 形式*- 好处可以插在行内。- 坏处不能嵌套注释从 //* 开始遇到第一个 /*/ 就结束注释。2. // 形式- 好处可以放在行首也可以放在这一行结尾。- 坏处这种注释只能是单行的。注无论哪种注释都不能放在双引号里双引号里面的注释符号会成为字符串的一部分被解释为普通符号失去注释作用。特别提醒编译时注释会被替换成空格如 max//注释哈//min 会变成 max min 而不是 maxmin 。学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你**读者福利 |**CSDN大礼包《网络安全入门进阶学习资源包》免费分享**安全链接放心点击**知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。1、知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。2、 部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解3、适合学习的人群一、基础适配人群零基础转型者适合计算机零基础但愿意系统学习的人群资料覆盖从网络协议、操作系统到渗透测试的完整知识链开发/运维人员具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能实现职业方向拓展或者转行就业应届毕业生计算机相关专业学生可通过资料构建完整的网络安全知识体系缩短企业用人适应期二、能力提升适配1、技术爱好者适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者2、安全从业者帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力3、合规需求者包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】*适合对攻防技术有强烈兴趣希望掌握漏洞挖掘、渗透测试等实战技能的学习者2、安全从业者帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力3、合规需求者包含等保规范、安全策略制定等内容适合需要应对合规审计的企业人员因篇幅有限仅展示部分资料完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】