在给变量分配显存时,很可能这段显存存在先前其他程序使用留下的值。当使用VC编译器,若编译器发觉没有给变量形参而使用,都会返回一个以“85”开头的很大的数字(此时该段显存中为一个垃圾数,为了防止出现较常规的数而使程序员误以为自己已给变量进行过初始化),这个“85”开头的数叫“填充字”,提醒程序员没有初始化变量。
#5:a:a:f:6:7:e:1:8:5:d:1:e:4:f:4:4:4:2:5:2:2:4:8:0:5:a:a:a:7:c:b#
运行后:
#3:5:c:a:c:5:1:e:d:2:e:3:4:b:2:2:8:c:9:2:7:0:e:2:9:3:9:3:5:f:7:8#
变量对应于显存中的一个储存单元,变量的本质是"显存中一段储存空间"
简单一元二次方程示例:
#2:2:c:8:7:2:9:8:3:b:4:0:1:0:1:f:f:2:b:8:0:3:6:8:5:2:d:8:2:f:c:e#
大纲笔记:
C语言概述
1、为什么学习C语言
1)C的起源和发展
第一代语言:机器语言01代码
第二代语言:汇编语言就是简单的助记符ADD
第三代中级语言:结构化语言(面向过程)C,Fortran用于
科学估算Basic演化为VB,Pascal
用于教学。
面向对象(OO)C++,java(SUN整修过),
C#(谷歌改建的),后两种都是针
对C++改建的。由于C++比较复杂。
结构化语言有缺陷:数据和操作分离。假如你学会C++
这么剩下都不用学了。由于它都包括了面向过程和对象
2)C的特征
优点:
代码量小(WPS)速率快功能强悍(写操作系统)
缺点:
危险性高:(同样的程序java中都会报错)可以随意写
开发周期长:由于它是面向过程语言,10万行代码以上容易崩溃
可移植性不强:由于java的可移植性太强了。C的话两台机器跑
上去可能不一样。
3)C的应用领域
系统软件开发:
操作系统:三大
驱动程序:显卡驱动、显卡驱动、摄像头驱动
数据库:DB2,Oracle,Sqlserver
应用软件:
办公软件:WPS
图形图象多媒体:ACDSee,PS,MediaPlayer
嵌入式软件开发:智能手机,掌上笔记本
游戏开发:2D,3D游戏(CS整个引擎都是纯C。魔兽不是
4)C的重要性
有史以来最重要的语言
所有学院文科理科中学生选修课程
系统软件都是用它开发
合格黑客必须把握
程序员必须熟练
大企业、外企急聘必考
为数据结构,C++,java,c#做打算
2、怎样学习C语言
每一讲分四次课
前两节课为理论课,讲授理论知识
后两节课为上机课,在机房完成随堂练习
要去:
随堂练习必须在两节上机课中完成
机房随时有补习老师补习
老师检测后方可离开
途径:多思索,多上机
目标:能读懂程序,能调试程序,自学能力要很强
虽然就是犯错误的过程,肯定会有错误,全都出完了,就学好了。
参考资料:
谭浩强《C语言程序设计》清华绝对入门精典(就是自己能读懂)
《CPrimerPlus》人民邮电60元句型
《C和表针》人民邮电65元
在想弄成大神看:
《C专家编程》绝版
《C圈套与缺陷》人民邮电30元
3、学习的目标
了解程序语言及发展历史
熟练把握C语言的句型规则
把握简单的算法
理解面向过程的思想,这十分有助于将来对面向对象思想的学习
能读懂程序
会调试程序
把握将大问题转化为一系列小问题来求解的思想
为将来学习C++,数据结构,C#,java打下良好的基础
4、常见问题答疑
1、学习java为何建议先学C语言
a)学习C就是学java,由于C语言起码80%的句型知识都被
java承继过来了。
b)C是面向过程语言的代表,学好C有助于学习java中面向
对象的思想
c)学好C中的表针是理解java中引用的基础!若果不懂表针
就不可能对java中的引用由深刻的理解,而引用是java中
一个最基本但又非常重要的概念。
2、没学过计算机专业课程才能学懂C语言
有郝斌老师在怕哪些?
3、英语和物理不好能学好C么?
假如懂更好,假若不懂不影响对其的学习。物理知识只有在你
研究深奥算法的时侯才须要。
5、课程计划
共23讲
C语言简介
第一讲基本编程知识1讲
第二讲数据类型1讲
第三讲运算符和表达式1讲
第四讲流程控制4讲
第五讲函数2讲
第六讲链表1讲
第七讲表针4讲
第八讲变量的作用域和储存方法1讲
第九讲扩充数据类型1讲
第十讲专题:
字符串的处理1讲
补码转换1讲
进制1讲
动态显存分配1讲
综合应用:数组的使用2讲
6、举例子:一元二次方程
C语言编程预备知识
1、cpu显存条硬碟主板显卡显示器之间的关系
2、HelloWorld程序怎样运行上去的
3、什么是数据类型
编程受限就要考虑数据,如何去保存它,就和物理上的数字一样
基本数据类型:
整数:
整型int4短整型shortint2,长整型longint8
【浮点数(计算机内不能定点储存)】实数
单精度浮点数float4
双精度浮点数double8
字符
char
复合类型数据:(把基本类型复合上去)
结构体
枚举
共用体
4、什么是变量
便捷找到一个和空闲显存单元一一对应的代码。
避开了程序员自己去找空闲单元的编号,由操作
系统完成。
变量的本质就是显存中的一段储存空间。
5、cpu显存条VC6操作系统之间的关系
VC6向操作系统恳请在显存中开辟一段显存,VC在使用这种显存
完成程序运行
6、变量为何要初始化
所谓初始化就是形参的意思。那种很大的值显然是填充字很大
真实的值是随机值,是上一个软件使用过遗留下的,这个很大
的填充值就是为了提醒你这个值未被初始化。
7、如何定义变量
8、什么是补码
9、常量在C语言中是怎样表示的
10、常量是以哪些样的二补码代码储存在计算机中的
tips:
1、html是依靠于浏览器运行的
2、C语言编撰好的代码是依靠于VC6运行的
3、要想改变dos框的属性,右键单击标题栏
4、机器语言速率最快,最慢中级语言,C又比java,C#快
5、Basic在计算机中有简化的意思
6、B语言写出了世界上第一个操作系统UNIX,光碟就有十几张很大
主要用在小型机、商务机。由于其稳定,不可能用Windows,因
为容易挂,不稳定。
7、B语言的创始人的朋友扩展了B得到了C语言而且用此写了UNIX第五版
这个系统流行了上去所以C语言也流行了上去。UNIX开源的,你要改
就要学习C语言。
8、C语言中必学的是函数和表针。94年C99标准仍然用到明天
9、金山公司仍然最赚钱的就是WPS。政府购买。他的一个强悍功能是可以
转成pdf格式的,microoffice没有此功能。
10、WPS安装包很小,由于它是用C语言写的内核。
11、三大操作系统windows(内核用C壳体用C++),unix和linux都是用
C写的。由于它很快。硬件由操作系统控制。曾经在dos下可以直接
控制硬件,如今必须通过操作系统。
12、C可以访问硬件,表针。java没有表针。
13、招聘如今基本分三块:c/c++,java,c#.后者薪资最高。
14、蠕虫病毒,C语言有个gets()函数,他是向硬碟写东西,无宽度限制
后来就改用fgets()有了限制,这样就不上了漏洞。
15、世界上绝大多数病毒都只能破换软件,只有一个能破换硬件的。
16、也可以用C语言编一个木马,它是背地里运行的,渐渐地就掉线了
17、学数据结构最好用C语言学习
18、入门最基本的方式就是C语言入手。
当你成为C语言的前辈,这么你就很容易步入到操作系统的平台上面去;
当你步入到操作系统的平台上面去实际做程序时,才会懂得进行调试;
当你懂得调试的时侯,你都会发觉能轻而易举地了解整个平台的构架。
这时侯,计算机基本上一切都在你的把握之中了,没有哪些东西能逃得
出你的双手心。
-----《编程箴言》梁肇新,超级解霸作者
19、王爽写的汇编的入门书也不错
20、C语言32个关键字作为保留。不能重做其他定义。
21、哲学是你对于世界的思索,物理又是其他一切学科的估算基础。
22、函数可以彰显出面向对象和面向过程的区别。
23,任何语言的流程都是一样的。
24、动态显存分配学过以后才会理解数据结构。
25、VC6完全兼容C,所以你就选C++SourceFile
26、先把硬碟上的数据储存在显存条上之后cpu在处理,由于它不能
直接处理硬碟数据。
27、主板就相当于为你们提供了一个如何相互配合的环境
28、点叹号的那种标志是运行.exe,这个是有cpu运行的。所有的运行都是cpu
29、在VC6中输入的字符和在记事本中是无区别的,通过编译链接形成exe
30、win98winme是可以直接控制硬件的(编程序)。2000之后就只能操作系统控制
31、C的一个核心思想就是不限制程序员编撰他想编撰的内容。
32、C上面是没有这样一个数据类型来直接储存字符串的,C++和java都有
33、出错的位置和缘由不一定就是真的,有可能在上下行找
34、我们硬件上的状态肯定是0、1不可能存在第三种状态,重启就是全0.
35、内存释放是指使用权限被收回
36、软件在运行期间,该软件所占空间不再分配给其他软件,当软件运行完毕
然后,操作系统将收回该显存空间,便于在分配给其他软件使用。