c语言程序设计

 

 

一.程序基础设计:
1.类-面向对象的主要特征:具有唯一性、分类性、多态性、信息隐蔽的封装性、模块独立性、继承性、依赖性(类是对象的一种抽象的表示,而对象是类的具体实例
(1).实现对象的数据与操作结合于一体:体现的是封装性
(2).使用已有类的定义作为基础建立新类的定义技术,体现的是继承性[类之间共享属性和操作的机制](库内已经定义了,可直接使用,不用重复定义)
(3).对象概念描述:对象间的通信靠消息传递:消息是一个实例与另一个实例之间传递的消息(统一了数据流和控制流)
2.结构化程序包括的基本控制结构:顺序、选择、循环
(1).基本的程序控制结构:顺序、选择、循环
3.良好程序设计风格不仅有助于提高程序的可靠性、可理解性、可测试性、可重复性、而且能够促进技术交流,改善软件质量(效率第一往往是错的,代码无人看懂)
4.结构化程序的思想原则包括:自顶向下、逐步求精、模块化、限制使用goto语句
(1).c程序中,模块化主要是通过函数来实现
5.定义无符号整形(unsigned int)恒大于0并且为整数
6.数据库管理系统:就是数据库的机构,一种系统软件、负责数据库中数据组织,数据操纵,数据维护、控制及保护和数据服务等(就是一种在操作系统支持下的系统软件)
7.结构化程序设计中:应当尽量避免使用goto语句,但不是禁止使用
8.字符类数据:字符类数据只能包含一个字符,(‘ ‘)-->转义字符常量
二.c语言概述:
1.程序运行过程:c语言的源代码--预处理--编译--(汇编)--链接--可执行程序
%源程序指程序员编写的代码,即后缀为 .c 的文件;源程序经过编译器编译后形成目标程序,汇编后是二进制文件,此时程序还不能直接运行,还需要经过链接,将
%所有包含的头文件与自身文件链接,最后形成可执行程序,才可由计算机直接执行。
(1).预处理/预编译:头文件的陈述,全局变量的替换
(2).编译:把原代码翻译成汇编代码(注释、非执行语句不被编译)【c语言源程序经编译后生成后缀为 .obj 的目标程序】
(3).汇编:把汇编代码转换成二进制指令
(4).链接(链接器):合并每一处申明
(5).可执行程序
2.程序的执行总是从main函数开始,并在main函数中结束
3.算法的基本特征:正确的算法需要具有有穷性、确定性、可行性、可以没有输入,但至少要有一个输出
4.一个c程序可以有一个或多个程序文件,也可以有一个或多个函数,当然也能实现多种算法
5.c语言源程序名:(1) .c : 源程序的扩展名
(2) .obj :源程序经过编译后生成的扩展名
(3) .exe :目标文件与各种库函数衔接起来,生成的扩展名为.exe的可执行文件
6.每条可执行的语句会依据其类型和格式转换成一条或者多条机器指令(注释或者宏定义语句,不被转换)相同类型和格式c语句转换成机器指令的条数是相同的
7.程序的执行效率和程序的时间复杂度和空间复杂度有关,书写风格仅能增强程序的可读性
8.函数体内部只可以调用函数但不可以定义函数
9.程序设计包括分析问题、建立数学模型、选择算法、编写程序、测试运行、分析结果和写出程序文档(不包括安装编译程序)
三.顺序结构:
1.printf函数格式输出:“%f”表示按照浮点型输出
“%if” 表示双精度浮点型输出
(1).若要控制输出精度:则需以“.”开头,后跟十进制整数(“%.2f”和“%0.2f”)
(2).控制输出宽度则是用整数表示:(“%5.0f”表示输出宽度为5,正为右对齐,负为左对齐,小数点后保留位数为0)
2.计算机只能执行机器语言(计算机可以直接执行由任意高级语言编写的程序)
3.getchar()函数只能接受单个字符,数字和回车也会按照字符处理
4.printf()函数所输出的值是有继承性的
5.scanf()函数,格式控制符为“%c”的情况下,空格和回车也能作为一个字符被接收
6.scanf()和printf()为c语言中的关键字,输出精度是由小数的域宽来决定的
7.printf和scanf函数都可以控制输入输出数据的宽度,但scanf函数不能控制输入数据的精度
8百分号“%”主要用于指定输出格式,如果格式字符串中两个百分号连续为“%%”形式,则表示输出一个普通字符
(1).int a=0;
int b=0;
printf("a=%%d,b=%%d",a,b);
输出结构为:a=%d,b=%d
9.‘\t‘、‘\‘‘、‘\ddd‘、‘\n‘、‘\xff‘等都是转义字符,在strlen()函数中求个数算一个
10.printf()和scanf()函数输出项的形式要和格式控制符保持一致
%%总结:经过锤炼,这块的考点基本是考scanf()和printf()的格式输入输出向对应的输出输入。宽度精度问题,字符char和字符串混淆选择
四.选择结构:
1.三目选择结构:(表达式||(&&)表达式)?表达式:表达式,大写字母的ASCII值+32==小写字母的ASCII值
2.switch的嵌套循环,遇到break终止时,只能终止其嵌套的switch语句
3.case后面的表达式可以是求得整形量和字符型量的常量表达式,但是常量表达式中不能含有变量
4.‘\0‘和0是等价的,而字符‘0‘的值为48
5.为避免在嵌套的if-else语句中产生二义性,c语言规定与else子句配对是在其之前最近的不带else的同曾if子句
%%总结:总的来说,主要是if-else嵌套的使用,特别的是看分号的位置,是赋值语句还是相等语句,终止坑很多

c语言程序设计

上一篇:python实现两台不同主机之间进行通信(客户端和服务端)——Socket


下一篇:libtorch 数组索引和张量操作 与pytorch比较