第一篇:C程序设计内容总结1(精选)
《C程序设计》内容总结
第一章:C语言概述 第二章:程序的灵魂-算法
第三章:数据类型,运算符和表达式
1.定义变量的规则 2.整型数据
1)常量:表示方法,类型
2)变量:表示方法,内存中的存放方式,分类,定义,溢出 3.浮点型数据
1)常量:表示方法,类型
2)变量:内存中的存放方式,分类,定义,舍入误差 4.字符型数据 1)常量:转义字符* 2)变量:内存中的存放方式
5.字符串(C语言没有字符串这种数据类型)1)常量:定义,内存中的存放方式,与字符型数据区别 2)变量:用字符数组表示 6.变量赋初值:赋值规则 7.各种数据类型间的混合运算 1)混合运算的自动转换规则 2)强制类型转换 3)赋值转换
8.算术运算符和算术表达式 1)+-* / 的计算规则 2)优先级问题(P365附录C)3)自增(++),自减(--)* 9.赋值运算符和赋值表达式 1)赋值规则
2)复合的赋值运算符 3)赋值表达式
10.逗号运算符和逗号表达式 1)表达式的计算规则
第四章:顺序程序设计
1.字符数据的输入和输出:putchar(c);getchar()2.格式输入与输出:printf();scanf()* 第五章:选择程序设计
1.关系运算符与关系表达式 2.逻辑运算符与逻辑表达式 3.条件运算符 4.if语句的几种形式 5.switch语句
第六章:循环控制
1.goto语句 2.while do-while for循环语句 3.break;continue语句 4.循环嵌套
第七章:数组* 1.一维数组的定义和引用:定义,引用,初始化 2.二维数组的定义和引用:定义,引用,初始化 3.字符数组:定义,引用,初始化,结束标志,输入输出 4.字符串处理函数
第八章:函数
1.函数定义的一般形式 1)无参函数的定义 2)有参函数的定义 2.函数参数与函数值
1)形参和实参 2)返回值 3.函数的调用
1)调用的一般形式及调用方式 2)函数定义与函数声明 4.函数的嵌套定义和递归定义 5.数组作为函数参数
1)数组元素做实参 2)数组名做函数参数 3)多维数组名做函数参数 6.局部变量与全局变量 7.变量的存储类别
1)auto变量
2)用static声明局部变量 3)register变量
4)用extern声明外部变量 5)用static声明外部变量 8.内部函数与外部函数
第九章:预处理命令
1.宏定义* 2.“文件包含”处理
第十章:指针
1.指针变量:定义,引用 2.指针变量做函数参数 3.数组与指针
1)指向数组元素的指针 2)通过指针引用数组元素 3)用数组名做函数参数 4.字符串与指针
1)字符串的表示形式 2)字符指针做函数参数 3)字符指针变量和字符数组的区别 5.指向函数的指针 6.返回指针值的函数
7.指针数组和指向指针的指针
8.有关指针的数据类型和指针运算小结
第十一章:结构体与共用体
1.结构体:定义,引用,初始化 2.结构体数组:定义,引用,初始化 3.共用体:定义,引用,初始化
补充:常见错误和程序调试
第二篇:程序设计总结
Strcmp的用法
原型:extern int strcmp(const char *s1,const char * s2);
用法:#include
功能:比较字符串s1和s2。
说明:
当s1 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇' '为止。如: “A”<“B” “a”>“A” “computer”>“compare” 特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。编辑本段应用举例 举例1:(在VC6.0中运行通过)#include char str1[20]={“i love ”}; char str2[20]={“zftd”}; printf(“%sn”,strcpy(str1,str2));} 输出的是“zftd”还是“zftdve ”? 也就是说strcpy是替换全部的str1,还是将str2复制到str1的前几个(str1占10字节,str2占5字节,输出是str2还是str2和str1的后5字节);strcpy之前,str1[]=“i love ”strcpy后, 复制过来5个字节,“zftd”和结尾的' '共5个字节.于是变成str1[]=“zftd e ”输出的时候,遇' '字符截断,于是只输出“zftd” 例2 定义一个字符串char a[20],和一个字符串c[]=“i am a teacher!”;把c复制到a中就可以这样用:strcpy(a,c);这个函数包含在头文件 《程序设计实践》实验内容 实验一函数与程序结构(1-2) 1.实验指导书P123: 一、调试示例,掌握采用“文件包含”和“工程文件”实现多文件模块程序的两种方法 2.实验指导书P132:编程题2,5,7,8 实验二 指针进阶(1-2) 指针进阶根据数据结构中的内容做以下要求 要求会使用指针数组,链表等内容 实验题目 1、实验指导书P138:编程题2,32、实验指导书P140: 一、调试示例 3、实验指导书P145:编程题1,2,3实验三 文件(1-2) 文件实验指导书中主要涉及普通数据的写入和结构体类型数据的写入,我们重点强调一下结构体类型数据的写入,因此布置集中在结构体类型数据的题目 题目中没有如何将链表写入文件中,建议补充上去,作为题目4实现吧! 1、实验指导书P148:改错题 2、实验指导书P150:编程题3,7 实验四综合设计 标准化考试系统的设计与实现 开发出一个标准化考试系统,所谓标准化考试系统即仅支持选择题,也是为方便自动批改的功能的实现。要求实现以下基本功能: (1)提供给教师添加试题的功能(试题信息用文件保存)--输入与存储 (2)试题的整体浏览功能(按照知识点、章节、分页显示等)--输出 (3)能够抽取试题组合成一套试卷(组卷的策略:可以是随机的,当然若教师添加的试题时有知识点、章节等信息,亦可以实现按照一定的组卷策略实现出题:如每个知识点抽取若干题目,最终组合一套试卷) (4)教师实现题目信息的管理,比如删除、修改等 (5)查询功能(至少一种查询方式)、排序功能(至少一种排序方式) 扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)成绩报表打印功能(3)甚至根据自己情况,可以加上学生信息和考试成绩信息的管理,并扩充为广义的考试系统。即学生输入账号密码登陆,进行考试,交卷后显示成绩;(4)模糊查询(5)综合查询(6)数据加密、统计、分析等功能。 特别说明:尽可能地运用自己已经学习过的数据结构的知识去展现。 程序设计教学工作总结 在一学期的教学工作中,本人能坚持党的教育方针,认真学习国家的各种法律法规,严格要求自己,努力培养自己的职业道德修养与正确的行为规范,在实际的工作岗位上尽职尽责,自始至终以认真、严谨的治学态度,勤恳、坚持不懈的精神从事教学工作。 为了上好这门课,我按照规范教学规范管理严格要求自己,深入研究教学大纲,认真钻研教材,精心设计教法,认真备写教案,精选典型试题,强化训练,力争在有限的时间,使每一堂课的教学优质高效。重视实践性教学,耐心进行辅导,认真批改和及时评讲作业。广泛涉猎各种知识,形成比较完整的知识结构,严格要求学生,尊重学生,发扬教学民主,使学生学有所得,不断提高,从而不断提高自己的教学水平和思想觉悟,并顺利完成教育教学任务。 在教学中,我采用案例教学法,将抽象的程序设计知识,以一个个实用案例的形式呈现给学生,符合学生 认知规律。学生课堂纪律较好,部分学生参与度较高;学生积极就练习过程中问题提问,学习积极性较高,课堂气氛活跃。本门课程达到教学目标,教学效果良好。 在过去的教学工作中,自己虽然取得了一些成绩,也积累了一些教学经验,但在理论与实践相结合的教学方法中还有待进一步提高。今后,我要更加努力地提高教学质量,成为真正让学生满意的教师。 1.Von Neumann提出存储程序计算机模型; 2.存储程序结构特点:以运算器为核心;采用存储程序原理(指令和数据都在存储器);存储器按地址访问的、线性编址的空间;控制流由指令产生;指令由操作码和操作数组成;数据以二进制编码表示,采用二进制运算。 3.计算机分型:VLSI/向量机/流水线/Cache/并行; 4.David Patterson提出了RISC体系结构; 5.线延迟墙:导线变细,阻力变大;导线间隔变短,导致耦合电容,从而影响频率; 频率墙:不能仅仅依靠提高处理器的主频来提高系统的性能; 存储墙:处理器性能与存储系统性能之间存在巨大的差距 I/O墙:处理器的主频与I/O总线时钟频率之间存在巨大的差距 6.程序的时间局部性(循环),程序的空间局部性(数组)7.开销性能设计必须考虑的因素:成本和价格 8.芯片制作过程:版图设计、备片、光刻成像、参杂、金属化、、钝化、切割、测试、封装 9.集成电路成本= 10.计算机系统的成本和价格 影响计算机系统成本的主要因素:时间和产量等,最直接影响是时间 11.计算机性能评测:时间; 响应时间(执行时间):从事件开始到结束之间的时间。吞吐率:在单位时间内所能完成的工作量(任务)。 用户以响应时间为标准,多道程序系统以吞吐率为标准 响应时间与性能成反比 “X比Y快”:对于给定的任务,X的响应时间比Y少,“X比Y快n倍”指: 响应时间一般定义为CPU时间 CPU时间:CPU运行某程序时的工作时间,包括用户CPU时间和系统CPU时间 12.计算机性能设计和评价的原则:大概率事件优先、Amdahl定律 13.Amdahl定律:加快某部件执行速度所获得的系统加速比,受限于该部件在系统所占的重要性。该定律可以确定系统中对性能限制最大的部件,也可以用来计算通过改进某部件所获得的系统性能的提高。 推论:如果仅对计算机一部分做性能改进,则改进越多,获得的效果越小; 如果只针对整个任务的一部分进行优化,那么所获得的加速比不小于1/(1-fe); 14.系统加速比 15.系统加速比依赖的两个因素:可改进比例、部件加速比。 fe是可改进比例,Se是部件加速比,Te是优化后的时间,S是系统加速比 16.程序执行的CPU时间为: CLK总时钟周期数 程序执行过程中所处理的指令书IC 每条指令执行所需要的时钟周期数CPI 17.时钟频率(f)反映了计算机实现技术、生产工艺和计算机组织; 指令的平均时钟周期数(CPI)反映了计算机组织(如流水线)和计算机指令集结构。程序的指令数IC:反映了计算机指令集的结构和编译技术。 第三章 程序编译的过程 18.GCC可以编译多种高级语言,包含了预处理器、编译器、汇编器、链接器等组件。 第四章 指令系统 19.指令集:指令的集合,每条指令由CPU执行 指令表示方法:二进制格式;物理存储空间组织方式位、字节、字等; x86可变字长RISC固定字长 操作由操作码表示 操作数:存储单元的地址,隐含或显示表示 存储单元:存储器、寄存器、堆栈和累加器 20.大端方式:高地址存低位;小端方式:高地址存高位 21.DLX指令集结构 特点:注重指令流水效率;简化指令的译码;32个32位通用寄存器;R0始终为0;R31保存返回地址。 寄存器寻址:ADD,R1,R2,R3 立即数寻址:ADD,R1,R2,#42 偏移寻址:ADD,R1,R2,40(R3)寄存器间接寻址:ADD,R1,R2,(R3)I类型指令: Regs[R1] ←32 Mem[30+Regs[R2]] R类型指令: J类型指令:J name ##表示拼接 下标表示选中某个域,上标表示复制某个域,Mem表示存储器中的一个数组,存储器按照字节寻址,可以传送任意字节的数据。 22.MIPS指令集 设计原则:简单有益于规整;所有算术指令都有三个操作数,操作数的顺序是固定的(目标操作数在前)23.第三篇:《程序设计实践》课程实验内容
第四篇:程序设计教学总结
第五篇:程序设计期中考总结[定稿]