![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C编程基础
文章平均质量分 56
生命不止coding不息
外修语言,内炼算法。勤于思考,多写原创。
展开
-
浙江大华2012笔试题+答案解析
转自:http://www.cnblogs.com/jerry19880126/archive/2012/08/05/2623982.html请写出下面程序的输出结果:1、int count = 3; int main(void) { int i, sum, count = 2; for(i=0,sum=0; i { static转载 2015-06-26 18:38:35 · 469 阅读 · 0 评论 -
C++基础2-类
11 类的概念#include "iostream.h"using namespace std;int score=0;class test{public:int name;int score;private:int age;int gender;public:void GetScore();}void test::GetScore()原创 2015-09-06 20:20:19 · 331 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两原创 2015-07-06 06:35:01 · 432 阅读 · 0 评论 -
关于一个int *ptr=(int *)(&a+1)问题的探讨
main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出为:2,5请解释以上代码的输出结果。答案如下:*(a+1)其实很简单就是指a[1],输出为2.问题关键就在于第二个点,*(ptr-1)输出为多少?转载 2015-06-29 18:51:33 · 371 阅读 · 0 评论 -
华为2012.09.03浙大机试题
华为2012.09.03浙大机试题转自:http://www.cnblogs.com/jerry19880126/archive/2012/09/08/2676291.html1、通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串“abacacde”过滤结果为“ab转载 2015-06-26 18:40:17 · 392 阅读 · 0 评论 -
《程序员面试宝典》(第三版)笔记整理
不怎样的一本书,具体表现为:1)该详细讲解的地方,或者一笔带过或者讲得不全面或者讲些不相关内容;2)该略过的地方,反而详细起来;3)有一部分错误,如sizeof不计算static变量的大小之类的。虽说如此,收获还是有的——知道了在笔试中常见的知识点。这里的笔记就是对我不熟悉或者理解不全面的知识点去Google和查书而来的。C++的关键字1. 使用extern "C"的理由函转载 2015-06-21 20:24:56 · 508 阅读 · 0 评论 -
C++基础1
详见:http://wenku.baidu.com/link?url=N9nIrg8enM6jCuQAbGG3NzmJ2BCTb6XCK4V9DuRq8l-SaAhjy6JLcU40SQFNWucfPFGnfzhFsxDZsbvRyI7oWeekp8WqcvrPnBhJIHz651a1.const用法const int *pi;const *int pi;2.数组名,指针,引用原创 2015-09-06 19:53:20 · 358 阅读 · 0 评论 -
C++基础
1.C时间计算函数(单位ms)#include "windows.h"double start = GetTickCount();double end = GetTickCount();printf("The cost time is %f",end - start);2.MFC显示变量String str;str.Format(_T("%f"),cost);Afx原创 2015-09-06 15:33:23 · 331 阅读 · 0 评论 -
Matlab与C++混合编程(依赖OpenCV)
Matlab与C++混合编程(依赖OpenCV)转自:http://blog.csdn.net/zouxy09 之前在运行别人论文的代码的时候,经常有遇到Matlab与C++混合编程的影子。实际上就是通过Matlab的Mex工具将C++的代码编译成Matlab支持调用的可执行文件和函数接口。这样一方面可以在Matlab中利用已经编写好的函数,尽管这个函数是用C转载 2015-06-23 09:55:55 · 489 阅读 · 0 评论 -
《程序员面试宝典》(第三版)笔记整理
《程序员面试宝典》(第三版)笔记整理转自:http://www.cnblogs.com/FengYan/archive/2012/10/31/2747144.html不怎样的一本书,具体表现为:1)该详细讲解的地方,或者一笔带过或者讲得不全面或者讲些不相关内容;2)该略过的地方,反而详细起来;3)有一部分错误,如sizeof不计算static变量的大小之类的。虽说如此,收获还是有的转载 2015-06-23 09:27:22 · 558 阅读 · 0 评论 -
全局变量和局部变量
局部变量能否和全局变量重名,如何引用一个已经定义过的全局变量,全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?,接下来为您一一介绍1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部转载 2015-06-26 18:11:11 · 918 阅读 · 0 评论 -
Mac上编译出现NSObjCRuntime.h unknown type name nsstring问题
大约遇到下面的问题Expected identifier or '('Unknown type name 'NSString'Unknown type name 'Protocol'...还有NSString.h、NSZone.h、NSObject.h也会提示类似的错误,根据此链接,我定位到问题原因为引入了一个c文件,把c文件修改成m文件,再编译就没有问题了估计原创 2015-08-17 18:12:38 · 1388 阅读 · 0 评论 -
编写高效的C程序与C代码优化
虽然对于优化C代码有很多有效的指导方针,但是对于彻底地了解编译器和你工作的机器依然无法取代,通常,加快程序的速度也会加大代码量。这些增加的代码也会影响一个程序的复杂度和可读性,这是不可接受的,比如你在一些小型的设备上编程,例如:移动设备、PDA……,这些有着严格的内存限制,于是,在优化的座右铭是:写代码在内存和速度都应该优化。整型数 / Integers在我们知道使用的数不可能是负转载 2015-08-18 10:33:04 · 504 阅读 · 0 评论 -
C常见面试题
1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?C++语言支持函数重载,C语言不支持函数重载。C++提供了C连接交换指定符号extern “C”2.逗号运算符特点:(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。(3) 逗号运算符的优原创 2015-07-06 06:24:26 · 490 阅读 · 0 评论 -
C代码优化方案
C代码优化方案1、选择合适的算法和数据结构2、使用尽量小的数据类型3、减少运算的强度(1)、查表(游戏程序员必修课)(2)、求余运算(3)、平方运算(4)、用移位实现乘除法运算(5)、避免不必要的整数除法(6)、使用增量和减量操作符(7)、使用复合赋值表达式(8)、提取公共的子表达式4、结构体成员的布局转载 2015-08-18 10:17:50 · 2417 阅读 · 0 评论 -
Mac 程序员必备软件
1.xcode2.homebrew3.github:http://www.cnblogs.com/heyonggang/p/3462191.html4.python:http://blog.csdn.net/fancylovejava/article/details/391403735.vim6.Tunnelblick: for VPN原创 2015-07-27 10:43:48 · 547 阅读 · 0 评论 -
RGB转LAB代码
思路:先RGB转成XYZ,再XYZ转LAB代码:RGB2XYZ(const int& sR,const int&sG,const int& sB,double& X, double& Y, double& Z){double R = sR/255.0;double G = sG/255.0;double B = sB/255.0;double原创 2015-09-06 15:39:50 · 964 阅读 · 0 评论 -
常见笔试编程题
//字符串翻转char* strReverse(char* str){char* start=str;char* end=str+strlen(str)-1;char temp;if(str!=NULL){while(start{temp = *start;*start++ = *end;*end-- = temp;}}retur原创 2015-09-14 16:53:29 · 538 阅读 · 0 评论 -
大华笔试题
一、 判断题(4分每题,共20分)1、 在同一个.c文件中,局部变量可以和全局变量重名。(对)2、 在数组定义int a[2][2]={{3},{2,3}};则a[0][1]的值为0。(对)3、 int (*ptr)(),则ptr是一维数组的名字。(错)4、 指针在任何情况下都可进行>,=,5、 Switch(c)语句中c可以是int,long,char,float,unsig原创 2015-06-26 18:23:27 · 3456 阅读 · 0 评论 -
实用的代码优化方法
1.移位比直接乘除效率高a=a*4; b=b/4; 可以改为: a=ab=b>>2; a=a*9;a=a*7 ;可以改为:a*(8+1);a*(8-1);即 a=(aa=(a注意事项:(1)char、short、int、long、unsigned char、unsigned short、unsigned int、unsigned long都可以进行移位操作;(2)doubl原创 2015-09-23 12:00:30 · 332 阅读 · 0 评论 -
一些代码优化的方法
谈到优化,很多人都会直接想到汇编。难道优化只能在汇编层次吗?当然不是,C++层次一样可以作代码优化,其中有些常常是意想不到的。在C++层次进行优化,比在汇编层次优化具有更好的移植性,应该是优化中的首选做法。1 确定浮点型变量和表达式是 float 型为了让编译器产生更好的代码(比如说产生3DNow! 或SSE指令的代码),必须确定浮点型变量和表达式是 float 型的。要特别注意的是,以转载 2015-08-18 10:13:22 · 471 阅读 · 0 评论