C/C++笔试题目
1. C语言中无符号数与有符号数
unsigned int a = 6;
int b = -20;
printf("a+b = %d\n",a+b); #输出-14
printf("a+b %s \n",(a+b)>0 ? "> 0":" < 0"); #输出a+b > 0
有符号数和无符号数在进行比较运算时(==,>=,<=,>,<),有符号数隐式的转换成无符号数。上述中,a+b的值为-14(1111_1111_1111_0010),但是a+b 比较时,隐式转换成无符号数,因此输出为>0
记住一点:-1为有符号整型数据,常量数值在整形范围内,均为int类型,如果为正数或0,则作为无符号int,否则为有符号int。比较运算符两边的数据类型会在编译器的帮助下,自动统一的。
再记住一点:C语言规定是从取值范围小的往大的提升,char—>unsigned char—>short—>unsigned short—>int--->unsinged int—>long—>unsigned long –>long long ---> unsigned long long
2. 函数不能反悔栈内存的指针,可以返回堆内存的指针。对于空指针,连续两次free,不会出错。对于非空指针,连续两次free,会出错。
int *a1;
a1 = (int*)malloc(10);
a1[0]=10;
printf("a1:%p a1[0]:%d \n",a1,a1[0]); //输出a1:0x85c9008 a1[0]:10
free(a1);
//free(a1); //加上这句会报错
printf("a1:%p a1[0]:%d \n",a1,a1[0]); //输出a1:0x85c9008 a1[0]:0
根据输出可以得知,free后,a1的指向的地址值没有改变,但是这块地址所代表的空间已经是无效空间了,不能使用。为了防止这种情况,free后的,应该设置a1= NULL; 这样,防止后面的代码对a1的空间误操作。
3. 引用与指针有什么区别?
引用必须初始化,指针不需要。
引用初始化之后不能被改变,指针可以改变所指的对象。
不存在指向空值的引用,但是存在指向空值的指针
IT公司笔试题目 IT公司笔试题目2 IT公司笔试题目3 IT公司笔试题目4
C/C++笔试题目的更多相关文章
- # C/C++的笔试题目
p,li { white-space: pre-wrap } # C/C++的笔试题目 + include<> 和include"" 的区别 + sizeof操作符与字 ...
- 汇顶科技&&硬件类笔试题目
汇顶科技硬件类笔试题目,每年都有变化,但是题目类型都差不多.汇顶科技17年在南京地区大概招了20个左右吧,给的待遇还是不错的,工作地点上海深圳
- 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...
- [笔试题目]使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?
[笔试题目] 使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍? StringBuffer 底层是依赖了一个字符数组才能存储字符 ...
- Android常见面试笔试题目
Android常见面试笔试题目 1.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 答:可以处理消息循环的线程,他是一个拥 ...
- C++笔试题目大全(笔试宝典)(不断完善中)
1.new . delete . malloc . free 关系 delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数. malloc 与 fre ...
- js坑爹笔试题目汇总(持续更新中)
把你的面试官问倒,你就是一个合格的面试者了,以下总结一些易错的js笔试题目,会持续更新中.欢迎关注 1,考察this var length = 10 function fn(){ alert(this ...
- 几道经典的SQL笔试题目
几道经典的SQL笔试题目(有答案) (1)表名:购物信息 购物人 商品名称 数量 A 甲 2 B 乙 ...
- 想了很久,一道Microsoft的笔试题目 —— Reversing Linked List
Reversing Linked List Given a constant K and a singly linked list L, you are supposed to reverse the ...
随机推荐
- MKMapView的内存释放问题
MKMapView的内存释放问题 by 伍雪颖 - (void)dealloc { self.mapView.showsUserLocation = NO; self.mapView.userTrac ...
- [原]生产环境下的nginx.conf配置文件(多虚拟主机)
[原]生产环境下的nginx.conf配置文件(多虚拟主机) 2013-12-27阅读110 评论0 我的生产环境下的nginx.conf配置文件,做了虚拟主机设置的,大家可以根据需求更改,下载即可在 ...
- ERROR 1227 (42000): Access denied; you need (at least one of) the PROCESS privilege(s) for this oper
1 用以往的mysql登陆模式登陆 [mysql@eanintmydbc002db1 mysqllog]$ mysql Enter password: Welcome to the MySQL m ...
- [MODX] 3. Placeholder +
A chunk may be used in many pages, different page may require different style. We can use Placeholde ...
- Android之自定义AlertDialog无法监听控件
参考:http://www.cnblogs.com/511mr/archive/2011/10/21/2220253.html 要做一个自定义的弹出框,以前都是用一个Activity来实现,总觉得不是 ...
- Step-by-Step XML Free Spring MVC 3 Configuration--reference
The release of Spring 2.5 reduce the burden of XML by introduction annotation based configuration, b ...
- W3C XML Schema 教程
转自:http://www.blogjava.net/sham2k/articles/179825.html W3C XML Schema 教程 XML SCHEMA教程 本教程是笔者学习W3C的&l ...
- java中访问mysql数据库中的表结构信息
package cn.hncu.meta; import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.Re ...
- linux:ifconfig命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...
- Java并发包学习--ReentrantLock
这个锁叫可重入锁.它其实语义上和synchronized差不多,但是添加了一些拓展的特性. A reentrant mutual exclusion Lock with the same basic ...