随笔分类 - 郝斌C语言笔记
给C语言的笔记涉及的知识点举例子,借此复习C语言
摘要:关于指针我本人的理解:指针就是一串数字,指针变量就是一张空白的卡,给空白的卡印上数字,这张卡就能找到一间房间了,这个房间可能很小,只住了一个变量,也可能很大,住着一个对象每张卡的质量都是一样的,四个字节但有的卡又长又薄,有的卡又短又厚,每种尺寸的卡都只能记录一类数字,也就是只能记录一类变量的地址例如
阅读全文
摘要:先看一个伪算法,查资料直到理解这个算法为止. 再通过C语音来实现这个算法 一般搞定一个算法累计要花十几个小时,一天花三小时,可能都要花一星期才能搞定一个算法 学好C语言的指针,才能学好算法
阅读全文
摘要:例子1:用while循环实现1+2+3+...+100 int sum = 0; int i = 1; while (i < = 100); { sum+=i; i+=1; } 例子2:用while循环实现1+3+5+7+...+99 int sum =0; int i =1; while (i<=
阅读全文
摘要:自然语言读 A?B:C A成立吗?成立的话执行B,否则执行C 逗号表达式: 例题1: main(){int x,y,z;x=1;y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);} 这里先有赋值运算符,再有逗号运算符, 赋值运算符优先 所以 实际上是 (z=x
阅读全文
摘要:k=i++,就是k=i,然后i = i +1 最终结果是 k = i k=++i 就是 数学上的 k = i +1 i++ 只能单独作为一个语句来使用! 例如 i++; 写k=i--很危险,有的机器就认为k=i-1,有的机器就以为k=i 而且看你代码的人,不一定记得 前自增和后自增的区别
阅读全文
摘要:二进制转十进制 1101111转换成十进制 1*2^0+1*2^1+1*2^2+1*2^3+0*2^4+1*2^5+1*2^6 =111 101转换成十进制 1*2^0+0*2^1+1*2^2 =5 11转换成十进制 1*2^0+1*2^1 =3 十进制转二进制 3转成2进制 13转换成2进制 八进
阅读全文
摘要:给衣服和裤子配色 char yifu [] = {"蓝色","黑色"} char kuzi [] = {"黑色","牛仔色"} 这时候, yifu[0] 就代表蓝色了, yifu[1]就代表黑色了 for ( i =0 ; i<=1;i++) { for(j=0;j<=1;j++) } 到此为止,两
阅读全文
摘要:先求1到100之间的奇数之和,再求1到100之间的偶数之和 for(int i=1;i<=100;i++) { if(i%2 ==0) { sum1+=i; } else { sum2+=i; } } printf("偶数和是%d",sum1); print("奇数和是%d",sum2); 判断一个
阅读全文
摘要:强制类型转换: (int)(6.9)的结果就是6 1/(float)(sum)的结果是浮点数 浮点数带来的问题 float i=6.25,实际上计算机很可能把i存为6.249999.. 用浮点型存放小数,实际存放的是该小数的近似值 存放5.5,实际存放的是5.499999 有一个浮点型变量x,如何判
阅读全文
摘要:for循环 格式 for(A;B;C) { } A是初始化计数器的语句,B是判断是否继续循环的语句,C是改变计数器的语句 int sum = 0; for(int i =1;i>=5;i++) { sum = sum + i } 那么i的最后一个值是5,也就是i一直从1变到5 for循环的执行顺序
阅读全文
摘要:问题一:if只能控制一个语句,除非加个大括号变成语句块 例子1: if(2>1) printf("aaa"); printf("bbb"); 结果会打印 aaabbb 例子2: if(2>1) { printf("aaa"); } printf("bbb"); 结果会打印aaa 问题二:if后面加分
阅读全文
摘要:拿到一个程序,先看懂代码的执行顺序,再按照顺序详细看代码,详细看代码的时候想一些常见的错误,例如这块代码如果忘记加分号,会有什么后果.详细看代码的时候可能会觉得抽象,这时候代个数,尽量看懂代码 代码看懂了,就闭上书自己敲,敲完debug,如果觉得这个bug经典,或者debug花了很久,就把这个bug
阅读全文

浙公网安备 33010602011771号