3月3日做题总结(C/C++真题)

第一题

参加位运算的数据其类型不能是()。

A---int

B---char

C---float

D---long int

正确答案:C

解析:无论是float,还是double,在内存中的存储分为三部分:符号位、指数位、尾数位;位运算符对它们没有意义。

第二题

下面程序段描述正确的是()

复制代码
int x=-1;
do 
{
    x=x*x;
} while (!x);

A---是死循环

B---循环执行二次

C---循环执行一次

D---有语法错误

正确答案:C

解析:do-while循环结构中的循环体至少要执行一次,执行循环体中的语句后,x

的值为1,再对while后的表达式进行计算,因!x的值为0,所以循环结束,即整个循环只

执行了一次。故正确答案是C。

第三题

以下叙述中正确的是()

A---在语句char str[]="string!";中,数组str的大小等于字符串的长度

B---语句char str[10]="string!";和char str{"string!"};并不等价

C---对于一堆字符数组,不能使用字符串常量来赋初值

D---对于字符串常量"string!",系统已自动在最后加入了"\0"字符,表示串结尾

正确答案:D

解析:A选项中数组的长度包含\0 ,求字符串的长度时 strlen()是不计算\0的长度的(求字符串占得空间是即sizeof才算\0的长度),所以数组要长一个。B选项中是等价的类比int数组 部分赋初值是 未赋值的部分自动赋0 此处一样 未赋值的字符自动赋值\0,所以两者一致。C选项中可以使用字符串常量来给一维字符数组赋值。

第四题

以下程序的输出结果(32位机器上)是()

复制代码
  int main()
{ 
    char *p = "abcdefgh", *r;
    long *q;
    q = (long*)p;
    q++;
    r = (char*)q;
    printf("%s\n", r);
}

A---abcd

B---bcde

C---cdef

D---efgh

正确答案:D

解析: char* p = "abcdefgh",每个字符占1个字节,那么总共是8个字节,此时p指向'a'。如果是p++,那么p将指向'b'。打印p会得到"bcdefgh"。long* q = (long*)p 将p强制转换为long*类型,也就是用long类型去解释存储了"abcdefgh"的这一段内存,此时q指向'a',由于long类型是4个字节,那么q++移动4个字节,q将指向'e',打印q将得到"efgh"。

第五题

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()

A---void

B---int

C---float

D---double

正确答案:B

解析:C语言中如果函数没有指定返回类型,则默认为int 。C++中如过无返回值类型,必须写void 。

第六题

函数

复制代码
void foo()
{
    static int val;
    ......
}

变量val的内存地址位于()

A---未初始化数据段

B---已初始化数据段

C---堆

D---栈

正确答案:A

解析:本题考察内存空间布局,解析如下:

1、栈区(stack)--- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。

2、堆区(heap) --- 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。

3、全局区(静态区)(static)---全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。

4、文字常量区 ---常量字符串就是放在这里的。 程序结束后由系统释放。

5、程序代码区---存放函数体的二进制代码。

保持对生活的爱和热忱,把每一天活得热气腾腾!

相关推荐
虾球xz35 分钟前
游戏引擎学习第276天:调整身体动画
c++·学习·游戏引擎
虾球xz36 分钟前
游戏引擎学习第275天:将旋转和剪切传递给渲染器
c++·学习·游戏引擎
qq_386322692 小时前
华为网路设备学习-21 IGP路由专题-路由过滤(filter-policy)
前端·网络·学习
Despacito0o2 小时前
QMK键盘固件自定义指南 - 打造你的专属键盘体验
c语言·计算机外设·qmk
J先生x2 小时前
【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
图像处理·人工智能·学习·算法·计算机视觉
虾球xz6 小时前
游戏引擎学习第268天:合并调试链表与分组
c++·学习·链表·游戏引擎
fpcc6 小时前
跟我学c++高级篇——模板元编程之十三处理逻辑
c++
Y3174296 小时前
Python Day23 学习
python·学习
格林威7 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
song_ly0017 小时前
深入理解软件测试覆盖率:从概念到实践
笔记·学习·测试