![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
sudo-wang
稳住
展开
-
c语言 || 左右两边必须是表达式
详见:http://blog.csdn.net/dy_1748204009/article/details/53608137我在Ubuntu上编程练习的,(在 2017914.cpp中) 我是这样写的if (x=='Q'||'q')想表示如果 x 等于 Q 或者 q ,但是这个错误比较隐蔽,不容易发现,因为 || 两边必须是表达式,所以需要这样写:if (x=='Q'||x=='q')第一个写法原创 2017-09-14 18:03:35 · 1406 阅读 · 0 评论 -
!和~的区别(逻辑取反和按位取反)
在c语言中! 代表逻辑取反,即把所有非0的数值(相当于1)变为0,0变为1;~ 表示按位取反,即在数值的二进制表示方式上,将0变为1,将1变为0;针对逻辑运算与按位运算区别如下:针对这个问题,有一个经典的题目:int x=3; do { printf(" %d\n",x -=2);}while(!(–x));则上面的程序段,以下哪个选项正确( )A.输出的是1B.输出的是1和-...原创 2019-01-12 21:36:20 · 18124 阅读 · 4 评论 -
驼峰命名法(CamelCase)和下划线命名法(UnderScoreCase)
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name...原创 2018-12-16 21:24:28 · 17863 阅读 · 0 评论 -
malloc/free和new/delete的区别
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动...转载 2018-09-13 13:37:05 · 625 阅读 · 0 评论 -
signal函数的应用(linux)
1. 功能设置某一信号的对应动作2. 声明#include <signal.h>typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler);3. 参数说明 第一个参数...转载 2018-07-27 15:49:05 · 262 阅读 · 1 评论 -
C语言中的__FILE__、__LINE__和#line(用于打印当前函数及行数)
C语言中的__FILE__用以指示本行语句所在源文件的文件名,举例如下(test.c):#include <stdio.h>int main(){printf(“%s\n”,__FILE__);}在gcc编译生成a.out,执行后输出结果为:test.c在windows的v...转载 2018-07-27 15:04:16 · 2917 阅读 · 0 评论 -
linux c setitimer用法说明
在linux c编程中,setitimer是一个比较常用的函数,可用来实现延时和定时的功能,网上有各种零零散散的用法说明,都只提到了个别用法,今天抽空实践整理了一份比较详细的:使用时需要引入的头文件:#include <sys/time.h>setitimer函...转载 2018-07-26 20:00:48 · 246 阅读 · 0 评论 -
C语言——数组名、取数组首地址的区别(一)
目录: 1. 开篇 2. 论数组名array、&array的区别 3. array、&array的区别表现在什么地方 4. 讨论 5. 参考 1.开篇 很多博客和贴吧都有讨论这个话题,各有自己的表述方式,今天在他们的基础上我将继续试着以我自己理解的方式总结一下,欢迎大家的审阅和指评。...转载 2018-07-19 13:01:36 · 200 阅读 · 0 评论 -
int 类型究竟多少字节?
今天发现NEON技术中 int类型的字节数是2,感觉很奇怪,最早写51单片机时也是2,后来到了观念转变成了4,现在有遇到了2. 一、转自 http://www.tuicool.com/articles/6j2uqi2 最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器...转载 2018-07-19 11:55:33 · 2122 阅读 · 0 评论 -
程序编译的几个阶段
程序编译的过程中就是将用户的文本形式的源代码(c/c++)转化成计算机可以直接执行的机器代码的过程。主要经过这么几个过程: 1、编译,由编译器将c源代码(.cpp)转变成汇编代码(.s) 2、汇编,由汇编器将汇编代码(.s)转变成目标代码(.o) 3、链接,由链接器将代码在执行过程用到的其他目标代码和库文件链接成...转载 2018-07-18 13:17:51 · 928 阅读 · 0 评论 -
ANSI c与C89,C99,C11的区别
不同版本标准差异总结(图片来源:http://www.crifan.com/summary_c_language_version_c89_amd1_c99_c11):以下为转载:【K&R C】 1978 年,Dennis Ritchie 和 Brian Kernighan 合作...转载 2018-07-18 11:33:01 · 855 阅读 · 0 评论 -
pow 函数误差分析及解决方案
我们都知道 (int)99.99999 的结果是99,取其整数部分对于幂函数pow,是用数值逼近的方法给出的,并不保证严格精确,执行效率也不高,在不同平台精确度可能有一定的差异,所以也就会导致结果不是我们预期想要的。分析:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;math.h&amp;gt;int main(){ int c=4; int w=...原创 2018-05-19 12:14:08 · 2574 阅读 · 0 评论 -
codeblocks 乱码问题及解决方法
原文:https://blog.csdn.net/softman11/article/details/6121538int main(void) {char str[]=”中国china”; wchar_t str_w[]=L”中国china”;int len=(int)strlen(str); int len_w=(int)wcslen(str_w); printf(“...转载 2018-04-03 20:14:13 · 2685 阅读 · 0 评论 -
C语言二进制转十进制的技巧性方法
简单的十进制与二进制之间的转化就不说了,大家应该都懂,网上也有很多的类似的文章,自己都可以搜到,今天想说的是一种新方法,或许大神们已经知道,但是我还不是很了解,想记录一下这个巧方法。很简洁但很巧妙的方法。int readint(int a) //a 是传入二进制位数{ int sum = 0; while (a--) { sum *=2;原创 2017-09-19 21:59:08 · 9257 阅读 · 0 评论 -
一些位运算总结和小技巧
0. 原码、补码、反码 初学者只做了解即可 见 张子秋的博客 无论正负数,在内存中存储的都是补码 正数:反码 == 原码 == 补码 负数:反码 == ~原码 补码 == 反码+11. & 按位 与「AND」 功能:对应的两个二进位 均为1 时,结果 为1,否则 为0 例子:9&5 = 1001&0101 = 0001,即 9&5=1 *规律:二进制中与 1& 保持原位,与 0转载 2017-09-17 16:27:45 · 200 阅读 · 0 评论 -
利用二进制运算实现加法(不使用四则运算)
这两天去参加面试碰到的一个题,题不难,就是忘记了。题目: 要求求两个整数之和,并且不得使用+、-、*、/ 四则运算符号。解析: 很明显这个题要用二进制运算去解决。二进制的按位相加实际等效于异或。二进制的每位的进位计算等效于按位与,然后左移。进位加上按位相加结果就是最终结果。 重复使用前两步,直到没有进位为止。代码如下:#include <stdio.h>int A...原创 2019-09-26 19:56:09 · 649 阅读 · 0 评论