《法度员口试宝典》之C/C++法度设计
添加时间:2013-5-3 点击量:
 
 
有两个变量a、b,不消“if”、”?:“、”switch“或其他断定语句,找出两个数中斗劲大的。
答案:int max = ((a+b)+abs(a-b))/2
 
如何将a、b的值进行互换,并且不实用任何中心变量?
答案:
 
C和C++的关系:
 
一个5位数字ABCDE4=EDCBA,这五个数字不反复,请用编程求出这个数字是几许?
#include<stdio.h>
#include<stdlib.h>
int main(){
for(int i = 10000;i < 100000;i++)
{
int j = 0, t = i;
while(t!=0)
{
j = j10 + t%10;
t/=10;
}
if((i 4)==j)
{
printf("%d\n",i);
break;
}
}
return 0;
}
&#160;
在const成员函数中,用mutable润饰成员变量名后,就可以批改类的成员变量了。
&#160;
sizeof 与 strlen的深切懂得:
(9)、数组作为参数传给函数时传的是指针而不是数组;
(10)、策画布局变量的大小就必须评论辩论数据对齐题目;
(11)、sizeof 操纵符不克不及用于函数类型、不完全类型或位字段。
&#160;
一个空类所占空间为1,多重持续的空类所占空间还是1,然则虚持续涉及到虚表(虚指针),指针占用空间为4。
&#160;
char c[] = “hello world”; 是分派一个局部变量,局部变量的值是可以批改的;
char c = “hello world”; 是分派一个全局变量,全局变量的值是不克不及修进行改的。
&#160;
典范递归题目:
&#160;
面向对象(OOP)编程说话必须供给对象、类和持续。
覆盖是指子类从头定寄父类的虚函数的做法,
重载是指容许存在多个同名函数,而这些函数的参数表不合(或参数个数,或参数类型不合,或两者都不合);
&#160;
位制转换:
#include<stdio.h>
#include<stdlib.h>
int main(){
printf("%f\n",5);
printf("%d\n",5.01);
}
&#160;
&#160;
公道的应用关键字const可以使编译器很天然的保护那些不被改变的参数,防止其被无意的代码批改。
一个定义为volatile的变量是申明这变量可能会心想不到的改变,如许,编译器就不会去假设这个变量的值了。
一个参数可以既是const又是volatile,比如只读的状况存放器;
一个指针可所以volatile,比如当一个中断办事子法度批改一个指向一个buffer的指针时。
所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》
&#160;
&#160;
有两个变量a、b,不消“if”、”?:“、”switch“或其他断定语句,找出两个数中斗劲大的。
答案:int max = ((a+b)+abs(a-b))/2
&#160;
如何将a、b的值进行互换,并且不实用任何中心变量?
答案:
&#160;
C和C++的关系:
&#160;
一个5位数字ABCDE4=EDCBA,这五个数字不反复,请用编程求出这个数字是几许?
#include<stdio.h>
#include<stdlib.h>
int main(){
for(int i = 10000;i < 100000;i++)
{
int j = 0, t = i;
while(t!=0)
{
j = j10 + t%10;
t/=10;
}
if((i 4)==j)
{
printf("%d\n",i);
break;
}
}
return 0;
}
&#160;
在const成员函数中,用mutable润饰成员变量名后,就可以批改类的成员变量了。
&#160;
sizeof 与 strlen的深切懂得:
(9)、数组作为参数传给函数时传的是指针而不是数组;
(10)、策画布局变量的大小就必须评论辩论数据对齐题目;
(11)、sizeof 操纵符不克不及用于函数类型、不完全类型或位字段。
&#160;
一个空类所占空间为1,多重持续的空类所占空间还是1,然则虚持续涉及到虚表(虚指针),指针占用空间为4。
&#160;
char c[] = “hello world”; 是分派一个局部变量,局部变量的值是可以批改的;
char c = “hello world”; 是分派一个全局变量,全局变量的值是不克不及修进行改的。
&#160;
典范递归题目:
&#160;
面向对象(OOP)编程说话必须供给对象、类和持续。
覆盖是指子类从头定寄父类的虚函数的做法,
重载是指容许存在多个同名函数,而这些函数的参数表不合(或参数个数,或参数类型不合,或两者都不合);
&#160;
位制转换:
#include<stdio.h>
#include<stdlib.h>
int main(){
printf("%f\n",5);
printf("%d\n",5.01);
}
&#160;
&#160;
公道的应用关键字const可以使编译器很天然的保护那些不被改变的参数,防止其被无意的代码批改。
一个定义为volatile的变量是申明这变量可能会心想不到的改变,如许,编译器就不会去假设这个变量的值了。
一个参数可以既是const又是volatile,比如只读的状况存放器;
一个指针可所以volatile,比如当一个中断办事子法度批改一个指向一个buffer的指针时。
所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。—— 玛格丽特·米切尔 《飘》