程序员面试宝典
Jasablanca
这个作者很懒,什么都没留下…
展开
-
程序员面试宝典第5章:程序设计基本概念(例题5.1)
5.1.1 #include <stdio.h> int i=1; void main() { int i=i; printf(" "); } 注意,main()里面的i的值不是1。 原书给出的解释: 在C++中这样做是完全合法的(但显然不合理)。int i=i,i变量从声明的那一刻开始就是可见的了,main()里的i不是1,因为它和main()外的i无关,而是一...原创 2019-05-09 16:46:40 · 190 阅读 · 0 评论 -
程序员面试宝典第5章:程序设计基本概念(例题5.2)
5.2.1 #include<iostream> using namespace std; int main() { int a,x; for(a=0,x=0;a<=1 &&!x++;a++) /* bool取值false和true,0为false,非0为true a<=1成立然后执行后面的!x++ !x+...原创 2019-05-09 17:35:25 · 142 阅读 · 0 评论 -
运算符同优先级的运算
#include<iostream> using namespace std; int main() { int x1=0; int x2=0; int a1,a2; cout<<"x1="<<x1<<endl; cout<<"x2="<<x2<<endl; a1=!...原创 2019-05-09 19:57:52 · 697 阅读 · 0 评论 -
程序员面试宝典第5章:程序设计基本概念(例题5.3)
编程风格 if( 'A'==a ) { a++; } 比 if( a=='A' ) { a++; } 好 原因是: 这时如果把“==”误写成“=”的话,因为编译器不允许对常量赋值,就可以检查到错误。 #include<iostream> using namespace std; int main() { char...原创 2019-05-09 20:06:43 · 121 阅读 · 0 评论 -
程序员面试宝典第5章:程序设计基本概念(例题5.4)
#include <iostream> #include <stdio.h> #include <string.h> #include <conio.h> using namespace std; int main() { float a = 1.0f; cout << (int)a << endl; ...原创 2019-05-09 21:07:56 · 240 阅读 · 0 评论 -
隐式类型转换
隐式类型转换发生场景 在混合类型的算术表达式中 在这种情况下最宽的数据类型成为目标转换类型,这也被称为算术转换(Arithmetic Conversion) int ival = 3; double dval = 3.14159; // ival被提升为double类型:3.0 ival + dval; 用一种类型的表达式赋值给另一种类型的对象...原创 2019-05-10 10:18:43 · 102 阅读 · 0 评论 -
程序员面试宝典第5章:程序设计基本概念(例题5.5)
5.5.1 a=0xA5=1010 0101B b=~a>>4+1 ~的优先级比>>和+高。 ~a操作时,会对a进行整型提升,a是无符号的,提升时左边补0。 0000 0000 1010 0101取反(eax寄存器是16位的) 1111 1111 0101 1010 因为“+”的优先级高于“>>”,所以直接右移5位。结果是0000 0111 1111 ...原创 2019-05-10 19:28:37 · 149 阅读 · 0 评论