首页 移动开发 在线交易 IT笔记 网络技术 操作系统 企业架构 数据库 考试认证 IT培训 开源软件 数据存储 行业资讯
大家都在看:java   开发   C#   oracle   mysql   android   web开发   学习   sqlserver   linux   asp   php   ajax   javascript   css   html
C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。

我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益) 变量的声明有两种情况: 1、一种是需要建立存储空间的。例如:inta在声明的时候就已经建立了存储空间。 2、另一种是不需要建立存储空间的。例如:externinta其中变量a是在别的文件中定义的。 前者是“..
 发表于:C语言
·C-00001-字符处理 C语言 [2012-10-23]
#include<stdio.h> #include<stdlib.h> #include<string.h> #defineMAX_COLS20 #defineMAX_INPUT1000 intread_column_numbers(incolumns[],intmax); voidrearrange(char*output,charconst*input,intn_columns,intconstcolumns[]); intmain(void) { intn_columns; intcolumns[MAX_COLS]; charinput[MAX_INPUT]; charoutput[MAX_INPUT]; n_columns=read_column_numbers(col..
 发表于:C语言
题目:有一堆石头质量分别为W1,W2,W3...WN.(W<=100000)现在需要你将石头合并为两堆,使两堆质量的差为最小。 这道题目可以用01背包问题来解决。即求出和最接近sum/2的一个子集令f(i,j)表示前i个元素中和最接近j的子集的和(有点绕),则有:f(i,j)=max(f(i-1,j),f(i-1,j-a[i])+a[i]),其中a数组是用来存储所有石头的质量的。 源码如下: [cpp]viewplaincopyprint? #include<stdio.h> #defineN5 ..
 发表于:C语言
//ZOJ3464RugbyFootball //水题 #include<stdio.h> #include<stdlib.h> #defineN10005 inta[N]; intn,t,l; intcmp(constvoid*a,constvoid*b){ return*(int*)b-*(int*)a; } intmain(){ intT; inti; scanf("%d",&T); while(T--){ scanf("%d%d%d",&n,&t,&l); for(i=1;i<=n;++i) scanf("%d",&a[i]); qsort(a..
 发表于:C语言
//ZOJ3465TheHive //暴力模拟 #include<iostream> #include<stdio.h> #include<stack> usingnamespacestd; #defineN10 intn; chars[N]; stack<char>S[N]; intarr[N]={0,7,8,9,10,11,10,9,8,7}; ..
 发表于:C语言
·gcc嵌入汇编 C语言 [2012-09-26]
具有输入和输出参数的嵌入汇编语句的基本格式为: asm( "汇编语句“ :输出寄存器列表 :输入寄存器列表 :会被修改的寄存器列表 ); asm是嵌入汇编的关键字,“汇编语句”是写汇编指令的地方,“输出寄存器”是指这段嵌入汇编执行完之后,哪些寄存器用于存放输出数据,这些寄存会会分别对应一C语言表达式值或一个内存地址;“输入寄存器”表示在开始执行..
 发表于:C语言
一下内容仅是个人理解,有错误之处,望大家谅解和指正。 a[i][j]使用时间:94s for(k=0;k<10000;k++) for(i=0;i<MAX;i++) for(j=0;j<MAX;j++) a[i][j]=0; a[j][i]使用时间:488s for(k=0;k<10000;k++) for(i=0;i<MAX;i++) for(j=0;j<MAX;j++) a[j][i]=0; 我将两种方法使用gcc生成了汇编代码。使用diff比较只发现了一下四句汇编代码的不同 1c1 <.file"array..
 发表于:C语言
在gcc中,可以使用attribute关键字,声明constructor和destructor,代码如下: [cpp]viewplaincopyprint?#include<stdio.h> __attribute((constructor))voidbefore_main() { printf("%s/n",__FUNCTION__); } __attribute((destructor))voidafter_main() { printf("%s/n",__FUNCTION__); } intmain(intargc,char**argv) { printf("%s/n",__FUNCTI..
 发表于:C语言
·C语言要点 C语言 [2012-09-21]
一关键字: 1.static: 第一个作用:修饰变量。变量又分为局部和全局变量,但它们都存在内存的静态区。由于被static修饰的变量总是存在内存的静态区,所以即使这个函数运行结束,这个静态变量的值还是不会被销毁,函数下次使用时仍然能用到这个值。 staticintj; voidfun1(void) { staticinti=0; i++; } voidfun2(void) { j=0; j++; } intmain() { for(..
 发表于:C语言
对于一个只用C写十几二十行程序的菜鸟,也能遇到这样那样诡异郁闷的问题,其实知道点底层也挺好的。先说这个问题: C代码 #include<stdio.h> #include<malloc.h> #definemax(a,b)((a)>(b)?(a):(b)) intcomputeMax(int[],int); intmain(){ intarray[10]={1,-1,2,2,3,-3,4,-4,5,-5}; /*printf("\n");*/ printf("%d\n",computeMax(array,10)); return0; } in..
 发表于:C语言
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),其功能是:以行为单位把字符串的最后一个字符的ASCii值右移4位后加最后第二个字符的ASCii值,得到最后一个新的字符,最后第二个字符的ASCii值右移4位后加最后第三个字符的ASCii值,得到最后第二个新的字符,以此类推,一直处理到第二个字符,第一个字符的ASCii值加最后一个字符的ASCii值,得到第一个新的字符,得到..
 发表于:C语言
matlab那个代码有点长,而且数据多。。。。一个个打不方便。。。不如直接用个脚本派生,或者matlaboop,现在没网上,oop没资料,故直接写个C的脚本派生了,matlab读取execl的代码 [cpp]viewplaincopyprint? //createbyEdward.xu //must //16.9.2012 #include"stdio.h" #include"stdlib.h" #defineQUALITY_SIZE10 intmain() { FILE*fp; intclass=0; inttest=0;..
 发表于:C语言
一个非常有意思的问题,昨天睡觉之后一直在床上思考。 从数轴A点到B点,可以一次跳正负5,正负7,和正负12,求出到达B的最少步数和跳法(AB距离为整数)。 可以采用三叉树的结构进行递归求解,该想法需要对树结构有一定的理解。就是在跳到B点之前,必定是跳5,7,或12三种情况,那么可以递归求出这三种情况的解,哪一种值最小,哪个就是最优的解。但是可以估计,在递归数中,树的深度应该为O(n)(应为必定跳..
 发表于:C语言
·C的链表 C语言 [2012-09-13]
C代码 #include<stdio.h> //定义一个结构类型 structstudent{ intnum; charname[20]; structstudent*next; }; //声明空间分配函数 void*malloc(unsignedsize); //创建链表的函数 structstudent*linklist(){ structstudent*head,*tail,*p; charname[20]; intnum,size=sizeof(structstudent); head=tail=NULL; scanf("%d%s",&num,&name); while(..
 发表于:C语言
·C 语言概览 C语言 [2012-09-12]
本片文章主要是介绍C语言的基础只是,用尽量短和精湛的语言把C语言的主要特性介绍给大家,本篇文章不涉及到C语言的原理,关于具体的细节和异常处理等等问题在后续的文章中将会详细介绍 第一个程序   学习程序的最开始都是要写一个helloworld,通过这个简单的程序,你将会了解到如何创建一个程序代码块;如何成功编译;如何加载以及如何运行这个程序,和这个程序输出什么东西,输出到哪里等等。学习C也是一样,打印..
 发表于:C语言
print?voidquicksort(intnum[],intstart,intend) { intkey=num[start]; intprev=start; intlast=end; if(prev>=last) { return; } while(prev<last) { while(prev<last) { if(num[last]<key) { num[prev]=num[last]; ++prev; break; } --last; } while(prev<last) { if(num[prev]>key) { num[last]=num[prev]; --last; break; } ++pr..
 发表于:C语言
qsort(利用快速排序法排列数组) 相关函数bsearch 表头文件#include<stdlib.h> 定义函数voidqsort(void*base,size_tnmemb,size_tsize,int(*compar)(constvoid*,constvoid*)); 函数说明参数base指向欲排序的数组开头地址,参数nmemb代表数组中的元素数量,每一元素的大小则由参数size决定,最后一项参数compar为一函数指针,这个函数用来判断两个元素间的大小关系,若传给compar的第一个参数所指的元..
 发表于:C语言
  C语言现在还是第一,这是为什么,我个人感觉主要来自“冯式计算机”的主流计算机体系结构,PC、移动,电信网络,C与它们系统层0距离的现状,这样C不坚挺才怪呢。      还有部分归为开源社区的兴起。      
 发表于:C语言
lsearch(线性搜索) 相关函数lfind 表头文件#include<stdlib.h> 定义函数void*lsearch(constvoid*key,constvoid*base,size_t*nmemb,size_tsize,int(*compar)(constvoid*,constvoid*)); 函数说明lsearch()利用线性搜索在数组中从头至尾一项项查找数据。参数key指向欲查找的关键数据,参数base指向要被搜索的数组开头地址,参数nmemb代表数组中的元素数量,每一元素的大小则由参数size决定,最后一项..
 发表于:C语言
#include<stdio.h> //下面就是“全能比较函数”,a>b返回整数,a<b返回负数,a==b返回0 #defineCOMPARE(TYPE,a,b)((TYPE)a-(TYPE)b) intmain(intargc,char*argv[]) { doublea=1,b=1.5,c; intx=10,y=1,z; charm='m',n='n',k; ..
 发表于:C语言
今日IT新闻 最新代码分享
网络·架构·开源 更多
数据库技术 更多
一套数据,多种引擎续-..
最近主要在研究大数典型应用adhoc
发表于:[MySQL]
·mysql常见优化  [MySQL]
·MongoDB启动失败  [MySQL]
·sqlserver2005 使用  [SQLServer]
·sqlserver2005安装  [SQLServer]
·mysql for window 64安装  [SQLServer]
·oracle 查询时间  [SQLServer]
移动开发 更多
学编程一定要上大学?..
其中一个重要原因是,速成的在线课程和培训班正在..
发表于:[开发问答]
·byte构造数据总结 [Android平台]
·免费天气预报接口 [Android平台]
·(原创) Elastix& Asteris.. [Android平台]
·JPA主键策略 [Android平台]
·IDE [Android平台]
·Spring Security框架 [Android平台]
·Your Uninstaller [Android平台]
·ArrayExpand [Android平台]
·录制参数为空 [Android平台]
·Xcode警告大全 [IOS开发]
·Android Lint简介 [IOS开发]

关于 | 合作伙伴 | 联系我们 | 友情链接 | 版权声明 | 网站制作 | 网站地图 | 加入收藏 | 设为首页

Copyright@2012-2016 京ICP备12027873号