
我要学C
跳不出的循环
这个作者很懒,什么都没留下…
展开
-
学习c第一天
1:c = getchar() != EOF等价c = (getchar() != EOF)2:nc = nc + 1等价于++nc,后者效率高,更精炼3:字符计数:while (getchar() != EOF)++nc;4:行计数:while ((c = getchar()) != EOF)if (c == '\n')++nl;5:单引号中的字符为一个整数值原创 2011-11-26 16:48:34 · 331 阅读 · 0 评论 -
c 语言的for
java里的for写法for(int i=0;i} c语言里不能像上面那样写:写法:int i;for(i=0;i}或者int i=0;for(;i}原创 2013-08-03 13:24:47 · 656 阅读 · 0 评论 -
变量使用之前最好初始化
内存是由操作系统统一管理调度的,程序运行都会跟内存打交道,程序结束后,操作系统回收内存使用权限,但是一点,操作系统并不会清空之前程序遗留下来的数据,那样太耗费资源了。而只是对这块内存做简单的使用状态标记,那么当另外的程序使用到同一块内存区域时,假设不对自己的变量做初始化就使用该变量,就会带出前面程序遗留的数据,最终导致程序结果出错。原创 2013-08-02 22:08:42 · 953 阅读 · 0 评论 -
知道的好
char型和int型统称为整数类型(Integer Type)或简称整型字符'a'~'z'、'A'~'Z'、'0'~'9'的ASCII码都是连续的,因此表达式'a'+25和'z'的值相等,'0'+9和'9'的值也相等。注意'0'~'9'的ASCII码是十六进制的30~39,和整数值0~9是不相等的。main函数最标准的形式应该是int main(int argc, char *原创 2011-12-02 13:24:57 · 311 阅读 · 0 评论 -
cannot open Debug/HelloWorld.exe for writing
cannot open Debug/HelloWorld.exe for writing因为你的HelloWorld.exe在运行呢,打开任务管理器,将其结束再来一次就可以了原创 2011-12-02 11:21:23 · 732 阅读 · 0 评论 -
一些规范
1:一个函数只是为了做好一件事情,不要把函数设计成用途广泛、面面俱到的,这样的函数肯定会超长,而且往往不可重用,维护困难。2:函数内部的缩进层次不宜过多,一般以少于4层为宜。如果缩进层次太多就说明设计得太复杂了,应考虑分割成更小的函数(Helper Function)来调用3:函数不要写得太长,建议在24行的标准终端上不超过两屏4:执行函数就是执行一个动作,函数名通常应包含转载 2011-12-02 10:22:42 · 371 阅读 · 0 评论 -
unresolved external symbol _WinMain@16
有时候你想要选择的是win32 console Application,但是手一抖点错了,那么就会出现上面的问题了。可能是你选择了WINDOWS应用程序,可是你却在入口函数的时候使用main而不是WinMain;解决办法:重新建立一个win32 console程序,要么就改程序入口函数其他方法:转的未验证,小心使用1.进入project->setting->c/c++,原创 2011-12-02 11:29:11 · 417 阅读 · 0 评论 -
goto语句体会
做了个goto的测试:void function(int n){if(n==1){ goto error;}else{ printf("other\n");}printf("i'm here!\n");error:printf("error is here\n");printf("end\n");}假设function(1)//当原创 2011-12-02 08:58:50 · 528 阅读 · 0 评论 -
尽量别在for循环里面定义变量
for(int i=0;i.......}我们很常做的一件事就是在for循环里定义一个变量并初始化(如上面定义的i,初始化为1),这个变量有可能是为了做循环限制而定义的,而此时变量只做为for循环的局部变量循环结束后就不能再使用i这个变量。这是C99规定了一种新的for循环语法,这种语法也是从C++借鉴的,考虑到兼容性不建议使用这种写法。原创 2011-12-01 16:04:39 · 20901 阅读 · 2 评论 -
一个有意思的问题
a+++++b这个表达式如何理解?应该理解成a++ ++ +b还是a++ + ++b,还是a + ++ ++b呢?应该按第一种方式理解。编译的过程分为词法解析和语法解析两个阶段,在词法解析阶段,编译器总是从前到后找最长的合法Token。把这个表达式从前到后解析,变量名a是一个Token,a后 面有两个以上的+号,在C语言中一个+号是合法的Token(可以是加法运算符或正号),两个+号也是合转载 2011-12-01 15:55:46 · 433 阅读 · 0 评论 -
学习c第二天
1:可在第一个结点的指针域内存入第二个结点的首地址,在第二个结点的指针域内又存放第三个结点的首地址,如此串连下去直到最后一个结点。最后一个结点因无后续结点连接,其指针域可赋为0。这样一种连接方式,在数据结构中称为“链表”。#define NULL 0#define TYPE struct stu#define LEN sizeof (struct stu)struct stu{int原创 2011-11-28 17:45:47 · 338 阅读 · 0 评论 -
我要学c第二天
1:结构体定义以及结构体变量声明//定义,大括号里面的是结构体成员,定义的方法和普通变量定义一致:类型说明符 变量名struct stu{int num;char name[20];char sex;float score;};//声明结构体变量struct stu boy1,boy2;2:结构体变量的成员的表示方法boy1.name="god"我想可以这原创 2011-11-28 16:51:22 · 381 阅读 · 0 评论 -
c语言文件学习
1:从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码2:设备文件是指与主机相联的各种外部设备,如显示器、打印机、键盘等。在操作系统中,把外部设备也看作是一个文件来进行管理,把它们的输入、输出等同于对磁盘文件的读和写。3:文件指针定义说明文件指针的一般形式为:原创 2011-11-28 18:12:09 · 358 阅读 · 0 评论 -
我要学c第一天b
1:没有显式说明情况下,enum类型中第一个枚举名的值为0,第二个为1,后面成递增趋势,也可以指定部分枚举名的值,而后面依然递增2:不同枚举中的名字必须互不相同,同一枚举中不同的名字可以具有相同的值3:如果变量不是局部变量,那么只能初始化一次,而且初始化表达式必须是常量表达式4:每次进入函数,显式初始化的自动变量都被初始化一次,初始化表达是可以是任意表达式5:默认情况下,外部变量和原创 2011-11-26 19:32:51 · 372 阅读 · 0 评论 -
进制规范
C里面八进制 前面加数字0 十六进制前面加0x 汇编里面二进制后面跟个字母B ,八进制跟O ,十进制跟D ,十六进制跟H原创 2013-08-02 22:19:03 · 653 阅读 · 0 评论