C/C++
fuyou_h
这个作者很懒,什么都没留下…
展开
-
c primer plus第11章总结:字符串和字符串函数
字符串数组的初始化:char m1[40] = "Im righe!"; // 注意分配空间大小;char m2[] = { 'y', 'o', 'u', '\0'}; // 如果没有结束符,只是字符数组,不是字符串数组;字符数组名也是数组元素的首地址,则有:m1 == &m1[0] , *m1 == m1[0], *( m1+1) == m1[1]注:字符串是以空字符\0结尾原创 2016-07-07 18:46:44 · 896 阅读 · 0 评论 -
c primer plus第6章总结:循环
1、循环读入:sate = scanf("%d", &n) == 1; // 关系运算符== 比 赋值符= 的优先级高,所以可以不加括号;while (sate ){ sate = scanf("%d", &n) == 1;}while (scanf("%d", &n) == 1){}// 跳过输入直到第一个不为空格和数字的字符原创 2016-06-15 20:52:06 · 610 阅读 · 0 评论 -
c primer plus第7章总结:分支跳转
1、getchar()和putchar(): getchar() 没有参数,返回来自输入设备的下一个字符; putchar() 打印它的参数;scanf() 返回的状态,getchar() 返回的元素的值,可以用输入元素的值本身决定何时终止循环;类似scanf(): while ((ch = getchar()) != '\n')原创 2016-06-16 17:59:37 · 414 阅读 · 0 评论 -
c primer plus第8章总结:字符输入输出
1、缓冲: 完全缓冲:区满时清空;常见为512字或4096字; 行缓冲:遇到 \n 清空;2、重定向: 用文件代替键盘和屏幕; 将输出重定向到一个文件:> prog > file1 将输入重定向为来自一个文件夹:3、混合输入: scanf() 会在遇到第一个空格、制表符,换行符时,会停止原创 2016-06-16 19:39:15 · 468 阅读 · 0 评论 -
float在内存中二进制的存储原理
上一篇文章http://blog.csdn.net/tina224243/article/details/51919993,通过直接读取float的地址显示出二进制码。float的存储扥指数部分和小数部分,本文将通过flotat的存储原理计算出二进制码,以及由二进制码反转显示float值; 参考:http://blog.csdn.net/nethibernate/article/details/6原创 2016-07-29 18:17:30 · 1268 阅读 · 0 评论 -
c primer plus第15章总结:位操作
二进制转十进制、八进制、十六进制//二进制转十进制:int bintodec(char* pbin){ char* temp = pbin; int len = strlen(temp); int binary = 0; for (int i = 0; i < len; i++) { int n = temp[i] - '0';原创 2016-07-29 18:03:49 · 551 阅读 · 0 评论 -
c primer plus第16章总结:C预处理器和C库
课后习题第四题:编写一个函数,接受一个时间延迟数作为参数,然后运行一个循环,直至这段时间过完;#include <stdio.h>#include <time.h>void delay(double time);int main(void){ double time; printf("input a time(in seconds) to delay(q to quit):"); whil原创 2016-07-29 19:34:01 · 527 阅读 · 0 评论 -
快速找中值
?1:n?0-MAX???????,???????????;??:??????;//1000?0-32?????,???????,??????;#include "stdafx.h"#include #include #define COUNT 1000#define RANGE 32void rank(int numbers[]);void tags原创 2016-07-15 18:21:29 · 2782 阅读 · 1 评论 -
常用堆栈操作
// 入栈void push(struct ListNode** head, int val){ struct ListNode* cur = *head; struct ListNode* pushnode = (struct ListNode*)malloc(sizeof(struct ListNode)); pushnode->val = val; push原创 2016-10-24 10:20:30 · 945 阅读 · 0 评论 -
c primer plus第5章总结:运算符、表达式、语句
1、sizeof 返回 size_t 类型的值,无符号整数类型,printf(" % zd", size_t); 或是用 %u,%lu ;2、取模运算符:%对于除法:如果第一个操作数为负数,,得到的模也为负数;如果第一个操作数为正数,模也为正数。-11/-5 = 2 % -1 11/-5 = -2 % 13、增量和减量:++,--a++:原创 2016-06-14 23:33:58 · 458 阅读 · 0 评论 -
c primer plus第3章总结:数据类型
1、整数上溢,浮点数上溢、下溢: int a;float b,c;a = 2147483647;b = 3.4E38*100.9f;c =3.4E38*-100.9f;printf ("int overflow is %d\n", a+1);// 整数上溢printf ("float upflow is %f\n", b);// 浮点数上溢printf (原创 2016-06-12 19:26:39 · 669 阅读 · 0 评论 -
c primer plus第14章总结:结构和其他数据形式
结构声明:struct book{ char title(MAX); char author(MAX); float value;};定义结构变量:声明:struct book library;初始化:struct book library = { "abd",// 用逗号隔开原创 2016-07-15 18:00:34 · 871 阅读 · 0 评论 -
C语言重写strncpy()、strcmp()、strchr()、atoi()函数
重写strncpy()函数char* repeat_strncpy(char* s, int n){ int len = strlen(s); // 目标:拷贝s的n个字符出去 // 但是len可能比n小 // 此时,需要把n重新赋值为len int copyCou原创 2016-07-07 19:03:33 · 1030 阅读 · 0 评论 -
c primer plus第13章总结:文件输入/输出
标准 I\O:标准文件: - 标准输入:getchar()、gets()、scanf(); - 标准输出:putchar()、puts()、printf(); - 标准错误输出:提供一个可发送错误消息的逻辑上不同的位置; 二进制模式打开文件时:\r\n表示换行,ctrl+Z 表示结束; 文本模式打开文件时:\n表示换行;打开文件函数:fopen()函数:FILE * fp = fop原创 2016-07-15 17:16:36 · 830 阅读 · 0 评论 -
c primer plus第12章总结:存储类、连接和内存管理
作用域 :代码块、文件作用域; 连 接 :外部连接(extern)、内部连接(static)、空连接; 存储时期:静态存储时期、自动存储时期; 注:static表面的是连接类型,并非存储时期;文件作用域变量,不管何种连接,都是静态存储时期;5种存储类型 存储类 存储时期 作用域 连接 声明方式 初始化 自动 自动 代码块、函数头部 空原创 2016-07-07 11:32:32 · 648 阅读 · 1 评论 -
c primer plus第9章总结:函数
1、函数使用: 函数原型:double min(doublex,doubley); 函数定义:doublemin(doublex,doubley) // 形参属于局部变量,函数私有;{ 函数实现功能} 函数调用:min(x, y);注意:doublemin(原创 2016-06-23 13:00:58 · 598 阅读 · 0 评论 -
c primer plus第10章总结:数组和指针
1、数组初始化 : 数组:元素数目+元素类型;int powers[4] = {1, 2, 4, 6} ; // 花括号,逗号隔开;未经初始化的数组,编译器会使用存储单元中的已有的数值给它赋值;days[] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 允许,编译器会根据列表中数值数目来确定数组大小;指定初始化项目: in原创 2016-06-23 13:02:14 · 573 阅读 · 0 评论 -
如何判断scanf()输入是int型、正整数
scanf()也有返回值,输入正确时,返回1,错误返回0;利用其返回值判断输入是否为int,若输入为字母、小数或其他特殊符号退出循环,代码如下:int main(void){int status, num = 1;printf("Please input a integer number:\n");status = scanf("%d", &num);whil原创 2016-06-01 13:35:22 · 6734 阅读 · 1 评论 -
c primer plus第4章总结:字符串和格式化输入输出
1、字符串打印格式:scanf("%s", name2); printf("my name is\" %s\"\n", name2);// 双引号内打印printf("my name is\" %20s\"\n", name2);// 宽度为20,右端打印printf("my name is\" %-20s\"\n", name2);// 宽度为20,左端打印n原创 2016-06-12 19:20:36 · 867 阅读 · 0 评论 -
结构体构造和析构函数
2017,尝试一切,坚持下去!之前面试遇到过这个题,这么基础的竟然不会写,丢人呀~ 前几天偶然看见某神的博文,基础的1-7仔细看了两遍,默写基本代码,练到手熟! 大神的博文:(http://blog.csdn.net/han_xiaoyang/article/details/10896159#comments)题:已知类String的原型为:class String { publ转载 2017-01-04 12:09:45 · 3546 阅读 · 0 评论