#include "stdafx.h"
#include<iostream>
using namespace std;
int Vac=3;
int _tmain(int argc, _TCHAR* argv[])
{
int Vac=10;
Vac++;
cout<<::Vac<<endl;
cout<<Vac<<endl;
return 0;
}
输出:4 10
#include<iostream>
#include<string>
using namespace std;
string s1="hello";
int main()
{
string s2="world";
cout<<s1<<" "<<s2<<endl;//hello world
int s1=42;
cout<<s1<<" "<<s2<<endl;//42 world
cout<<::s1<<" "<<s2<<endl;//hello world
return 0;
}
这是程序员面试宝典里的一道题。
int i=1,j=2;
int k=i+++j;
cout<<k<<endl;//3
cout<<i<<endl;//2
cout<<j<<endl;//2
注意(++)和+的结合顺序,先执行i+j,完了再执行i++
#define product(x)(x*x)
int main()
{
int i=3,j,k;
j=product(i++);
cout<<i<<endl;//5
k=product(++i);
cout<<i<<endl;//7
cout<<j<<k<<endl;//9 49
return 0;
}
define的用法参考:http://blog.csdn.net/lyl_98/archive/2006/07/10/900158.aspx
还有一个整数自动转换原则的题。参考:http://www.diybl.com/course/3_program/c/c_js/2007918/71846.html
有符号数与无符号数之间运算问题
以下实验均在virual c++6中运行通过
这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。
首先进行一个实验,分别定义一个signed int型数据和unsigned int型数据,然后进行大小比较:
unsigned int a=20;
signed int b=-130;
a>b?还是b>a?实验证明b>a,也就是说-130>20,为什么会出现这样的结果呢?
这是因为在C语言操作中,如果遇到无符号数与有符号数之间的操作,编译器会自动转化为无符号数来进行处理,因此a=20,b=4294967166,这样比较下去当然b>a了。
再举一个例子:
unsigned int a=20;
signed int b=-130;
std::cout<<a+b<<std::endl;
结果输出为4294967186,同样的道理,在运算之前,a=20,b被转化为4294967166,所以a+b=4294967186
减法和乘法的运算结果类似。
如果作为signed int型数据的b=-130,b与立即数之间操作时不影响b的类型,运算结果仍然为signed int型:
signed int b=-130;
std::cout<<b+30<<std::endl;
输出为-100。
而对于浮点数来说,浮点数(float,double)实际上都是有符号数,unsigned 和signed前缀不能加在float和double之上,当然就不存在有符号数根无符号数之间转化的问题了。
发现这些细节都不清楚。
分享到:
相关推荐
程序员面试宝典(pdf清晰版)
《程序员面试宝典》是一本专门为程序员准备面试所编写的参考资料,它覆盖了算法思想、数据结构以及计算等多个方面,针对程序员在面试过程中可能遇到的问题提供了深入的分析和解答。 首先,在算法思想方面,书中介绍...
《Java程序员面试宝典》主要内容简介:目前许多开发者对Java语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往使出浑身解数,采用各种形式的面试考察求职...
《程序员面试宝典》是一本深受C++程序员喜爱的面试准备指南,其高清完整版PDF为求职者提供了全面而深入的编程知识复习材料。这本书涵盖了C++语言的基础、进阶和高级主题,旨在帮助读者在面对笔试和面试时能够表现...
程序员面试宝典高清第四版PDF,需要面试的小伙伴可以看看,帮助很大 程序员面试宝典高清第四版PDF,需要面试的小伙伴可以看看,帮助很大 程序员面试宝典高清第四版PDF,需要面试的小伙伴可以看看,帮助很大 程序员...
程序员面试宝典第四版 程序员面试宝典第四版.zip
《程序员面试宝典(第5版)》是2015年10月电子工业出版社出版的图书,作者是欧立奇、刘洋、段韬。程序员面试宝典(第5版)》不仅对传统的C 系语言考点做了详尽解释,还根据外企出题最新特点,新增加了对友元、Static、...
本书是《程序员面试宝典》第5版pdf扫描版,在保留第4版数据结构、面向对象、程序设计等主干内容的基础上,修正了前四版近40处错误。由于上传资源大小限制,分3部分上传,此为part1部分。解压缩时将三部分的压缩包...
2018java程序员面试宝典+题库,很全。压缩的文档,打开是PDF版
《C#与.NET程序员面试宝典》取材于各大IT公司的历年面试题252个(包括研发类笔试及口试题目、情商及智商类题目),详细分析了应聘C#与.NET程序员职位的常见考点。《C#与.NET程序员面试宝典》主要内容包括:面试流程...
《程序员面试宝典(第5版)》是《程序员面试宝典》的第5 版,在保留第4 版的数据结构、面向对象、程序设计等主干的基础上,修正了前4 版近40 处错误,解释清楚一些读者提出的问题,并使用各大IT 公司及相关企业最新...
程序员面试宝典(高清版)版 程序员 面试宝典 面试必备
《程序员面试宝典》是一本全面覆盖编程语言基础、高级特性、设计模式及Web开发技术的面试指南。这本书旨在帮助程序员准备笔试和面试,提升在求职过程中的竞争力。以下是书中可能涉及的一些关键知识点: 1. **C语言*...
《世界500强面试题+程序员面试宝典》是一份综合性的资源,旨在帮助求职者,特别是程序员,准备世界顶级公司的面试。这份资料集合了全球知名企业的面试问题,涵盖了编程、算法、软件工程、系统设计等多个方面,是提升...
C/C++ 程序员 面试宝典 C/C++ 程序员 面试宝典 C/C++ 程序员 面试宝典
《程序员面试宝典(第5版)》是《程序员面试宝典》的第5 版,在保留第4 版的数据结构、面向对象、程序设计等主干的基础上,修正了前4 版近40 处错误,解释清楚一些读者提出的问题,并使用各大IT 公司及相关企业最新...
NET程序员面试宝典;NET程序员面试宝典;NET程序员面试宝典
《程序员面试宝典》是一本专门为准备进入IT行业或希望在职业发展中提升自己的程序员精心编写的指南。这本书全面覆盖了面试中可能遇到的各种问题,包括技术面试、算法挑战、项目经验分享以及软技能培养等方面的知识点...
《C/C++程序员面试宝典》是一本专为准备C/C++编程面试的求职者精心编写的指南。这本书以PDF格式提供,具有清晰的目录结构,使得读者可以快速定位到感兴趣或需要复习的知识点,有助于高效学习和查阅。在追求理想的...
《程序员面试宝典》是一本深受程序员们喜爱的面试指南,它涵盖了计算机科学与技术、软件工程、数据结构、算法、操作系统、网络、数据库等多个领域的关键知识点,旨在帮助程序员准备面试,提升技能,成功获得心仪的...