以图明志

C/C++编程语言

十个优秀的C语言学习资源推荐

助你成为优秀的程序员
人们通常认为计算机编程很烦,但是有些人却从中发现了乐趣。每一个程序员不得不跟随计算机编程语言的潮流。大多数的人以C语言作为开始编程的语言,因为C语言是在编写操作系统和应用程序中用的最为普遍的语言。如果你正在读这篇文章,很有可能你已经是一个编程人员或者想成为一名编程人员。

C/C++编程语言

C语言快速学习与入门指南

C语言学习之道
有人认为,现在是java和.net的时代,有谁还需要C以及汇编呢?孰不知,java和.net是建立在软件之上的,是为了垄断市场而建立起来的体系,犹如挖好一个金壁辉煌的坑,请你往下跳,还自以为站在巨人的肩膀上,事实上成了坑底之蛙。要成为一个真正的程序员,并期望成为一个程序员高手,必须从机器出发,从cpu到操作系统,再到软件体系。

C/C++编程语言

一套帮助你理解C语言的测试题

做完这套测试题你的C语言理解会更深刻
在这个网站http://stevenkobes.com/ctest.html上发现一套很有趣的C语言测试题,如果你招聘C语言相关开发人员,或者正在学习C语言,很值得做一做。如果没有做,下面内容暂时不要看,最好自己先完成一遍。

数据结构

C语言关于数组的常见操作汇总

看完这个数组问题基本都解决了
数组是最基本的数据结构,关于数组的操作是程序员最经常用到的。这里将一些常用的操作写成函数。数组求和:给定一个含有n个元素的整型数组a,求a中所有元素的和。可能您会觉得很简单,是的,的确简单,但是为什么还要说呢,原因有二,第一,这道题要求用递归法,只用一行代码。第二,这是我人生中第一次面试时候遇到的题,意义特殊。

计算机算法

C语言与MFC随机数组生成

rand()/nMax
C语言/C++产生随机数问题,这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。用按钮触发事件,先生成10个随机数字,装入数组,再将数组元素转换成CString类型拼接后在Edit Control控件上显示。

C/C++编程语言

C语言入门的几个简单程序

C快速入门代码
C语言入门很简单,因为常用的语法结构就那么几个,下面列举一些这些语法结构的简单程序例子,可以对C语言进行快速复习。程序包含使用 bool 变量、字符、常量、数学函数、特殊字符、for循环和函数等等。

C/C++编程语言

少走弯路,学好C语言的推荐途径

漫谈C语言及如何学习C语言
为什么要学习、使用C语言?为什么要学习一个可能比自己都岁数大的编程语言?选择一门编程语言,“为什么而学”这个目的是最重要的,目的不明确就没法学好。这也是为什么很多学生朋友在大学里必修C语言却觉得没学明白的原因。因为学习的目的不明确,学习当然也没有动力。还有一个原因是C语言是工程实践性很强的语言。

C/C++编程语言

C语言程序在内存中的运行情况

内存布局
C语言编写的程序经过编绎-链接后,将形成一个统一的文件,它由几个部分组成,在程序运行时又会产生几个其他部分,各个部分代表了不同的存储区域。栈空间是动态开辟与回收的。在函数调用过程中,如果函数调用的层次比较多,所需要的栈空间也逐渐加大,对于参数的传递和返回值,如果使用较大的结构体,在使用的栈空间也会比较大。

C/C++编程语言

C语言表达式中的类型隐式转换

从一个程序的Bug说起
sizeof求算类型大小时的返回值是unsigned int类型,而d是signed int,if语句测试两者大小,d会自动升级为unsigned int,-1转换为unsigned int是一个很大的正整数,所以表达式的值永远为假,因此后面的赋值语句永远不会执行。这里面就是类型转换带来的bug,如果稍不注意,则可能对整个工程或者项目造成无法预测的后果,而这个bug是很难直接调试能够调试得出来的。

C/C++编程语言

C 语言折半查找的例子

折半查找是很常见的一个算法
有一个数组 v 已经按升序排列了,数组 v 有 n=20 个元素。数组中有个元素 x,如何知道 x 位于该数组的第几位呢?思路很简单:首先将输入值 x 与数组 v 的中间元素比较,如果 x 小于中间的元素,则将 high 值设为 中间元素-1,同理,若 x 大于中间元素,则将中间元素 + 1作为 low,再在low 与 high之间进行查找。

C/C++编程语言

C语言随机数生成

rand()函数与srand()函数的使用
C语言/C++产生随机数要用到的是rand()函数,srand()函数,C语言/C++里没有自带的random(int number)函数。函数srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

C/C++编程语言

C语言中的&地址操作符

取地址符&的语义你了解吗
&在用于计算时就是取变量地址,如int* a = &b,就是将整型变量b的地址取出,赋值给整型指针a,a中的内容就是b的地址,所以a指向b。*在用于计算时,就是取指针所指向的地址中的值,如int b = *a,就是将整型指针a指向的地址中存放的内容赋值给整型变量b。C语言中,&符号大家一定很熟悉吧,它除了可以作为按位运算“与”之外还有更常用的功能——取变量地址。

C/C++编程语言

C语言使用指针访问数组

下标与指针其实是等价的
如果pa指向数组中的某个元素,那么pa+1将指向下一个元素,pa+i指向下i个元素。所以,若果pa指向a[0],那么*pa其实就是a[0],*(pa+1)就是a[1],*(pa+i)就是a[i]。根据这个思路,我们可以使用指针来访问数组。

C/C++编程语言

C语言stringcopy()的底层实现

C 程序设计:字符串复制
字符串常量实际上是个字符数组,比如 welcome to www.nowamagic.net 就是个字符数组,并且以 '\0' 结尾。字符串串常量的一个常见的用法就是作为函数参数,比如常见的 printf("welcome to www.nowamagic.net"); 字符串参数实际上是通过字符指针访问该字符串的。这里的 printf() 函数接受的是一个指向字符数组第一个字符的指针。

C/C++编程语言

C语言将数字转化为字符串

底层算法的实现
函数 char *digitToAlpha (int val, char *buf, unsigned radix) 的功能是将数值转换为字符串。参数:第一个是要转化的整数,第二个是转化后的字符串,第三个是要转化整数的基数,就是说如果基数是10,就可以直接转化,如果不是10,是其他值(2-36之间),则先把该整数转化为该基数的数后,再转化为字符串。

C/C++编程语言

C语言strcmp()函数是如何实现的

C 程序设计:字符串比较
函数 int stringcompare(char *source, char *target) 比较字符串 source 和 target,并根据 source 是否小于、等于或大于 target 的结果分别返回负整数、0或者整数。该返回值是 source 和 target 由前后逐字符比较时遇到的第一个不相等字符处的字符的差值。
1 / 2 首页 < Prev 1 2 Next > 尾页 页码: