笔试强训
文章平均质量分 90
通过做题巩固知识
不 良
知足,上进,不负野心!!!
展开
-
【C++笔试强训】第十二天
解析:引用:引用是对象的别名,并没有开辟属于自己的空间,两者同用一块内存,引用值改变也会引起引用对象值的改变;引用在声明的时候必须要初始化,而指针不用,指针可以为空指针;引用之后就不能引用别的对象,此时再引用只是将值传递给了引用。解析:析构函数可以在类体内定义,也可以先在类内声明,在类外定义;一个类只有一个析构函数,析构函数不能重载;析构函数的函数名和类名相同,只不过是加了一个析构函数无显示参数,只有一个隐藏的this指针。解析:运算符重载要使用operator关键字,加上。原创 2023-04-05 16:36:18 · 329 阅读 · 1 评论 -
【C++笔试强训】第十一天
解析:内联函数是直接替换,没有函数栈帧的销毁,他往往使用在函数中没有循环和递归、代码较少的情况下,同时要求结构不能太复杂。解析:重载函数的定义:在同一个作用域内,函数名相同,函数参数的类型或者函数参数个数不相同;函数重载和函数返回值没有关系。解析:a构造了1次,b构造了一次,c构造了3次,AB *p[2]是一个指针数组,数组里面都是指针类型,并没有生成类。解析:如果用户在类中没有显示定义赋值运算符重载时,编译器自动生成一份——按照浅拷贝方式实现的;原创 2023-04-05 16:34:23 · 299 阅读 · 0 评论 -
【C++笔试强训】第十天
解析:内联函数(inline)一般用于代码较少,代码块里面没有递归且频繁调用的函数,是一种以空间换时间(不是指内存,而是指令变多编译出来的可执行程序会变大)的做法。内联函数在预编译的时候展开,会用函数体替换函数调用;内联函数可能会使目标文件变大,但是少了调用开销,增加程序运行的效率。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bMNNEK5C-1680405348455)(null)]解析:C++中不能重载的运算符.*sizeof?这5个运算符不能重载。原创 2023-04-02 11:18:54 · 329 阅读 · 0 评论 -
【C++笔试强训】第九天
解析:函数的形参是引用类型,我们直接传变量本身就可以。形参的改变也会引起实参的改变,叫做输出型参数。解析:本题考查内存申请和释放问题。和free匹配使用;new和delete匹配使用;new[]和delete[]匹配使用。使用new申请空间和delete销毁空间时过程:1.new T:调用申请空间,其实函数内部还是使用malloc申请空间,然后调用T的构造函数对申请的空间进行初始化;delete p:先调用析构函数释放p指向对象中的资源,再调用释放p所指向的空间,实质上函数内部是使用free。原创 2023-04-02 11:17:59 · 349 阅读 · 0 评论 -
【C++笔试强训】第八天
解析:函数重载:在中,函数名字相同,参数列表不同的一系列函数称之为函数重载。参数列表的不同具体表现在:参数个数不同、参数类型不同、参数类型次序不同。与函数类型返回值没有关系。解析:A 引用是给变量取别名,需要知道是给谁取的别名,所以必须初始化,指针不强制要求;B 引用初始化之后就不能被二次引用,但指针指向的对象可以改变;C 引用不存在空,指针可以指向空;D 引用就是变量别名;E 引用底层使用是使用指针来实现的,引用的本质就是一个指针,所以在传参的时候也是传实参的地址;原创 2023-04-02 11:17:18 · 556 阅读 · 1 评论 -
【C++笔试强训】第七天
解析:内联函数(inline)一般用于代码较少,代码块里面没有递归且频繁调用的函数,是一种以空间换时间(不是指内存,而是指令变多编译出来的可执行程序会变大)的做法。内联函数在预编译的时候展开,会用函数体替换函数调用;内联函数可能会使目标文件变大,但是少了调用开销,增加程序运行的效率。解析:函数默认的参数可以有多个;;参数可以不用设置默认值。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wn0jibCp-1680405208317)(null)]class。原创 2023-04-02 11:14:09 · 766 阅读 · 0 评论 -
【C++笔试强训】第六天
1.解析:十进制转换为八进制就是不断的除8,取余数。十进制转换成其他进制的数就是除以进制,取余。解析:注意printf的转换,%%只会打印一个,所以选A。解析:由于()的原因p先和结合,说明p是一个指针,是一个数组指针,指向一个char类型的字符数组,该数组中有16个元素。解析:a表示首元素的地址,对与二维数组,首元素是第0行数组的地址。明显D选项还是一个地址。define是直接替换其所在位置就行,替换之后正常计算就可以,解析:解析:free之后不会自动的把指针变量制成NULL,需要手动处理。原创 2023-04-02 11:15:26 · 627 阅读 · 0 评论 -
【C++笔试强训】第五天
解析:本题考查do while循环及后置++。刚开始x = 1,先进入循环中,后置++是先使用再++,所以printf输出结果为 1。++后x的值变为2,经while(x–)后又变为1,再次进入循环…… 所以该程序将会陷入死循环。解析:sizeof是一个操作符,用于计算变量或类型的大小,一般单位为字节,通常用于计算内存大小。strlen是函数,用于计算字符串的长度,只统计字符串中字符的数量,不包括结尾的空字符。sizeof是用于计算内存占用,strlen主要是用于计算字符串的长度。原创 2023-04-02 11:13:48 · 758 阅读 · 0 评论 -
【C++笔试强训】第四天
解析:本题考查printf的输出。%o表示是以八进制的形式输出,没有输出的数值前面就不会有0。m本身就表示八进制;n转化成八进制就是n除以8取余,结果就是173。%x是以十六进制的方式输出。解析:本题查看位操作符。表示按位取反;表示按位或;表示按位与;表示按位异或;>>是右移操作符。2的第二个bit一定为1,按位取反之后第二个bit为0,此时再&flag,则flag的第二个bit无论是1还是0,遇见0都会变为0。解析:题目中要求的就是声明一个指针常量,要求const。原创 2023-04-02 11:10:46 · 190 阅读 · 0 评论 -
【C++笔试强训】第三天
解析:字符数组里面的最后一个字符是0,说明里面本身就是一个字符串——,数组名表示数组首元素的地址,那么p = a + i指向的就是字符数组中元素'9',那么p - 3就是指向元素'6'的地址,%s打印的是字符串,所以从'6'开始向后打印。解析:本题考查语句,如果在switch的case语句中没有遇见break,就默认往下继续执行。x%2为1,指向case 1,但是没有就执行defalut,此时输出hello,没有遇见break,继续执行case 2,打印third。即选D。原创 2023-04-02 11:12:33 · 401 阅读 · 0 评论 -
【C++笔试强训】第二天
解析:考查printf后面表示输出左对齐,输出左对齐30个字符格式为%-30f后面表示精度。%e字符以指数形势输出,可以认为是double类型(也就是小数点后保留6位)的指数。为%f字符表示输出格式为double类型。所以上面题目要求的格式为%-30.4f。C语言中要求我们掌握的各种输出如下:整形输出:%d整型输出,%ld长整型输出,%u以十进制数输出unsigned型数据(无符号数);进制输出:%o以八进制数形式输出整数,%x以十六进制数形式输出整数;原创 2023-04-02 11:09:17 · 661 阅读 · 0 评论 -
【C++笔试强训】第一天
解析:在for循环的循环条件中 ,&&表示逻辑与,从左向右判断两边条件是否成立,只有当两边的条件都为真时,这条语句才为真。左边y = 123是赋值语句,一直为真;右边x原创 2023-04-02 11:04:32 · 814 阅读 · 0 评论