还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言基本语法C语言是结构化程序设计语言,具有高效、灵活、可移植等特点它被广泛应C用于操作系统、嵌入式系统、游戏开发等领域语言简介C功能强大简洁高效跨平台性就业前景好语言可用于各种应用,包括语言语法简洁,代码高效,语言可用于不同的操作系统语言是许多软件开发岗位的C C CC操作系统、数据库、游戏等运行速度快,例如Windows、Linux、基础,拥有良好的就业前景等Mac OS语言历史和发展C现代语言C1ANSI标准,广泛应用KR C2贝尔实验室,年1978早期语言C3肯汤普森,年·1972语言起源于世纪年代初的贝尔实验室,由丹尼斯里奇开发C2070·它最初是为了开发操作系统而设计,并迅速成为一种流行的系统编程语言Unix年,布莱恩柯林汉和丹尼斯里奇出版了《程序设计语言》一书,也被称为1978··C“KR C”随着语言的普及,于年发布了语言标准,即C ANSI1989C ANSIC语言编程环境搭建C选择编译器1常见的语言编译器包括、、等根据个人C GCCVisual StudioCode::Blocks喜好和项目需求选择合适的编译器安装编译器2根据选择的编译器,下载安装程序并按照提示进行安装安装过程中需要注意环境变量的配置,以便在命令行中使用编译器编写代码3使用文本编辑器或集成开发环境()创建语言源代码文件通常提供IDE CIDE代码补全、语法高亮等功能,方便代码编写语言基本数据类型C整型浮点型int float用于表示整数,例如、、语言提供不同大小的整型,用于表示带有小数点的数字,例如、语言提供两种10-50C
3.14-
2.5C例如、、浮点类型,和short intlong floatdouble字符型布尔型char bool用于表示单个字符,例如、、字符型数据用单引号括用于表示真或假,其值只能为或A btrue false起来变量和常量声明变量声明常量声明12变量是程序中用来存储数据的常量是指在程序运行期间值不容器,在使用变量之前需要先会改变的数据,使用关键字声明其类型和名称const声明常量数据类型标识符34C语言中常用的数据类型包括变量和常量的名称称为标识符整数、浮点数、字符、字符串,标识符必须以字母或下划线等,每种类型占用的内存空间开头,后面可以跟字母、数字不同或下划线运算符及表达式算术运算符关系运算符•加法+•等于==•减法-•不等于!=•乘法*•大于•除法/•小于•取余%•大于等于=•小于等于=逻辑运算符位运算符•逻辑与•按位与•逻辑或||•按位或|•逻辑非!•按位异或^•按位取反~•左移•右移输入输出函数标准输入函数标准输出函数标准输入函数用于从键盘读标准输出函数用于将格式化`scanf``printf`取数据,并将其存储到指定的变量中的数据输出到屏幕它可以输出各种数它可以读取各种数据类型,包括整数、据类型,并支持格式化输出,例如设置浮点数、字符和字符串输出精度、添加空格和换行符等语句和代码块语句代码块语句类型语句是语言的基本执行单位,表示一个代码块由一对花括号包围,包含多条语语言支持多种类型的语句,包括表达式C{}C完整的命令句,用于组织程序逻辑语句、控制语句、函数调用语句等条件语句if-else条件判断1判断条件是否满足执行代码2如果满足,执行相应代码块否则执行3否则,执行其他代码块语句是语言中最重要的控制流程语句之一它允许程序根据条件的不同,执行不同的代码路径,使程序能够根据不同的情况if-else C做出相应的反应多分支语句switch定义switch语句用于根据表达式的值执行不同的代码块语法使用case关键字匹配表达式值,执行相应代码块作用简化多分支条件判断,提高代码可读性注意事项每个case语句后要使用break语句,避免执行后续case代码循环语句while循环结构while循环是一种基本的循环结构,用于反复执行一段代码,直到满足特定的条件为止循环条件循环条件是一个布尔表达式,在每次循环开始之前都会进行评估如果条件为真,则执行循环体;如果条件为假,则退出循环循环体循环体包含要重复执行的代码,它将在每次循环中执行循环计数器在循环中通常使用一个变量作为循环计数器,用于跟踪循环执行的次数循环语句do-while循环条件1循环体执行前判断条件循环体2执行循环操作循环执行3至少执行一次循环循环语句保证循环体至少执行一次,无论循环条件是否满足它在循环体执行完后才判断条件是否满足如果条件为真,do-while则继续执行循环体;如果条件为假,则退出循环循环语句for123初始化条件判断循环体在循环开始前,先初始化一个循环计在每次循环开始时,会判断循环计数如果条件满足,则执行循环体内的代数器器是否满足条件码,然后更新循环计数器跳转语句和break continue语句语句break continue用于立即退出循环它跳出循环,执行用于跳过循环中的当前迭代,继续执行循环后面的语句下一个迭代它不会退出循环例如,在循环中,如果满足某个条例如,在循环中,如果满足某个条件while for件,可以使用语句跳出循环,可以使用语句跳过当前循环break continue的剩余部分,进入下一个循环迭代函数定义和调用函数定义1定义函数的结构和行为函数调用2在代码中使用定义好的函数参数传递3将数据传递给函数返回值4函数执行后的结果函数是语言中重要的程序模块,通过封装代码,可以提高代码可读性、可维护性和可复用性C函数参数传递值传递地址传递12将实参的值复制到形参中对将实参的地址传递给形参对形参的修改不会影响实参形参的修改会影响实参引用传递指针传递34将实参的引用传递给形参对将实参的地址传递给形参,但形参的修改会影响实参使用指针访问实参函数递归函数调用自身递归条件栈空间函数自身调用自身,形成递归调用链递归调用必须有明确的退出条件,防止无递归调用会占用栈空间,递归层级过深会限递归导致栈溢出一维数组定义和操作一维数组定义1语言中定义一维数组需要指定数组类型、数组名和数组元素个C数,使用方括号来表示数组大小例如定义了int arr
[10];一个名为的整数型数组,可以存储个整数arr10数组元素访问2通过数组名和下标来访问数组元素下标从开始,表示数组0中第一个元素的下标为,依次类推0数组初始化3在定义数组的同时可以进行初始化,用花括号括起来,用逗号隔开每个元素的值例如初始化了int arr
[5]={1,2,3,4,5};一个包含个元素的数组,元素值分别为到515多维数组定义和操作二维数组1多个一维数组组成定义方法2数据类型数组名行数列数[][]访问元素3数组名行号列号[][]多维数组4二维数组的扩展多维数组用于存储表格数据,例如学生成绩表访问多维数组元素,需要指定其行号和列号字符串处理字符串定义字符串操作字符串是一系列字符的集合,用常见的字符串操作包括字符串连双引号括起来表示,例如接、比较、查找、替换、分割、Hello,world!长度计算等字符串函数字符串数组C语言提供了丰富的字符串函数可以使用字符数组存储字符串,,例如strcpy、strcat、每个字符占用一个数组元素,方strlen、strcmp等,简化便对字符串进行逐字符访问和处字符串操作理指针概念和定义内存地址指向数据类型指针运算指针变量存储变量的内存地址指针变量类型必须与它所指向的变量类型指针可以进行加减运算、比较运算以及赋一致值运算等操作指针运算加减运算指针相减指针加减整数可以移动指针指向两个指向同一数组的指针相减,的地址,每个指针类型移动的字结果是两个指针之间元素的个数节数不同,比如型指针每次,例如指向第个元素的指针减int5移动个字节去指向第个元素的指针,结果42为3指针比较指针运算注意事项指针可以进行比较大小,判断两指针运算需谨慎,错误的指针运个指针是否指向同一块内存区域算会导致程序崩溃,需要明确指,注意只能比较同一数组或同一针类型以及指针所指向的内存区内存区域内的指针域指针和数组数组元素地址数组名表示数组首元素地址指针访问元素指针可以访问数组元素,通过指针加减运算指针和数组联系指针和数组密切相关,指针可用于动态数组动态内存管理堆内存内存分配函数
1.
2.12堆内存是程序运行时动态分配malloc、calloc、的内存区域,用于存储程序在realloc和free等函数是运行过程中创建的变量C语言提供的用于动态内存分配的函数内存泄漏内存溢出
3.
4.34忘记释放不再使用的内存会导超出分配内存范围的访问会导致内存泄漏,进而影响程序性致内存溢出,可能导致程序异能甚至崩溃常行为或安全漏洞结构体定义和使用结构体定义结构体使用结构体是用户自定义的数据类型,可以创建结构体变量时,需要使用结构体类将不同类型的数据组织在一起,方便管型名声明变量理和操作可以使用点运算符访问结构体成员变.使用struct关键字定义结构体,并指定量结构体名称和成员变量结构体可以作为函数参数和返回值,方结构体成员变量可以是任何数据类型,便在程序中传递结构体数据包括其他结构体枚举类型定义枚举类型使用枚举类型枚举类型的优点枚举类型定义了一组具有特定名称的整型使用枚举类型可以提高代码可读性和可维提高代码可读性•常量护性,并增强代码安全性增强代码可维护性•提高代码安全性•联合体内存共享节省空间12联合体成员共享同一内存空间联合体用于存储不同类型的数,不同成员在同一时间只能使据,但只占用最大成员所需的用一个大小数据类型转换应用场景34联合体允许在不同数据类型之联合体常用于数据结构设计、间进行转换,方便数据的处理内存优化和硬件访问等方面文件读写操作文件打开使用fopen函数打开文件,指定文件路径和打开模式(读、写、追加等)文件读写使用fgets、fscanf等函数从文件中读取数据,使用fputs、fprintf等函数向文件写入数据文件关闭使用fclose函数关闭已打开的文件,释放资源错误处理检查文件打开是否成功,并在必要时处理错误,例如打印错误信息或退出程序预处理命令常用预处理命令常用的预处理命令包括、、、、#include#define#ifdef#ifndef和#else#endif代码预处理预处理命令在程序编译之前执行它们用于简化代码、提高可读性和可维护性总结和编程建议实践练习阅读代码练习是提高编程能力的关键通阅读优秀的C语言代码能帮助您过不断编写代码,调试错误,您学习最佳实践,了解代码规范,能加深对C语言的理解,掌握编提升代码质量程技巧坚持学习编程是一个持续学习的过程保持学习热情,不断学习新知识,才能不断进步,成为优秀的语言程序员C。
个人认证
优秀文档
获得点赞 0