- 博客(18)
- 收藏
- 关注
原创 C++ lesson001
C过渡C++ 对比来说C++可以提高程序的抽象性和生产力,JAVA舍弃了灵活性和效率增加了生产力和抽象能力,C语音的生产力和抽象能力则不如C++和JAVA。C++基本属于一个所有语音的集合体,其它语音包含的特有能力都会被C++吸收进去。C语音属于过程式编程,C++支持过程式又不仅仅局限于过程式还支持基于对象(面向对象),泛型,数据抽象式,模板源,函数式等编程方式。值语义:对象允
2016-12-25 22:10:20 366
原创 文件处理函数
电脑处理文件的方式有两种,分别是二进制方式和文本方式。FILE代表的是文件缓冲区。fopen使用方式为fopen(文件名,模式);如果模式后面添加一个+的话就会更新功能变为可读可写,其它功能不变。文件处理函数有getc读取函数,putc写入函数还有EOF结束标志。int main(){ FILE *fp = fopen("demo.txt", "r");//这里使用的路径为相对路径,还有一种
2016-10-19 23:52:09 307
原创 输入输出函数
字符串输入函数scanf每次只能接收一个单词。使用gets可以一次接收一行输入,但是因为不严谨会导致缓冲区溢出所以已经被舍弃。在最新的c11标准里面有一个fgets函数来代替,但是这个功能属于编译器里面的一个可选项。不一定所有的编译器都支持。fgets使用的时候有三个函数:变量名,变量可以保存的长度,输入的位置。fgets和gets最大的一个区别是fgets会保存输入输出流里面的\n而gets不会保
2016-10-19 23:16:18 303
原创 函数
函数由函数名,参数,返回值组成。函数封装的是算法,函数和函数完全不能互相访问属于对方的栈。指针指向的是内存地址,并且有长度。%p输出的是指针的值,以十六进制输出。假设*pum为int类型的话,pum++表示偏移4位。因为int类型就是4位的长度。int num=100;int *pum=#printf(“%p\n”,pum);//这里pum保存的内容为num的地址所在。printf(“%d\n”,*
2016-10-19 22:38:27 225
原创 语句和运算符
语句的组成:运算符,表达式,关键字,结束符(;);运算符:=,+,-,*,/,sizeof,%,++,–;sizeof返回的值为无符号整数类型一般为int。连续赋值的时候值是从右向左来赋值的。
2016-10-19 21:10:20 192
原创 scanf函数详解
scanf只规定了读取的开关而没有规定读取的结尾,所有这个可以被有恶意的人利用执行恶意代码(俗称缓冲区溢出)。所有现在使用scanf_s来读取,它会按给它的占位符类型来读取缓冲区里面的东西,如果不符合的话就会放弃,留给下一个符合类型的scanf_s来读取。scanf_s(“%s”,&str-demo,sizeof(str-demo));//前面是占位符属于字符串型,中间是需要存入的字符串名字,最后是
2016-10-19 21:02:22 331
原创 常用函数
循环一般使用for,while,if,else来实现。fflash(stdin);属于清空缓冲区,但是只要vc6.0之前的编译器才支持,所以现在一般使用getchar来实现。比如while(getchar()!=EOF);来实现清空缓冲器的目的。system(“cls”);这个语句可以清空屏幕。stdbool.h里面包含了bool类型,如果使用while(true)的话就需要添加这个头文件。需要使用
2016-10-19 20:40:28 440
原创 printf详解
占位符:%d 整数 %i 十进制整数 %o 八进制整数 %u 无符号十进制整数 %x 小写十六进制 %X 大写十六进制 %c 字符 %s 字符串 %p 指针%需要输出的话必须使用%%。标记:-,默认输出的时候是靠左对齐,加了这个符号之后就会靠右对齐。 +,显
2016-10-19 20:26:55 350
原创 常量
声明常量: 1:使用宏 #define + 常量名(一般是全大写) + 值 宏后面没有符号不需要结尾; 2:或者使用const + 类型(比如int) 常量名=数值;直接赋值; 常量一般是在头文件之后声明,使用宏相对来说没有const安全。例:#define ID 5 const int ID=5;const之后的值一般不可以修改,在编译器之中是
2016-10-19 20:07:30 296
原创 数据类型和各种占位符
数据类型:int:整数 范围0—0*FFFF FFFF 这种的是有正负float,小数32位double,小数64位char,字符,可以保存一个字符,0*FFshort,短整型,0*FFFFlong,长整形,0*FFFF FFFF还有一种无符号类型只能表示正数但是表示的范围是有符号类型的整数类型的两倍,可以在类型前面加un。需要注意的是小数如果用整数变量的占位符来输出的话会舍弃小数点之后的东西。小
2016-10-19 01:26:37 27420
原创 编程概述
相对比而已C语言比较强大灵活,但是也正因为太灵活而不好控制。C语言编写的程序比较短小精悍,但是因为语言的问题不适合写大型程序。C++比C语言更合适写大型程序。C语言的应用比较广泛:Windows, Linux ,VC, VS,嵌入式。在cmd里面调试的时候可以使用pushd空格加文件地址来跳到制定的文件夹目录下。编译器又称IDE,在编译器里面.sln文件为工程文件,.c或者.cpp为源代码源文件,
2016-10-19 01:03:47 201
原创 软件和程序
PC如果没有软件就只是一个空盒子。操作系统和硬件直接有两条专门的指令in和out。使用规则:in 寄存器名 端口号 out 端口号 寄存器名在每一个硬件里面有一个IRQ,是专门用来发送中断请求的。比如出来一件事的中间需要暂时中断去处理另外一件事的话就会使用这个IRQ。硬件IO和CPU中间专门有一个中断控制器。在程序运行的时候CPU会有一个轮询机制,只
2016-10-19 00:23:28 348
原创 内存和各种寄存器
内存中栈的容量是可以增加的,默认是1024Kstack代表的是栈溢出。栈的使用顺序是从下往上 汇编中push代表的是出栈。标志寄存器和程序计数器加起来可以控制程序的走向。汇编中各种名称代表的含义:EBP:栈底EIP:程序计数器EFL:标志寄存器ESP:栈顶EAX:累加寄存器EDI:源寄存器ESI:基址寄存器
2016-10-18 23:58:05 333
原创 vs的一些事
源代码经过编译器转成汇编然后链接(link)然后才可以成为一个程序。C或C++代码经过编译的时候一般是一一对应汇编的,但是使用debug模式调试的时候会和发行版不一样。debug版本会更详细一些,发行版会通过编译器自动优化一次代码。release为发行版,与debug版本的区别是程序运行更快速。一个简单的代码int main()//程序的入口{ return 0;//退出程序}
2016-10-18 23:47:54 198
原创 且或非异或
非使用!来表示,非0为1,非1为0.与(且)使用&表示都为1时为1,只有一个为1时为0,都为0时为0.或使用|(半角符号下的反斜杠键)表示,都为1是为1,只有一个为1时为1,都为0时为0.异或使用^(半角符号下6键)表示,两个值不同时为1,相同时为0.计算机存储不了小数点,一般使用IEEE编码。计算机的计算结果不可能达到非常准确,只能达到部分准确。
2016-10-18 23:41:01 3062
原创 计算机进制和计算
运行中的程序都储存在内存和寄存器里面。并且计算机做不了减法。如果需要使用减法的话,计算机会加上被减数的负数。负数在计算机内的是以补码的形式保存的。在补码中1000代表的不是0,而是这个长度能代表的最小的负数。二进制和十进制的区别在于二进制是逢二进一,十进制是逢十进一。比如0011在二进制里面代表的是十进制的3,不会有超过1的数字出现 只有0和1表现。在计算机中乘法是使用整体左移来实现的。比如二进制的
2016-10-18 22:55:27 913
原创 关于计算机和程序
CPU是电脑中重要的组件之一,负责电脑的整体运行。CPU的频率1GHz=10亿次每秒。程序一般是由指令和数值一起组成的。寄存器是程序员可以接触到的CPU里面唯一的地方。高级语言有:C语言,C++,JAVA,C#等人能直接看懂的语言就属于高级语言。程序是使用高级语言编写出来的代码,可以通过编译器翻译后使电脑可以识别,然后按要求的动作去运行!机器语言属于低价语言,是CPU唯一可以读懂的语言!机器语言是由
2016-10-18 22:41:07 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人