C/C++ 常见1000道面试题( 63 ) 您所在的位置:网站首页 1k是一千的意思吗 C/C++ 常见1000道面试题( 63 )

C/C++ 常见1000道面试题( 63 )

2023-04-04 23:38| 来源: 网络整理| 查看: 265

431.在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。

432.给定一个整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit,在以上两个操作中,要保持其它位不变

433.什么是右值引用,跟左值又有什么区别

左值:能对表达式取地址,一般指表达式结束后依然存在的持久对象。

右值:不能对表达式取地址,一般表达式结束后就不再存在的临时对象。

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 实验室设备网 版权所有