C/C++
文章平均质量分 68
linuxlinuxlinuxlinux
这个作者很懒,什么都没留下…
展开
-
有符号数与无符号数之间运算问题
以下实验均在virual c++6中运行通过 这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。 首先进行一个实验,分别定义一个signed in转载 2012-10-31 14:11:51 · 669 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(八)
第九章 结构体和共用体一、结构体由一系列具有相同类型或不同类型的的数据构成的数据集合(但不能包含函数类型)1.定义 1)第一种形式struct 结构体类型名{ 数据类型名1 成员名1;......... 数据类型名2 成员名2;};struct 结构体类型名 变量名列表; 2)第二种形式struct 结构体类型名{原创 2013-01-14 08:42:47 · 1322 阅读 · 0 评论 -
H面试程序(1)编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的 下一秒
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入 2004 年 12 月 31 日 23 时 59 分 59 秒,则输出 2005年 1 月 1 日 0 时 0 分 0 秒。void ResetTheTime(int *year,int *month,int *date,int *hour,int *minute,int*second){ int原创 2013-07-29 20:49:53 · 6013 阅读 · 0 评论 -
面试准备(常用函数和数据结构)C++Vector用法
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#include 。vector 是一个类模板。不是一种数据类型,vector是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。一、 定义和初始化vecto转载 2013-07-26 15:28:10 · 865 阅读 · 0 评论 -
char str[] 和 char *str的区别
char* get_str(void) { char str[] = {"abcd"}; return str; } char str[] = {"abcd"};定义了一个局部字符数组,尽管是数组,但它是一个局部变量,返回它的地址肯定是一个已经释放了的空间的地址。 此函数返回的是内部一个局部字符数组str的地址,且转载 2013-08-11 23:23:16 · 894 阅读 · 0 评论 -
H面试程序(0):字符串一些常用函数的实现
1、Strcat函数原型如下:char *strcat(char *strDest, const char *strScr) //将源字符串加const,表明其为输入参数{ char * address = strDest; //该语句若放在assert之后,编译出错 assert((strDest != NULL) && (strS原创 2013-08-11 23:33:01 · 1192 阅读 · 0 评论 -
面试准备(常用函数和数据结构)freopen (在程序调试时从文本输入,程序结果放在文本中)
1、int putc(int ch, FILE *stream); 输出一字符到指定流中int main(void){ char msg[] = "Helloworld\n"; int i = 0; while (msg[i]) putc(msg[i++], stdout); return 0;} 2、int putchar(int ch);转载 2013-07-26 10:00:03 · 945 阅读 · 0 评论 -
面试准备(语法类)(int&)a和(int)a的区别
#include #include #include using namespace std;int main(){ float a = 1.0f; cout << (int)a << endl; cout << (int&)a << endl; cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么? float转载 2013-07-26 14:47:12 · 717 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(六)
第7章指针C语言编写的程序至今仍能和汇编语言程序相媲美,其中一个重要原因就是拥有一种数据类型——指针(内存操作)1.指针和地址 间接访问方式 通过变量来访问( 计算机用一个别称(变量)来标识存储单元,计算机在寻找内存的数据时就要先把这个别称翻译成地址才行 ) 直接访问方式 通过地址来访问 ps: 变量其实就是内存存储单元的一个临时的别名,而地址才是这个存原创 2013-01-10 17:12:52 · 1152 阅读 · 2 评论 -
在main函数内和外定义的结构体的作用范围
#include struct struct_out_main{int a;}; void fun(void) { // struct struct_in_main var1; //这条语句会报错,因为struct struct_in_main的定义在这个函数内是不可见的,它只在main()中可见 struct struct_out_main var转载 2013-09-13 13:06:33 · 5433 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(七)
第八章 预处理cpp源文件——(预编译)》预处理文件——(编译)》目标文件——(连接)》可执行文件预处理:源文件在进行编译时第一遍扫描之前做的工作(词法分析和语法分析)程序员与预处理器进行交互的工具是一种被称作预处理器指示的命令(一些以“#”号开头的单行命令)编译的源文件test.cpp#include #define PI 3.1415926int main( ){原创 2013-01-12 10:18:52 · 1721 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(九)
第十章 文件文件就是一组相关元素或数据的有序集合,每个集合都有一个符号化的指代(文件名)文件通常都被存在外部存储器上,它只在需要使用时被调入内存一.相关概念:1.主要分类 1). 普通文件:驻留在磁盘或其他外部介质上的一些有序数据集, 2).设备文件(逻辑上的文件): 和主机相连的各种外部设备:如显示器、打印机、键盘2.流的概念 流就是表示文本输入(或输出)原创 2013-01-16 09:07:54 · 2125 阅读 · 48 评论 -
《C语言参悟之旅》-读书笔记(四)
第五章 函数Ps: 函数的语法本身并不复杂,真正需要编程者去理解和体会的往往是如何用函数来拆解问题,使用函数的水平直接反映在编程者能够组织多大规模的程序1.C语言中的main( )函数 main( )函数可以调用任何C语言函数; 但任何C语言函数都不能调用main( )函数,main( )函数通常在其所属的程序执行时被操作系统调用。2原创 2013-01-01 21:36:22 · 736 阅读 · 0 评论 -
ctype.h中包含的函数
isalpha 函数名称: isalpha 函数原型: int isalpha(int ch); 函数功能: 检查ch是否是字母. 函数返回: 是字母返回非0 ,否则返回 0. 参数说明: 所属文件 #include #include int main() { char ch1='*';原创 2012-11-02 09:31:42 · 1682 阅读 · 0 评论 -
QQ通信原理
一、登陆。 不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。因此,假如你所在的网络开放了80端口(80端口是最常用端口。。就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的。二、聊天消息通转载 2012-11-23 19:37:14 · 703 阅读 · 0 评论 -
#pragma once 和 #ifndef,#define,#endif
1.#pragma once是编译器相关的,就是说即使这个编译系统上有效,但在其他编译系统也不一定可以,不过现在基本上已经是每个编译器都有这个杂注了。 #ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式 2.简单说明:转载 2012-12-27 16:59:23 · 930 阅读 · 0 评论 -
换行和回车的区别
我一直没有搞得很清楚,回车和换行符有啥区别。记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个笔记吧。符号 ASCII码 意义\n 10 换行NL\r 13 回车CR回车 \r 本义是光标重新回到本转载 2012-12-29 15:06:59 · 487 阅读 · 0 评论 -
main函数的两个参数
C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为: 由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参值转载 2012-12-20 18:30:42 · 858 阅读 · 0 评论 -
随机数的产生rand( ) 和srand( )
rand和srand的用法首先对rand 和 srand有个总体的看法:srand初始化随机种子,rand产生随机数,rand(产生随机数)表头文件: #include定义函数 :int rand(void)函数说明 :因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至转载 2012-12-20 21:49:42 · 539 阅读 · 0 评论 -
《C语言参悟之旅》 -读书笔记(一)
最近在看《C语言参考之旅》,感觉这本书不错,作者有用心去写,也写出了一些实际开发过程中雪要注意的细节,和高校教师所编的书还是有一定区别,初看好像很简单,但仔细看还是有一定的深度,适合掌握了一些基本语法的 C语言学习者学习,本文记下了阅读过程中自己认为比较重要而在学校教材里没有讲透彻的地方摘录下来原创 2012-11-10 00:26:49 · 1315 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(三)
第四章 流程控制1.流程图(当初学的时候觉得很麻烦,现在觉得对整理编程思路帮助还是很大)2.顺序结构 3.分支结构 1)形式 ( else 总是与其前面最近的 if 配对 ) A . if(表达式) 语句; B. if(表达式) 语句1; else原创 2012-11-19 23:07:45 · 667 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(五)
第六章 数组和字符串 Ps:将同种类型数据进行有序组织以便于管理一、一维数组 类型说明符 数组名[ 常量表达式 ]; 1. 数组在定义的时候,数组的大小一定要确定: 这样是错误的! 但在访问数组元素的时候可以是数值也可以是表达式: 2. 初始化:注原创 2013-01-03 11:04:41 · 629 阅读 · 0 评论 -
《C语言参悟之旅》-读书笔记(二)
第三章 运算符、表达式和语句1.在表达式中使用( )是一种很好的编程方式能大大提高程序的可读性如: 标准C中对很多运算符的求值顺序都没有进行明确规定,实现顺序与具体实现有关( 编译环境) -a +b / 2 - c * 5原创 2012-11-12 11:59:59 · 823 阅读 · 0 评论