c
帅气的东哥
这个作者很懒,什么都没留下…
展开
-
第一个unix c程序
一、开发步骤 1)vi helloworld.c 2)gcc helloworld.c -ohelloworld 3)./helloworld二、第一个unix c程序 #include int main(){ printf("helloworld,we like zhangzetian \n ");原创 2013-06-14 12:00:51 · 1319 阅读 · 0 评论 -
logic.c:1:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
这是很可能是因为你的#include 写成了include原创 2013-06-15 20:19:59 · 3317 阅读 · 0 评论 -
常量
1、在c中,定义常量可以使用const和#define 格式:const 类型名 常量名 = 值 格式:#define 常量名 值2、const与类型名的顺序可以互换3、#define只是负责简单的替换例子如下:#include #define CLASS "zhangzetian"#define DATE 20130614原创 2013-06-14 22:36:05 · 1273 阅读 · 0 评论 -
sizeof()用法
特点:1、只分析,不执行。2、只关心类型,不关心变量例子:#include int main(){ int n = 10; printf("%i\n",sizeof(int)); printf("%i\n",sizeof(n)); printf("%i\n",sizeof(n+5)); printf("%i\n",sizeof(原创 2013-06-14 22:57:01 · 1358 阅读 · 0 评论 -
垃圾数据
垃圾数据 含义:不可预知的数据 产生原因:不再定义时进行初始化。 例子: #include int main(){int a;//垃圾数据printf("%d\n",a);} 结果: 解决办法:在定义时初始化变量。 解决后的代码如下: #include int原创 2013-06-14 19:04:55 · 1716 阅读 · 0 评论 -
变量
特点1、名字有字母、数字、下划线组成,但不能以数字开头,名字也不能为关键字,而且严格区分大小写。2、当格式化类型与实际类型或定义类型不一致时,可能会导致数据出错。3、当定义类型和实际类型不一致时,会发生隐式转换。4、显示转换只是改变数值,并没有改变变量的定义类型。5、在c中,变量的定义必须放在最前面。。。。。例子如下:#include int main(){原创 2013-06-14 23:37:18 · 1150 阅读 · 0 评论 -
bash: test1: command not found
问题描述:重新再虚拟机(如vmware)上搭建linux的环境后,进行c、c++编程,在运行编译后的文件时,很可能会出现bash: test1: command not found。 解决办法:vi ~/.bashrc,并在该文件的最后一行加上:PATH=$PATH:.如下图所示: 这时,重启中断,在运行编译以后的文件,这时就能出现程序的结果. ----原创 2013-07-13 21:32:53 · 2554 阅读 · 0 评论 -
scanf()的用法
1、格式:scanf("格式串",地址表); 解释:地址表用于指明,输入的数都保存在哪一个地址。2、知识点 1)%d 整数 %f float类型的数 %lf double类型的数 %g 精简之后的数 %c 字符 2)空格 \n 这两个都可原创 2013-07-13 22:46:42 · 1305 阅读 · 0 评论 -
switch语句的基本使用
switch是一个多分支的选择语句。1、基本格式: switch(整型表达式){ case 整型字面量: ...... default : } 解释: 1)整型字面量可以使char、short、int类型的 2)case子句起相当于一个入口原创 2013-07-14 10:01:39 · 1302 阅读 · 0 评论 -
do...while的基本用法(包括缓冲问题的基本分析)
1、格式: do{ }while(条件); 注意:末尾的;别漏了2、程序从输入缓冲区中读取数据的过程图示:解释:1)我们从键盘输入的字符会首先进入键盘缓冲区。2)键盘缓冲区的作用的一个很明显的体现就是,当我们输错的时候,还可以删掉,重新输入正确的值。3)当按下回车以后,键盘缓冲区的字符就进入了输入缓冲区。4)程序从输入缓冲区中读原创 2013-07-15 09:51:27 · 2006 阅读 · 0 评论 -
sort()基本用法
sort函数的用法做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区转载 2013-07-14 11:28:03 · 1897 阅读 · 0 评论 -
Comparator的基本用法
package com.njupt.acm;import java.util.Arrays;import java.util.Comparator;public class TestComparator { public static void main(String[] args) { Node[] node = new Node[5]; System.out.pr原创 2013-07-14 18:32:15 · 2019 阅读 · 0 评论 -
Taxi
DescriptionAfter the lessons n groups of schoolchildren went outside and decided to visit Polycarpus to celebrate his birthday. We know that the i-th group consists of si friends (1 ≤ si ≤ 4), a原创 2013-07-14 19:51:15 · 1174 阅读 · 0 评论 -
error: 'for' loop initial declarations are only allowed in C99 mode
使用gcc编译代码是报出error: 'for' loop initial declarations are only allowed in C99 modenote: use option -std=c99 or -std=gnu99 to compile your code错误,这是因为在gcc中直接在for循环中初始化了增量:[cpp] view转载 2013-07-14 20:57:08 · 1966 阅读 · 0 评论 -
if....else的基本用法
if....else...是基本流程控制语句1、基本格式: if(条件){ }else if(条件){ }else if(条件){ } ........ else{ } 解释:其中else if、else是可选的 2、代码如下:原创 2013-07-14 09:33:22 · 3024 阅读 · 0 评论 -
memset()详解
功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include #include #include int main(void) {原创 2013-07-14 11:22:14 · 4635 阅读 · 0 评论 -
Segmentation fault (core dumped)
转自:http://blog.chinaunix.net/uid-26748613-id-3182113.html参考:http://manpages.ubuntu.com/manpages/lucid/man5/core.5.html有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,转载 2013-07-14 20:56:22 · 1978 阅读 · 0 评论 -
while循环的基本用法
while是常用的循环结构之一1、格式: while(条件){ }2、基本知识点 1)puts(“字符串”)。哈unhangshuchuyige字符串 2)死循环.。 while(1){ }代码如下:原创 2013-07-15 08:43:54 · 6190 阅读 · 3 评论 -
enum、typedef
1、enum2、typedef原创 2013-07-15 11:02:58 · 1098 阅读 · 0 评论 -
for循环的基本用法
1、格式: for(准备;条件;调整){ }2、基本及相关知识点 1)for循环中各项出现次数的分析。 for(1次;1次以上;0次以上) 注意:分号;是必须的。而括号里面的任何一项都不是必须的 2)continue。 跳出本次循环,进入下一次循环 3)任何一个循环中都可以有conti原创 2013-07-15 10:59:43 · 1658 阅读 · 0 评论 -
10进制数转化成2进制数的四种方法
第一种方法:第二种方法:第三种方法:第四种方法:原创 2013-07-15 18:37:44 · 8231 阅读 · 0 评论 -
数组的基本用法(2)——数组元素的地址
代码如下:#include int main(){ int a[5]={11,22,33,44,55}; int i ; for( i = 0 ; i < 5 ; ++i){ printf("&a[%d]=%p ",i,&a[i]);//这里以第一种方式表示地址 } printf("\n"); printf("-------原创 2013-07-15 21:10:42 · 1640 阅读 · 0 评论 -
数组的基本用法(3)——数组中的几个常用公式
1、a[i] == *(a + i) a[i] == i[a] *(a + i) == *(i + a)#include int main(){ int a[5]={11,22,33,4,55}; int i ; for(i=0;i<5;++i){ printf("%d ",a[i]); } printf("\原创 2013-07-15 21:21:15 · 1368 阅读 · 0 评论 -
数组的基本用法(1)
1、定义 如: int a[5]2、赋值 如:a[i] = 123 。 注意:这里是给数组中的某一个元素赋值。3、初始化 int a[3] = {1,2,3}; 元素个数只能少,不能多。少了默认用0(int),或空字符(char)来填充。多了则会报错4、4个重要公式 &a[i] == a + i ;原创 2013-07-15 20:44:25 · 1445 阅读 · 0 评论 -
数组的基本用法(4)——数组地址越界
1、2、原创 2013-07-15 21:23:30 · 1489 阅读 · 0 评论 -
convert.c:7:3: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by
产生这样的问题主要是因为你使用了某一个函数,却没有引入相应的头文件。这与java中其实是一样的。例如:在java中,使用某一个工具类,就要导入相应的包。原创 2013-07-17 08:37:07 · 2300 阅读 · 0 评论 -
/tmp/ccTEUgva.o:(.data+0x0): multiple definition of `a'
出现这种情况很可能是因为你在不同的.c文件中定义了同一名字的变量,并且同时编译。这时报的是链接错误,即程序不知道使用哪一个变量。。。原创 2013-07-17 11:04:43 · 3324 阅读 · 0 评论 -
递推的几个经典例子
1、斐波那契数列#include int fab(int n ){ if(n == 1){ return 1; }else if(n == 2){ return 1; }else{ return fab(n-1)+fab(n-2); }}int main(){ int n ; scanf("%d",&n);原创 2013-07-17 22:09:43 · 3903 阅读 · 0 评论 -
用宏来实现对日期的操作
原创 2013-07-18 09:59:50 · 1778 阅读 · 0 评论 -
写一个函数讲一个字符串使用特定的分隔符分割后输出
#include int main(){ char* p = NULL; char s[100] ; int i = 0; scanf("%s",s); p = s; printf("%s\n",p); char a ; int count = 0 ; while((a = *p++) !='\0'){ if(a ==':'){原创 2013-07-18 22:17:34 · 2878 阅读 · 0 评论 -
c中各种++的比较
接下来,通过示例彻底理解自增运算符的两种用法(自减的用法与之类似,只不过是加1变成了减1)。 1、++i和i++的区别 如清单1(注意代码中的注释): [cpp] view plaincopy#include int main(void) { int a, b, i = 7;原创 2013-07-18 16:16:56 · 1374 阅读 · 0 评论 -
mainarg.c:7:20: error: ‘argc’ undeclared (first use in this function)
问题分析:出现这种情况主要是因为你使用了一个没有定义的变量。这很可能是以为你在使用的时候变量的名字写错了所产生的·············原创 2013-07-18 20:11:34 · 5560 阅读 · 0 评论 -
printf("%02X", 0x123)
X 表示以十六进制形式输出02 表示不足两位,前面补0输出;出过两位,不影响举例:printf("%02X", 0x123); //打印出:123printf("%02X", 0x1); //打印出:01原创 2013-07-18 21:21:26 · 4075 阅读 · 0 评论 -
写一个函数判断一个字符串是否是数字
#include int main(){ char* p; char s[100]; scanf("%s",s); p = s; printf("%s\n",p); char a; int i = 0; while( (a = *p++) !='\0'){ if(!(a>='0'&&a<='9')){ i++;原创 2013-07-18 21:38:44 · 3629 阅读 · 0 评论 -
White Elephant:开发者必备的Hadoop利器
LinkedIn是全球最大的职业社交网站,从2002年12月创立到2013年初,LinkedIn注册用户已到2亿,平均每秒增加一个新用户,86%的“财富100强企业”正在使用LinkedIn的付费解决方案,270万个公司主页在此安家落户,用户每年发起超过几十亿次搜索。为了应对这些超大数据,LinkedIn使用Hadoop进行产品开发,并且为了更好地理解LinkedIn在所有用例中的Hadoop集群转载 2013-07-19 14:38:38 · 1293 阅读 · 0 评论 -
格式化输入输出
原创 2013-07-19 21:30:07 · 1434 阅读 · 0 评论 -
如何减小与“大牛”的差距
为什么同样的时间有的人可以漂亮的完成工作,而有些人废了很大的力气也没有完成?前者我们常常称之为“大牛”,后者我们常常叫他们“菜鸟”。当然“大牛”都是相对而言的,“大牛”也不可能方方面面都非常厉害,换句话说大牛也不一定会沙王摇大,也不一定会船长放水。所谓的“大牛”他们只是在某些方面比我们强而已。但是值得注意的是,学习能力很强,效率普遍很高是一般“大牛”的共同特点。是哪些因素造成了我们转载 2013-07-19 22:01:12 · 1331 阅读 · 0 评论 -
在IT行业获得成功,你只需一项技能
摘要:在IT行业获得成功,你只需一项技能,即问题解决能力。解决问题需遵循一定的方法论,该方法论包含五步。本文作者Jes Schultz Borland将为您仔细讲解每一步。能同时使用五种编程语言(包括一种机器语言)?不是。项目管理能力,再高就是获得PMP认证?也不是。超强的口才和书面沟通能力,正如工作职位中描述的那样?这不是痛点,但可以学习。我曾经与最好的IT专转载 2013-07-20 18:53:39 · 1306 阅读 · 0 评论 -
hdu 1171
题目大意:1、说的是杭电以前分家的时候,财产要尽可能的均匀分给两个兄弟。现在告诉你价值为n的物品有m件,你的任务就是把这些东西尽可能的分成两份。然后输出最后每家分的的财产总和。最大的总在最前面········代码如下:这一道题只要理解01背包、完全背包、多重背包就可以做了,属于简单题。。。。/* * 1711_2.cpp * * Created on: 2013年7原创 2013-07-30 18:26:01 · 1416 阅读 · 0 评论 -
hdu 2191
题目大意:该题是中文的,读者可以直接去看原题。题目分析:在sampleinput中,我们可以看到以下内容Sample Input18 22 100 44 100 21 ------测试用例的个数,用t表示8 -------在这里理解为背包容量,用V表示 2 ---------物品种类数,用n表示 2 ----------物品的价格,这时在这种模型中理原创 2013-07-30 21:07:39 · 1326 阅读 · 0 评论