C/C++ 常见1000道面试题( 63 ) | 您所在的位置:网站首页 › 1k是一千的意思吗 › C/C++ 常见1000道面试题( 63 ) |
431.在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。 左值:能对表达式取地址,一般指表达式结束后依然存在的持久对象。 右值:不能对表达式取地址,一般表达式结束后就不再存在的临时对象。 434.判断x=x+1,x+=1,x++哪个效率最高?为什么?x++的效率最高,直接去出来+1后在放回原来的地址。 x=x+1最低, 因为执行步骤如下: 读取右x的地址; x+1; 读取左x的地址,将右值传给左边的x(编译器并不认为左右两边的x的地址相同)。 435.用变量a定义一个整型数 int a;一个指向整型数的指针 int a;一个指向指针的指针,它指向的指针式指向一个整型数 int *a;一个有10个整型数的数组 int a[10];一个有10指针的数组,该指针是指向一个整型数 int *a[10];一个指向有10个整型数数组的指针 int (a)[10];一个指向函数的指针,该函数有一个整型数参数并返回一个整型数 int (a)(int);一个有10个指针的数组,该指针指向一个函数,该函数有一个整型数参数并返回一个整型 int (a[10])(int); 436.C语言是强类型的语言,这是什么意思?C语言是一种强类型的程序设计语言,int x,y,z;在C程序中,每一个变量都必须声明其取值类型。 char 占8位1字节,short占16位2字节,int 占32位4字节,long 占32位4字节,float占32位4字节,double占64位8字节。 437.char 与 int之间的转换从长字节数据类型转换为短字节数据类型,会产生截断:从4字节的int类型转换成1个字节的char类型,则取int数据的最低的一个字节。 从短字节类型转换为长字节类型:从char转换为int:则在前面的三个字节补符号位0x000000。 438.float(单精度浮点型)和double(双精度浮点型)float:1bit(符号位)+8bit(指数位)+23(尾数位) 2^23=8388608,共7位,意味着最多有7位有效数字。 double:1bit(符号位)+11bit(指数位)+52bit(尾数位) 2^52=4503599627370496. 一共16位,同理double的精度为15~16位。 输出:3.140000,10.500000 因为%lf只保留小数点后6位。 439.字符常量char beta; beta=’ab’; 是错误的,改正:char beta; beta=’ab/’ char beta; beta=”a”; 是错误的,改正:char beta; beta=’a’ 定义字符串数组:char a[ ] = “abcse” 非图形字符,如退格,换行,也可以表示成字符型常量。表示方法是使用转义字符”/”; 已知char b[5],*p=b; ,则正确的赋值语句是 C A. b=“abcd” ; B. *b=“abcd”; C. p=“abcd”; D. *p=“abcd”; 下列可以正确表示字符型常量的是 D A、297 B、”a” C、”\n” D、’\t’ 440.写出bool 、int、 指针变量与“零值”比较的if语句**bool型数据: ** if( flag ) { A; } else { B; } int型数据: if( 0 != flag ) { A; } else { B; } 指针型数: if( NULL == flag ) { A; } else { B; } 1000道c/c++经典面试题PDF,进官方交流群获取 —————————————Linuxc/c++高性能服务器开发网官方3群—————————————– |
CopyRight 2018-2019 实验室设备网 版权所有 |