基础重要知识巩固
Strive--顾
一日之计在于晨,一生之计在于勤。
展开
-
类型转换
今天写代码时碰到了string类型转char*,和string转double类型的转换,之前没遇到过这样的类型转换,查了些资料后便得到了自己的心仪答案。string类转char*类: (1).data string str = "woaixuexi"; char*p = (char*)str.data()原创 2017-02-17 23:35:22 · 258 阅读 · 0 评论 -
良好的编程风格
编程规范只是一个规范,也可以不遵守,但是要做一个有良好编程风格的程序员,就一定要遵守编程规范,不仅方便自己以后的阅读,也可以方便与其他程序员的交流,要做到这一点,程序员应遵循一定的规范并贯穿程序的始终。首要考虑的是程序的可行性,可读性,可移植性,可维护性及可测试性,这是总则。 好的程序易读,理想的情况:能把一个程序代码读出声音来,别人听了后就知道这个程序是解决什么问题的,是如何解决的原创 2017-05-15 16:40:01 · 1787 阅读 · 0 评论 -
归并排序算法原理分析与代码实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,归并排序将两个已排序的表合并成一个表。 归并排序基本原理通过对若干个有序结点序列的归并来实现排序。所谓归并是指将若干个已排好序的部分合并成一个有序的部分。归并排序基本思想设两个有转载 2017-05-16 20:32:13 · 362 阅读 · 0 评论 -
C++知识点复习(一)
千里之行始于足下,打牢基础是非常重要的,在对c和c++的知识学习了一段时间后,有些知识点的概念和特性也不大熟悉了,所以自己准备将C++的知识点从头到尾仔细的复习一遍,理一理:(1)C++的三大特点: a. 封装:封装可以隐藏实现细节,使得代码模块化。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完原创 2017-06-24 23:07:18 · 420 阅读 · 0 评论 -
C++知识点复习(二)
昨天的复习让自己有不小的收获,对一些基础知识也有了更加深刻的理解,所以今天继续复习,巩固:(1)原创 2017-06-25 20:38:21 · 287 阅读 · 0 评论 -
C++知识点复习(三)
(1)new delete重载: 成员函数new的重载: void * 类名::operator new(size_t size) {} 全局函数new的重载: void * operator new(size_t size) {} 成员函数的形式delete重载: void原创 2017-06-26 17:00:19 · 350 阅读 · 0 评论 -
C++知识点复习(四)
(1)map: 提供一对一的关键字,每个关键字在map中出现一次。 map: key,value 构造函数的结构: map map_show; map的构造函数: map mapstring; map mapint; map mapstring; 添加数据原创 2017-06-26 21:04:58 · 605 阅读 · 0 评论 -
enum(枚举)
在编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。 以每周七天为例,我们可以使用#define命令来给每天指定一个名字:#include #define Mon 1#define Tues 2#define Wed 3#define Thu原创 2017-07-07 20:29:41 · 461 阅读 · 0 评论 -
c语言的内存管理
对于一个C语言程序而言,内存空间主要由五个部分组成代码段(.text)、数据段(.data)、BSS段(.bss),堆和栈组成,其中代码段,数据段和BSS段是编译的时候由编译器分配的,而堆和栈是程序运行的时候由系统分配的。布局如下 在上图中,由编译器分配的地址空间都是在连接的时候分配的,而运行时分配的空间是在程序运行时由系统分配的 BSS段原创 2017-07-29 23:12:40 · 251 阅读 · 0 评论 -
指针数组和数组指针
1.什么是指针数组和数组指针?指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。数组指针:数组指针可以说成是”数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。 根据上面的解释,原创 2017-08-07 20:56:02 · 244 阅读 · 0 评论 -
文件编程
在进行文件编程前,我想介绍下linux上的文件的一些概述,具体如下所示:我们知道操作系统的五大供能之一就是对文件的管理.那么为什么要引入文件管理的功能呢,它的主要任务是什么呢?在现代操作系统中,要利用大量的程序和数据,由于内存容量有限,且不能长期保存,于是人们想出了把这些数据以文件的形式放在外存中,需要的时候再将它们调入内存-----从此就有了文件系统。它负责管理在转载 2017-08-01 22:58:35 · 280 阅读 · 0 评论 -
基础知识点巩固
1. makefile的作用: makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefile带原创 2017-07-30 22:28:18 · 874 阅读 · 0 评论 -
常用的操作系统简介
1、 DOS操作系统DOS是英文Disk Operation System的简称,中文为磁盘操作系统,自1981年推出1.0版发展至今已升级到6.22版,DOS的界面用字符命令方式操作,只能运行单个任务。2、 Windows 9x/Windows ME/Windows XPWindows 9x是一个窗口式图形界面的多任务操作系统,弥补了DOS的种种不足。此后推出的Windows原创 2017-08-06 21:13:56 · 753 阅读 · 0 评论 -
看看看 const知识点
const 在c语言里是一个相对来说较重要的一种关键字 它有很多种用途 比如:(1) 定义const只读变量 具有不可变性 const int max = 10; int array【max】这段程序在.c文件中 编译器会出错 而在cpp.c 文件中却不会 只因为const修饰的是变量 而数组里必须是一个确定的整数 c++里扩展了const的含义;(2)编译器通常将const只读变原创 2016-11-29 23:25:11 · 357 阅读 · 0 评论 -
指针
今天看了指针的内容 看了许多道题目 一开始不是很明白其中各种指针的意思 看了许多概念性的知识后再结合一些指针程序 便有种恍然大悟的感觉 指针其实运用在很多的方面 学好了指针部分的内容 就相当于学好了c语言的一半 下面是一道程序题 就很好说明了指针在c语言中的题目扮演着重要的角色 :#includeint main(){ int a[3][4]={0,1,2,3,4,5,6,7,8原创 2016-11-26 23:03:03 · 222 阅读 · 0 评论 -
链表的排序
今天自己将职工管理系统用链表的形式又重新写了一遍,增删改查的功都能实现,但是在对职工薪资进行排序的时候则遇到了问题,第一次碰到在链表里进行排序,想了很久也没想出合适的方法,之后看了之前所用过的冒泡排序,发现完全可以用类似的方法来对薪资进行排序,下面则是链表排序的具体代码:p temp7, max, n, m;int i = 0;n = temp;m = max = temp->next;原创 2017-02-12 23:10:08 · 289 阅读 · 0 评论 -
关于c++中的vector
今天在c++中写了一个职工管理的小项目,主要运用了vector的相关知识,vector是C++标准模板库中的部分内 容,简单地说,vector是个能够存放任意类型的动态数组,能够增加和压缩数据。首先在程序开头处加上#include以包含所需要的类文件vector,还有一定要加上using namespace std;它可以像普通数组一样访问,可以顺序地向容器中填充数据,还可以动态地改变它的大小原创 2017-02-07 00:17:59 · 367 阅读 · 0 评论 -
static在c和c++中的区别
C++类的static使函数成为类成员,而不是实例成员 static在c里面可以用来修饰变量,也可以用来修饰函数。 先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不包含堆,不要弄混。 int main(){ intb; intc*=(int*)malloc(sizeof(int));}a是全原创 2017-01-18 18:59:14 · 297 阅读 · 0 评论 -
const在c和c++中有什么区别
C中的const,功能比较单一,较容易理解: 作用:被修饰的内容不可更改。 使用场合: 修饰变量,函数参数,返回值等。(c++中应用场合要丰富的多) 特点: 是运行时const,因此不能取代#define用于成为数组长度等需要编译时常量的情况。同时因为是运行 时c原创 2017-01-17 20:47:47 · 316 阅读 · 0 评论 -
进程与线程的比较
1、和进程相比,线程是一种非常"节俭"的多任务操作方式。在linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。 2、运行于一个进程中的多个线程,它们之间使用相同的地址空间,而且线程间彼此切换所需时间也远远小于进程间切换所需要的时间。据统计,一个进程的开销大约是一个线程开销的原创 2017-01-06 22:19:34 · 483 阅读 · 0 评论 -
将整数字符串转换为整数
题目其实不难理解 就是将你用字符形式输入的数字变为输出的整形数字 下面就是自己写的程序:#include#include#includeint chnum(char*p){ int num = 0 ; int k ; int len ; int j ; len = strlen(p) ; for( ; *p != '\0' ;p++) { k = *p - '0' ;原创 2016-12-23 21:17:30 · 1158 阅读 · 1 评论 -
makefile的见解
makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 举个简单的例子吧:主程序(main.c)、函数原创 2016-12-20 20:03:03 · 314 阅读 · 0 评论 -
typedef
不少人对于typedef应该不陌生 关于typedef这个关键字 在表现上有时候类似于 #define,但它和宏替换之间存在一个关键性的区别。其实正确思考这个问题的方法就是把 typedef 看成一种彻底的“封装”类型,声明之后不能再往里面增加别的东西。1) 可以使用其他类型说明符对宏类型名进行扩展,但对 typedef 所定义的类型名却不能这样做。看看下面的这两个例子原创 2016-12-02 23:45:12 · 229 阅读 · 0 评论 -
typedef
在C语言中允许为一个数据类型起一个新的别名,就像给人起“绰号”一样。起别名的目的不是为了提高程序运行效率,而是为了编码方便。例如有一个结构体的名字是 stu,要想定义一个结构体变量就得这样写: struct stu stu1;也许你会说 struct看起来就是多余的 但是呢 你不写又原创 2016-12-01 22:19:38 · 192 阅读 · 0 评论 -
extern 的用法
今天看了c语言里extern的用法 说难也不难 主要还是看自己的理解。extern可以置于变量或函数前,用来表明变量或函数的定义在别的文件中,下面用到的的这些变量或函数是外来的,不是本文定义的,提示链接器遇到此变量和函数时在其他模块中解析或绑定此标志符。在c语言中 还有许多类似的不太起眼的关键字 但在不经意间你可能就会需要它 所以要注重积累 水滴石穿嘛!原创 2016-11-30 22:33:43 · 202 阅读 · 0 评论 -
关于关键字static 的内容
相信c语言学得好的对关键字static一点也不陌生 static在很多时候都扮演着重要的成分 在局部和全局中有着自己的独特运行方式:当它作为全局静态变量的时候作用范围局限于它的源文件,即只有本文件内的代码才可以访问它,变量名在其他文件内不可见 ,作为局部静态变量时局限于特定函数,但出作用域并不释放,在函数体内的静态变量的值也能够维持;作为静态函数:作用范围仅限于它的源文件,即只有本文件原创 2016-11-28 22:20:41 · 194 阅读 · 0 评论 -
递归函数
今天看了c语言中函数的部分 在函数部分的调用内容里 我觉得递归函数的解法让我印象最深 比如下面的例子:要求我们输出8的三次方的值#includeint sum(int n){ if(n==1) { return 8; } return(sum(n-1)*8); }int main(){ printf("result=%d\n",s原创 2016-11-27 23:20:56 · 277 阅读 · 0 评论 -
C语言中输出格式
一、 Printf 输出格式C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。各项的意义介绍如下:1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符 格式字符意义a 浮点数、十六进制数字和p-计数法(C99)A原创 2017-09-02 23:55:27 · 9588 阅读 · 1 评论