博客摘录「 C语言程序设计知识点总结归纳(全书)」2023年4月28日

C知识点总结归纳目录第一章 程序设计和C语言一、C的入门小概念二、程序设计的问题三、首先要搞清楚编译器、编辑器和IDE的区别第二章 算法——程序的灵魂一、程序=算法+数据结构二、算法的特性三、怎样表示一个算法四、结构化程序的设计方法第三章 C程序设计——顺序程序设计一、常量和变量1、常量2、变量3、常变量4、标识符5、数据类型二、运算符和表达式三、C语句1、关于#include的用法2、关于#define的用法3、关于%的使用方法四、数据的输入输出1、相关概念2、用printf函数输出数据3、字符输入输出函数第四章 选择结构程序设计一、选择结构和条件判断(略)二、用if语句实现选择结构(略)三、关系运算符和关系表达式四、逻辑运算符和逻辑表达式(略)五、条件运算符和条件表达式(略)优先级一览表六、选择结构的嵌套(略)七、用switch语句实现多分支选择结构(略)第五章 循环结构设计一、关于循环结构中break、continue、return和exit的区别二、第五章课后习题答案第六章 利用数组处理批量数据一、怎样定义和引用一维数组1、 怎样定义一维数组2、怎样引用一维数组元素3、一维数组的初始化二、怎样定义和引用二维数组1、怎样定义二维数组2、怎样引用二维数组的元素3、二维数组的初始化三、字符数组1、怎样定义字符数组2、字符数组的初始化3、怎样引用字符数组中的元素4、字符串和字符串结束标志5、字符数组的输入输出6、使用字符串处理函数四、第六章课后习题答案第七章 用函数实现模块化程序设计一、为什么要用函数二、怎样定义函数1、为什么要定义函数2、定义函数的方法三、调用函数1、函数的调用形式2、函数调用时的数据传递3、函数调用的过程4、函数的返回值四、对被调用函数的声明和函数原型五、函数的嵌套调用(略)六、函数的递归调用(略)七、数组作为函数参数1、数组元素做函数实参2、一维数组名作函数传递3、多维数组名作函数参数八、局部变量和全局变量1、局部变量2、全局变量九、变量的存储方式和生存期1、动态存储方式和静态存储方式2、局部变量的存储类别3、全局变量的存储类别4、存储类别小结十、关于变量的声明和定义十一、内部函数和外部函数1、内部函数2、外部函数十二、第七章课后习题答案第八章 善于利用指针一、指针是什么二、指针变量三、通过指针引用数组四、通过指针引用字符串五、指向函数的指针六、返回指针值的函数七、指针数组和多重指针八、动态内存分配与指向它的指针变量九、指针的小结第九章 用户自己建立数据类型一、结构体1、定义2、定义结构体类型的变量3、结构体变量的初始化和引用4、结构体数组5、结构体指针二、共用体1、定义2、区别3、特点三、枚举类型1、定义2、要点四、用typedef声明新类型名第十章 C语言文件的读写一、字符读写1、fputc()函数;2、fgetc()函数三、字符串读写1、fputs()函数2、fgets()函数二、数据块读写1、 fread()数据块读函数2、fwrite()数据块写函数三、格式化读写1、fprintf()函数2、fscanf()函数打完收工!第一章 程序设计和C语言一、C的入门小概念1. 什么是计算机语言?机器语言即二进制。计算机发展的初期,一般计算机的指令长度为16,即以16个二进制数组成的一条指令。计算机能够直接识别和接受的二进制代码成为机器指令。这种机器指令的集合称为机器语言。2.符号语言(又称为符号汇编语言或汇编语言)使用一些英文字母和数字表示一个指令。如:ADD A,B 表示将寄存器A中的数与寄存器B中的数相加,放到寄存器A中。这种符号语言计算机无法直接识别,需要用汇编程序软件把符号语言转为机器指令。即所谓的代真或汇编。3.高级语言20世纪50年代世界上第一个高级语言出世——FORTRAN语言。由于其功能更强大,任何计算机都适用,且距离具体计算机较“远”故称为高级语言。但计算机无法直接识别高级语言需要经历以下步骤才能让计算机识别:源程序(高级语言编译)编译程序目标程序(机器指令的程序)注:高级语言经历经历了一下发展阶段:非结构化语言(如:BASIC/FORTRAN/ALGOL)结构化语言(如:C/QBASIC/FORTRAN 77)面向对象的语言(如:C++/C#/Visual Basic/Java)4.C语言的主要优点语言简介紧凑、方便灵活;运算符丰富;数据类型丰富;具有结构化的控制语句,即C语言是完全模块化和结构化的语言;语句限制不太严格,程序设计自由度大;C允许直接访问物理地址,进行位(BIT)操作,可直接对硬件进行操作;可移植性好;生成目标代码质量高,程序执行效率高。5.C语言程序的结构一个程序由一个或多个源程序文件组成源程序文件可以包括以下3个部分:①预处理指令(#include <stdio.h>);②全局声明;③函数定义。函数是C语言的主要组成部分一个C程序是由一个或者多个函数组成的,其中必须包含一个main函数(有且仅有一个)一个函数包括两个部分函数的首部和函数体(函数体由声明部分和执行部分组成)程序总是从main函数开始执行的(可以放置到任何位置)程序中要求计算机操作是由函数中的C语句完成的在每个数据声明和语句的最后必须有一个分号C语言本身不提供输入输出语句程序应当包含注释6.C程序的步骤与方法流程总结如下编译连接处理xx.c文件xx.obj文件xx.exe文件二、程序设计的问题从确定问题到最后完成任务,一般经历以下几个工作阶段:流程总结如下问题分析设计算法编写程序对源程序进行编辑.编译和连接运行程序且分析结果编写程序文档第一章详细记录了各种基本知识概念,从第二章起主要记录重点。三、首先要搞清楚编译器、编辑器和IDE的区别编译器、编辑器和IDE的区别编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。第二章 算法——程序的灵魂一、程序=算法+数据结构数据结构:**对数据的描述。**在程序中要指定用到哪些数据,以及这些数据的类型和数据的组织形式。算法:**对操作的描述。**要求计算机进行操作的步骤,也就是算法。算法数值运算算法求数值解非数值运算算法姓名排序及图书检索等二、算法的特性算法的特性有穷性确定性有零个或多个输入有一个或多个输出有效性三、怎样表示一个算法用自然语言表示算法用流程图表示算法(传统流程图BS、结构化流程图N-S)三种基本结构:1、顺寻结构,2、选择结构,3、循环结构【当型(while)循环结构和直到型(until)循环结构】用伪代码表示算法用机器语言表示算法四、结构化程序的设计方法结构化程序的设计方法自定向下逐步细化模块化设计结构化编码第三章 C程序设计——顺序程序设计一、常量和变量1、常量常量有以下几种组成:常量整型常量实型常量十进制小数形式指数形式字符常量普通字符转义字符字符串常量符号常量要区分符号常量和变量! 符号常量不占内存,只是一个临时的符号,代表一个值。为与变量名区别,习惯将符号常量用大写表示。符号常量常用#define来指定某个符号代表一个常量,如下所示#define PI 3.1415926 //表示PI代表的就是3.1415926,这个末尾是不能有分号的12、变量变量由以下三个部分构成:变量变量名变量值存储单元变量代表一个有名字的、具有特定属性的一个存储单元。变量的值如名义所释,可以改变。3、常变量C 99 允许使用常变量,定义方法是在一个关键字前加const如下:const int a=3;1常变量与常量的异同点:常变量具有变量的基本属性:有类型,占存储单元,只是不允许改变其值。常变量是有名字的不变量,而常量是没有名字的不变量。4、标识符在计算机高级语言中,用变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符。5、数据类型数据类型基本类型派生类型整型类型浮点类型基本整形int短整型short int长整型long int双长整型long long int字符型char布尔型bool单精度浮点型float双精度浮点型double复数浮点型float_complex,double_complex,long long_complex枚举类型enum/空类型void指针类型*数组类型结构体类型struct共用体类型union函数类型二、运算符和表达式C语言提供了一下运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符条件运算符逗号运算符指针运算符求字节数运算符(sizeof)强制类型转换运算符成员运算符(.->)下标运算符([])其他三、C语句一个函数包含声明部分和执行部分C语句分为以下5类:C语句控制语句函数调用语句表达式语句空语句复合语句最基本的语句:赋值语句1、关于#include的用法#include用法的问题,大家可以看看我这一篇:https://blog.csdn.net/Songbook/article/details/796307772、关于#define的用法#define的用法,大家可以看看我这一篇文章https://blog.csdn.net/Songbook/article/details/796459823、关于%的使用方法%的使用方法大家可以看看我这一篇https://blog.csdn.net/Songbook/article/details/79646427四、数据的输入输出1、相关概念1、输入输出是以计算机主机为主体而言的;2、C语言本身不提供输入输出语句;3、要在程序文件的开头用预处理指令#include把有关的头文件放在本程序中。2、用printf函数输出数据格式字符:d格式符:用来输出一个有符号的十进制整数;c格式符:用来输出一个字符;s格式符:用来输出一个字符串;f格式符:用来输出实数,以小数形式输出①基本型,用%f②指定数据宽度和小数位数,用%m.nf,如:%7.2f——代表数据占7位,小数2位。③输出的数据向左对齐,用%-m.nf——与上相似,但当数据长度不超过m时,数据向左靠,右端补空格e格式符:用格式声明%e指定以指数形式输出实数。其他格式符:①i格式符——与d格式符相同②o格式符——以八进制数的形式输出③x格式符——以十六进制数形式输出整数④u格式符——用来输出无符号数据⑤g格式符——用来输出浮点数系统自动选f格式或e格式输出使用scanf应注意格式控制后面应当是变量地址,而不是变量名。3、字符输入输出函数putchar(c);//是put character的缩写,意为给字符,即从计算机向显示器输出一个字符;getchar();//是get character的缩写,意为:取字符,即从键盘输入一个字符。且只能接受一个字符123第三章练习题答案已经手编出来了,有需要的可以看看哦链接在下方https://blog.csdn.net/Songbook/article/details/123154963第四章 选择结构程序设计一、选择结构和条件判断(略)本章需要大家大量实操,概念什么的已经从这开始就不是那么重要了,重在练习!二、用if语句实现选择结构(略)三、关系运算符和关系表达式比较符称为关系运算符关系运算符及其优先次序< (小于)<= (小于等于)> (大于)>= (大于等于)以上优先级相同(高优先级)以下优先级相同(低优先级)5. == (等于)6. != (不等于)优先级从高到低:算术运算符,关系运算符,赋值运算符 int X=20,Y=10;1四、逻辑运算符和逻辑表达式(略)五、条件运算符和条件表达式(略)优先级一览表六、选择结构的嵌套(略)七、用switch语句实现多分支选择结构(略)关于C里面的很多小细节将在代码中给大家呈现,我会酌情将课后大题答案放在每章结尾处,供大家取阅。欢迎大家批评指正!对于里面很多细节部分,时间原因我会在后期慢慢添加相关细节,大家也可以提出建议,我会尽能力弥补漏洞的!第四章课后习题答案在此!https://blog.csdn.net/Songbook/article/details/123166383第五章 循环结构设计这一章基本上都是算法,我会单独做完发链接,你们可以酌情查阅哦!一、关于循环结构中break、continue、return和exit的区别此处有一篇文章写的挺全的,大家可以->戳这<-来看看!二、第五章课后习题答案第五章的课后习题,我已经给大家弄出来了,有什么问题欢迎留言!!!https://blog.csdn.net/Songbook/article/details/123209850第六章 利用数组处理批量数据1.数组是一组有序数据的集合;2.用一个数组名和下标来唯一确定数组中的元素;3.数组中的每一个元素都属于同一个数据类型。一、怎样定义和引用一维数组1、 怎样定义一维数组int a[10];/*定义一维数组的一般形式为:类型符 数组名[常量表达式];*/123452、怎样引用一维数组元素表示形式为:数组名[下标]int a[10];//这是定义数组,指定数组中包含十个元素t=a[6];//这里的a[6]表示引用a数组中序号为6的元素123、一维数组的初始化1、在定义数组时对全部数组元素赋予初值:int a[10]={0,1,2,3,4,5,6,7,8,9};12、可以只给数组中的一部分元素赋值:int a[10]={0,1,2,3};13、如果想使一个数组中全部元素值为0:int a[10]={0,0,0,0,0,0,0,0,0,0};//或者这样int a[10]={0};1234、在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度:int a[5]={0,1,2,3,4};//或者这样int a[]={0,1,2,3,4};123注意:int a[10]={1,2,3,4,5}代表的含义是:只初始化前5个元素,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值