C语言
文章平均质量分 63
普通网友
这个作者很懒,什么都没留下…
展开
-
C语言中显示变量所占字节数;字节、字、字长;原码、反码、补码
Type Size char, unsigned char, signed char 1 byte short, unsigned short 2 bytes int, unsigned int 4 bytes long, unsigned long原创 2011-03-09 15:50:00 · 7853 阅读 · 0 评论 -
冒泡排序算法分析
void BubbleSort(int *a, int n){ int i,j; int x; for(i=1;i<n;i++) { for(j=0;j<n-i;j++) //找到一组中最大的 { if(a[j]>a[j+1]) { //进行交换 x = a[j]; a[j] = a[j+1]; a[j+原创 2012-06-29 23:38:31 · 731 阅读 · 0 评论 -
排序算法
1、常用的排序算法的时间复杂度和空间复杂度 2、关于常见排序算法的稳定性分析和结论 1)稳定性通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 2)选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数原创 2012-06-29 23:00:16 · 450 阅读 · 0 评论 -
源码:微软strcpy,strcat和strcmp的实现源代码 itoa atoi
/****char *strcpy(dst, src) - copy one string over another**Purpose:* Copies the string src into the spot specified by* dest; assumes enough room.**Entry:* char * dst - string over whi转载 2011-01-10 22:48:00 · 1195 阅读 · 0 评论 -
C指针相关
main(){ int a = 5; int *p = &a; printf("p=%d,\n",p); /* p 内容:即地址&a */ printf("&p=%d,\n",&p); /* 指向p 地址的地址相当于int**p */ printf("*p=%d,\n",*p); /*原创 2011-10-22 21:15:48 · 387 阅读 · 0 评论 -
C语言面试题收集
预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你原创 2012-06-30 23:17:09 · 952 阅读 · 0 评论 -
递归
用递归法求n的阶乘#include stdio.h>void main(){ float f(int);//函数原型 int n; float sum; printf("你想求谁(整数)的阶乘:"); scanf("%d",&n); sum=f(n); printf("%d!=%.2f/n",n,sum);}转载 2011-03-16 16:09:00 · 1476 阅读 · 0 评论 -
指针
1. 指针是C语言中一个重要的组成部分,使用指针编程有以下优点:(1)提高程序的编译效率和执行速度。(2)通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯。(3)可以实现动态的存储分配。(4)便于表示各种数据结构,编写高质量的程序。2. 指针的运算(1)取地址运算符&:求变量的地址(2)取内容运算符*:表示指针所指的变量(3)赋值运算原创 2011-04-03 10:39:00 · 747 阅读 · 0 评论 -
const
关于C++ const 的全面总结http://blog.csdn.net/Eric_Jo/archive/2009/04/30/4138548.aspx 关于Const常量内存使用http://hi.baidu.com/dai186/blog/item/81743ade10413919485403bd.html const变量的存储区及修改权限http://blog.转载 2011-03-29 23:02:00 · 554 阅读 · 0 评论 -
Main 函数
1、C语言关于main函数http://blog.lehu.shu.edu.cn/Lucifer/A21924.html2、main函数之前http://beyrens.blog.163.com/blog/static/958944522010427092985/3、ARM中 __main()函数前的初始化代码(汇编与C main()函数的接口)http://patonwang原创 2012-07-15 20:49:37 · 472 阅读 · 0 评论 -
指针函数
1.指针函数的定义 顾名思义,指针函数即返回指针的函数。其一般定义形式如下: 类型名*函数名(函数参数表列); 其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“*”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为…的指针(地址),“类型名”表示函数返回的指针指向的类型”。转载 2012-07-25 22:12:30 · 367 阅读 · 0 评论 -
C语言函数调用三种方式:传值调用,引用调用和传地址调用
我想,你只要看了C语言上关于传值函数调用的测试题,一切都会了然于胸: 1. 考题一:程序代码如下:void Exchg1(int x, int y) {int tmp;tmp=x;x=y;y=tmp;printf(“x=%d,y=%d/n”,x,y)}void main(){int a=4,b=6;Exchg1 (a,b) ;printf(“转载 2012-07-25 21:54:20 · 1468 阅读 · 0 评论 -
变量的定义,初始化和声明
变量的定义、初始化和声明在学高级编程语言时已经讲到过的,不过通过自己的编程经验,这里面有一些基本的本质问题要掌握。1-definition 变量的定义变量的定义主要是为变量申请内存空间用。(编译器要管理该变量名字和申请该变量的内存大小)比如: QObject * myobject;int x;第一个语句是定义一个指针类型的变量myobject,4个字节的内存空间。(在这里一转载 2012-08-24 10:27:11 · 765 阅读 · 0 评论 -
C 字符串 数组
一、 字符数组的初始化 字符数组可以在定义时进行初始化.有两种初始化方法. 方法1:逐个字符赋给数组中各元素.这种方法最容易理解 (1)如果大括号内提供的初值个数(即字符个数)大于数组长度,则编译时将出错. 如果初值个数小于数组长度,则只将这些字符赋给前面的数组元素,其余的元素自动赋空字符(即'\0') char c[5]={ 'H','a','p','p'原创 2012-08-09 11:14:52 · 923 阅读 · 0 评论 -
Make File
GNU Make 使用手册(中译版) http://www.eifr.com/linkfiles/file/gnumake.htmMakefile常用函数表 http://blog.163.com/muren20062094@yeah/blog/static/161844416201151922730312/ 1.Makefile中判断目录是否存在1). 调用shell原创 2012-08-24 13:31:15 · 453 阅读 · 0 评论 -
数据结构相关
一、线性表的链式存储及相关操作 C语言版二、C语言实现双向链表的基本操作三、面试题1. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:q=head;while (q->next!=p) q=q->next;s= new Node; s->data=e;q->next= ; //填空 s->ne原创 2012-07-10 23:32:58 · 899 阅读 · 0 评论 -
C语言面试题收集(函数调用、指针等)
C语言面试题汇总(华为公司)http://blog.csdn.net/pfgmylove/archive/2008/11/02/3207236.aspx中兴MTK mmi面试题(其中的部分)http://blog.csdn.net/fengye245/archive/2010/07/17/5741370.aspxC语言面试题总汇http://blog.csdn.net/ljx0原创 2011-03-08 14:22:00 · 1396 阅读 · 0 评论 -
C 数组
1、数组初始化http://www.cnblogs.com/zl450296530/archive/2008/11/06/1328199.htmlASNI c99 标准里int a[10]={0};是完全正确的,并指定a[0]的值为0,但你并没有给后面的变量赋值,编译器会自动把没有赋值的变量初始化为数组最后一个成员的值,即int a[10]={0};数组a的值都被初始化为了0 2、原创 2011-08-17 22:57:43 · 471 阅读 · 0 评论 -
C语言转义字符及其含义
字符形式含 义ASCII码(16/10进制)/r回车符(CR),将当前位置移到本行开头(0x0DH / 13)/n换行符(LF),将当前位置移到下一行开头(0x0AH / 10)/t水平制表符(HT),跳到下一个tab位置(0x09H / 9)/b退格符(BS),将当前位置移到前一列(0x08H / 8)/f换页符(FF),将当前位置移到下页开头(0x0CH / 12)/0空字符(NULL)(0x00H / 0)/a响铃(BEL) (0x07H / 7)/’单引号(撇号)字符(0x27H / 39)/转载 2011-03-09 15:53:00 · 1230 阅读 · 0 评论 -
C语言的printf函数(格式输出函数)
1 一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c/n",i,ch); 说明: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。 ②普通字符,即需要原样输出的字符。 (2)“输出表列”是需要输出的一些数据,可以是表达式 (3) printf函数的一般形式可以表示为 printf(参数1,参数2,…转载 2011-03-09 16:03:00 · 1156 阅读 · 0 评论 -
堆(head)、栈(stack)、内存分配
简单的可以理解为:heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。预备知识-程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) - 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似转载 2011-03-14 13:51:00 · 1964 阅读 · 0 评论 -
#define与typedef
21 define中的特殊标识符#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #xint a=Conn(12,34);char b=ToChar(a);char c[]=ToString(a);结果是 a=1234,b='a',c=”a”;可以看出## 是简单的连接符,#@用来给参数加单引号转换成单字符(最后一个字符) #用来给参数加双引号即转成字符串typedef和#define的用法与区别一、typedef的用法在C/C+转载 2011-03-14 14:02:00 · 1289 阅读 · 0 评论 -
#include "stdio.h" 与#include的区别
<br />简单的来说就是:<br />#include "stdio.h " <br />当要调用某个函数时先在用户自已编写的文件中查找,如果找不到再到库文件里去找, <br /><br />而#include <stdio.h> 是直接到库文件里去找 <br /><br />所以如果是调用自己写的函数的话就用#include "stdio.h ",这种形式 <br />而调用标准库函数的话就用#include <stdio.h> 这种形式,可以提高速度原创 2011-03-16 09:29:00 · 1145 阅读 · 0 评论 -
C语言位操作符的使用
<br /> C语言的设计具备了汇编语言的运算能力,它支持全部的位操作符。位操作符是对字节或字中的位进行测试、置位或移位处理,在对微处理器的编程中,特别适合对寄存器、I/O端口进行操作。<br />6种伟操作符:<br />(1) & :按位“与”——仅当两个操作数为1时,结果为1,否则为0。如:1000 1000 & 1000 0001 = 1000 0000;<br />(2) | :按位“或”——仅当两个操作数为0时,结果为0,否则为1。如:1000 1000 | 1000 0001 = 10转载 2011-03-16 10:12:00 · 1019 阅读 · 0 评论 -
int和char atoi和itoa
<br />char int <br />http://topic.csdn.net/t/20060821/09/4963376.html<br />char 定义字符型数据 <br />int 定义整型数据 <br />存储空间、取值范围不一样 <br />CHAR在电脑自然也是整数形式 <br />不过显示的时候 就根据整数的数值找到相应的字符显示<br />一般在32位系统里int 占4个字节,char占1个字节<br />char+int时,char自动提升为int<br />转载 2011-03-20 10:23:00 · 989 阅读 · 0 评论 -
a++ ++a
/* a++.C -- a++, ++a */#include "stdio.h"#include "conio.h"main(){ int a,b,c,d,e; a = 10; b = a++; /* 先赋值,再计算 也就是b=10 赋值完a=11 */ c = ++a; /* 先计算++,c=12 a=12 */ d = 10 * a++; /* 先赋值d 然后a++ d=120 a=13 *原创 2011-03-21 22:51:00 · 659 阅读 · 0 评论 -
strlen与sizeof
<br />C语言中的strlen与sizeof的区别<br />http://blog.csdn.net/chenjin_zhong/archive/2010/12/25/6097984.aspx<br />解析C语言中的sizeof<br />http://www.eefocus.com/chenzhufly/blog/09-03/166621_d1d3f.html<br />解析C/C 语言中的sizeof和strlen #pragma pack<br />http://www.360doc.com/转载 2011-03-22 22:30:00 · 662 阅读 · 0 评论 -
Static
http://dlyx108.blog.163.com/blog/static/37463096200931114943633/static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域================================================一、c中static的作用(1)它的第一条也是最重要的一条:隐藏。(2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变转载 2011-03-29 17:48:00 · 662 阅读 · 0 评论 -
C程序存储空间布局
从历史上讲,C程序一直由下面几部分组成:(1) 栈由编译器自动分配释放管理。局部变量及每次函数调用时返回地址、以及调用者的环境信息(例如某些机器寄存器)都存放在栈中。新被调用的函数在栈上为其自动和临时变量分配存储空间。通过以这种方式使用栈,C函数可以递归调用。递归函数每次调用自身时,就使用一个新的栈帧,因此一个函数调用实例中的变量集不会影响另一个函数调用实例中的变量。 a.局部变量 b.函数调用时返回地址 c.调用者的环境信息(例如某些机器寄存器)(2) 堆需要由程序员分配释放管理,若程序转载 2011-03-29 17:20:00 · 1189 阅读 · 0 评论 -
extern用法
http://www.cnblogs.com/luliang/archive/2008/08/21/1272746.html1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,exte转载 2011-03-14 14:20:00 · 660 阅读 · 0 评论 -
C 数组 排序 小结
http://blog.csdn.net/sunnytina/article/details/6617708 (1)“冒泡法” 冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1]转载 2011-09-07 16:50:35 · 529 阅读 · 0 评论 -
C qsort 排序
http://blog.sina.com.cn/s/blog_51cea4040100r4hr.html C语言标准库函数qsort排序的介绍与使用 qsort函数声明如下:void qsort(void *base, size_t nmemb, size转载 2011-09-08 16:31:14 · 861 阅读 · 0 评论 -
memset,strcpy memcpy memmove
memset,strcpy memcpy memmove 百度百科:memset:http://baike.baidu.com/view/982208.htm memcopy: http://baike.baidu.com/view/736225.htm转载 2011-03-20 10:40:00 · 875 阅读 · 0 评论 -
请问怎么把一个int存到一个char [4]里面
1)int i;char c[4];*(int *)c = i; //如果sizeof(int) == 42)union aaa { int i; char ch[sizeof int];};3)还有一种很标准的方法:int i;转载 2011-10-11 16:05:47 · 1772 阅读 · 0 评论