![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 75
风雪梧桐Sophia
纸上得来终觉浅 绝知此事要躬行
展开
-
[复习]C++中两种字符串的输入输出
cin>>的读入方式总是将前导的空白符()原创 2014-06-18 16:23:25 · 616 阅读 · 0 评论 -
进程地址空间与虚拟存储空间
在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一 早期的内存分配机制 在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多原创 2014-08-26 20:36:47 · 695 阅读 · 0 评论 -
进程与线程(一)
1 区别 线程是CPU调度的最小单位,进程是资源分配的最小单位。进程是线程的容器,真正完成代码执行的是线程,而进程则作为线程的执行环境。在32位的Windows操作系统中,系统要为每一个进程分配私有的232=4GB的虚拟地址空间。但实际上只有2GB的空间被用户分区使用,另外2GB空间被用于内核代码、设备驱动程序等内核分区。在进程中,线程共享用户分区这一地址空间。2 优缺点在Window原创 2014-08-23 14:11:30 · 401 阅读 · 0 评论 -
求一个字符串中连续出现的次数最多的子串
基本算法描述: 假如给出字符串abababa 1.首先穷举出所有的后缀子串 substrs[0] = abababa; substrs[1] = bababa; substrs[2] = ababa; substrs[3] = baba; substrs[4] = aba;原创 2014-07-05 10:18:29 · 872 阅读 · 0 评论 -
日期计算
题目:日期计算输入一个日期,输出这是这一年的第几天。(题目中没有给出闰年的定义)输入 20131231输出 365题目分析:该题目主要考察switch语句的使用和润年的判断;还需要注意的是输入的时候没有空格,说明我们不知道哪个是年哪个是月哪个是日,所以我们要看成一个字符串的输入。原创 2014-07-12 22:25:22 · 432 阅读 · 0 评论 -
整数划分问题与放苹果
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。 所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi) 例如但n=4时,他有5个划分,{4原创 2014-07-12 21:38:34 · 433 阅读 · 0 评论 -
C语言中scanf和gets的区别
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用gets函数。gets可以接收空格,遇到回车符时结束;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。charstring[15];gets(string); /*遇到回车认为输入结束*/scanf("%s",string);/*原创 2014-07-10 10:48:35 · 636 阅读 · 0 评论 -
深入了解scanf()/getchar()和gets()等函数
----------------------------------------------------| 问题描述一:(分析scanf()和getchar()读取字符) |---------------------------------------------------- scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特转载 2014-07-10 15:29:12 · 493 阅读 · 0 评论 -
开关灯问题
描述:一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部关着。有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关拉一下;接着第二个学生把号码凡是2的倍数的电灯的开关拉一下;接着第三个学生把号码凡是3的倍数的电灯的开关拉一下;如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下。原创 2014-07-08 20:04:43 · 1261 阅读 · 0 评论 -
回文数判断
“回文数“是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。 判断一个整数是否是回文数的方法不止一种,最容易想到的一种方法就是:把整数转换成字符串,然后依次判断字符串前后对称位置的字符是否相等,如果全都相等,则表示该整数是回文数,否则不然。 然而,还有一种更为简洁点的方法则是:通过对整数的计算,得到该整数的反序整数原创 2014-07-07 20:29:23 · 1272 阅读 · 0 评论 -
大数加法
大数是算法语言中的数据类型无法表示的数,其位数超过最大数据类型所能表示的范围,所以,在处理大数问题时首先要考虑的是怎样存储大数,然后是在这种存储方式下其处理的实现方法。一般情况下大数的存储是采用字符数组来存储,即将大数当作一个字符串来存储,而对其处理是按其处理规则在数组中模拟实现。原创 2014-07-08 11:29:47 · 481 阅读 · 0 评论 -
求字符串中相同且长度最长的字符串及其首字母的位置
题目:输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及首字符的位置。例如“yyabcdabjcabceg”,输出结果应该为abc和3。原创 2014-07-04 21:14:09 · 1070 阅读 · 0 评论 -
signed char的取值范围为何最小为-128
char 是一个字节类型。 由8位组成。 char 又分为 signed char (有符号类型) 和 unsigned char (无符号类型)。 通常,我们的理解是将char 作为 signed char 来处理。我们先来看 signed char的最大值。 最高位是 符号位, 0 代表正数; 1 代表负数。0 1 1 1 1 1 1 1 这个值等于 2^原创 2014-07-04 16:51:35 · 1217 阅读 · 0 评论 -
从小见大之——字符串反转
翻转“I am a student.”中所有字符得到“.tneduts a ma I”原创 2014-07-03 15:07:29 · 416 阅读 · 0 评论 -
sizeof和strlen【C/C++】
strlen是函数,是用来返回字符串长度的。在执行的过程中寻找结束标识符'\0',如果发现则返回之前的长度。而sizeof是内置运算符,返回变量的地址占用字节数。 说明:以下代码在VS2008中通过,在32位操作系统下。1. 定义sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。其返回值类型为size_t。(原创 2014-07-01 21:07:46 · 365 阅读 · 0 评论 -
基本数据类型所占的字节数【C/C++】
C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。 所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):sizeof(short int)s原创 2014-07-01 15:08:25 · 2435 阅读 · 0 评论 -
i++和++i以及*p++和*++p
通过示例彻底理解自增运算符的两种用法(自减的用法与之类似,只不过是加1变成了减1)。 1、++i和i++的区别 如清单1(注意代码中的注释): [cpp] view plaincopy#include int main(void) { int a, b, i = 7;原创 2014-06-28 08:22:13 · 730 阅读 · 0 评论 -
typedef struct与struct
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具原创 2014-09-02 22:00:25 · 438 阅读 · 0 评论