小奥的学习笔记

  • Home
  • Learning & Working
    • Speech Enhancement Notes
    • Programming language
    • Computer & DL
    • MOOC
  • Life
    • Life Time
    • Thinking & Comprehension
    • Volunteer
    • Plan
    • Travel
  • Footprints
  • GuestBook
  • About
    • About Me
    • 个人履历
    • 隐私策略
  1. 首页
  2. Study-notes
  3. Programming language
  4. C/C++
  5. 正文

牛客选择题错误整理190625~160709

2019年7月9日 1494点热度 0人点赞 0条评论

图

1.若无向图G = (V.E)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是(16)
解析:任何情况都连通的最少边数的意思是:边分布最浪费的最少边情况。最浪费的最少边肯定就是浪费1个边。所以取点数减1的完全图,得到6* 5/2=15,然后加1条边得到16。

2.其实树就是一种无环图,树的深度优先遍历就相当于拓扑排序。
3.拓扑排序能够判断出有向图是否有回路。

4.设G是有p个顶点q条边的(简单)无向图,且G中每个顶点的度数不是k就是k+1,则G中度为k的顶点的个数是多少?

解析:由于无向图中的度数为边数的2倍。所以假设读为k的顶点有x个,可以列出下面的方程:
kx+(p-x)(k+1)=2q
解之得:x=p(k+1)-2q

C/C++

感觉半个月没接触过C/C++真的是忘干净了
  1. C++中的动态存储说明符:auto、register,静态存储说明符:static、extern。另外一种动态存储还有函数的形式参数。
  2. linux中查看cpu占用命令是top,查看内存是free,检查文件系统的磁盘空间占用状况df,查看网络连接、路由器、网络接口信息等是netstat。

  3. 定义函数模板add,

template<typename T>
T add( T &x, T &y)
{
    return x+y;
}
const int (*pfun1)(const int &a, const int &b);
const int (*pfun2)(int &a, int &b);
int (*pfun3)(const int &a, const int &b);
int (*pfun4)(int &a, int &b);

可以得到以下结论:
①pfun1 =add 调用正确,类型相符。
②pfun2=add失败,会显示no matches converting fuction 'add' to type 'const int (*)(int&, int&);,原因是int 和 const int不是一种类型,无法进行隐式转换。
③pfun3=add同样失败,add无法正确推导。
④pfun4=add赋值正确。

  1. 要记住,函数调用的时候,参数入栈的顺序是从右往左,但是实际打印的时候还是先打印左边的(FILO)。比如下面这个程序,输出结果就是666。
main()
{
    int a=666,b=888;
    printf("%d\n",a,b);
  1. 变量定义问题:变量定义的时候可以这样定义
int a,b,c;
a=b=c=1;

但是不可以这样定义int a=v=c=1;

  1. C语言字符串以\0结尾,\0在内存中的表示为0,对应空字符NULL,其作用是识别字符串,简化字符串处理过程,在使用过程中要为其分配内存空间,但不计入字符串长度。
  2. const在C语言中表示道义上保证变量的值不会被修改,但是实际上并不能阻止修改,通过指针可以修改常变量的值,但是往往会出现一些不可知的结果。值得注意的是,如果a被定义为全局常变量,使用指针修改会引发segment fault(段错误)。
  3. 在小端序机器中,如果
union X{
    int x;
    char y[4];
}
X a;
a.x=0x11223344;

那么里面取值如何?
解析:这个题目考察了两个方面:首先作为union,其长度决定于最长的变量,其实也就是X里面其实指的是y了,所以把0x11223344保存到了y[4]里面。第二个方面就是大小端存储。若是大端存储(高位存储在低字节,低位存储在高字节,对于11223344来说,11是高位,44是低位),则如下图所示

小端存储则是反过来,高位存储在高字节,低位存储在低字节。如下图所示

9. 预处理命令可以当做用户标识符,例如define,scanf,printf,include等。
10. 当使用free释放掉一个指针内容的时候,指针还是指向了那一块,只不过系统认为那块内存已经不使用了。
11. 下面程序的输出结果是:

void main(){
    int n[][3]={10,20,30,40,50,60};
    int (*p)[3];
    p=n;
    cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;
}

解析,n数组为

| 10 | 20 | 30 |
| --- | --- | --- |
| 40 | 50 | 60 |
所以来说,p[0][0]指向的是第一行的1个元素,p[0]+1指向的是第一行第二个元素的地址,p指向的是第一行第一个元素的地址,所以(*p)[2]就相当于p[0][2]相当于n[0][2]。故分别是10,20,30

  1. C++中,对函数参数设定了默认参数之后,为了防止参数匹配发生歧义,后边的参数也必须设置默认参数,也就是说从当前项开始往后都得有默认参数。
  2. 以下程序经过编译连接生成可执行文件tt.txt,若运行以下命令行 tt 12 345 678,则结果是什么?

3d5d81599398f700e88305480e7a8280.png

答案:136
解析:
实际上,这里面的argv[1]是'1',而不是'12',所以实际上是n=11010+3*10+6=136。一直以为argv[1]=12,argv[2]=345,argv[3]=678,实际上并不是,实际上只是首位数。

  1. 不能被重载的运算符 1、. (成员访问运算符) 2、.* (成员指针访问运算符) 3、:: (域运算符) 4、sizeof(长度运算符) 5、?: (条件运算符)
  2. cin是istream类的对象。
  3. 一 重载(overload)
    基本条件:函数名必须相同;函数参数必须不相同,可以是参数类型或者参数个数不同;函数返回值可以相同,也可以不相同;

二 重写(override)
基本条件:重写的函数和被重写的函数必须为virtual函数,分别位于基类和派生类中;重写的函数和被重写的函数函数名和函数参数必须一致;重写的函数和被重写的函数返回值相同,或者都返回指针或引用,并且派生类虚函数所返回的指针或引用的类型是基类中被替换的虚函数所返回的指针或引用的类型的子类型。

三 隐藏
基本条件:
子类和父类的函数名称相同,但参数不同,此时不管父类函数是不是virtual函数,都将被隐藏。子类和父类的函数名称相同,参数也相同,但是父类函数不是virtual函数,父类的函数将被隐藏。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2019年7月9日

davidcheung

这个人很懒,什么都没留下

打赏 点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

搜索
欢迎关注我的个人公众号
最新 热点 随机
最新 热点 随机
DEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架 奥地利匈牙利九日游旅程 论文阅读之Study of the General Kalman Filter for Echo Cancellation 小奥看房之鸿荣源珈誉府 杭州往返旅途及西溪喜来登和万怡的体验报告 2022年的第一篇碎碎念
奥地利匈牙利九日游旅程论文阅读之Study of the General Kalman Filter for Echo CancellationDEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架
张玉帅语录(重发) 拜欧斯奥特曼长篇版的新版海报 中考目标公布 C++面向对象程序设计课程笔记(第三周) 2020年6月授予博士、硕士学位人员名单公示 Python网络爬虫与信息提取(第4周)知识点整理
标签聚合
高中 算法 生活 学习 python学习 leetcode linux Python Java 鸟哥的linux私房菜
最近评论
davidcheung 发布于 5 个月前(02月09日) The problem has been fixed. May I ask if you can s...
tk88 发布于 5 个月前(02月07日) Hmm is anyone else having problems with the pictur...
cuicui 发布于 9 个月前(10月20日) :wink:
niming 发布于 10 个月前(09月19日) 同级校友,能刷到太巧了
davidcheung 发布于 2 年前(08月16日) 我得找一下我之前整理的word文档看一下,如果找到了我就更新一下这篇文章。
Nolan 发布于 2 年前(07月25日) 您的笔记非常有帮助。贴图不显示了,可以更新一下吗?
davidcheung 发布于 3 年前(06月19日) 到没有看webrtc的代码。现在主要在看我们公司的代码了。。。只是偶尔看一看webrtc的东西。。。
aobai 发布于 3 年前(03月13日) gain_change_hangover_ 应该是每三个block 只能够调整一次,这样保证每帧...
匿名 发布于 5 年前(12月30日) 烫
小奥 发布于 5 年前(12月12日) webRTC里面的NS本身我记得就是在C++里面呀

COPYRIGHT © 2025 小奥的学习笔记. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

陕ICP备19003234号-1

鲁公网安备37120202000100号