牛客C/C++刷体总结(一)

1. 8  进制开头加0,16进制开头加0x。

2. char 数组可以用字符串数组进行初始化操作,char str[] = “asdfgh”,不能进行字符串的赋值操作。

3. 指针地址相减插值为指针类型的个数。

4. 宏定义只是简单的文本替换。定义中没有括号的话是不会加括号运算的。

5 . 构造函数在创建对象的时候先调用父类,再调用子类,析构的时候相反。

父类指针new子类对象,析构时父类不是virtual的析构函数时只会调用父类的析构函数,且只会调用第一个继承的基类。

6. 针对年代久远的代码,优先选择——在这段代码之外写一段代码,调用该代码的一些模块,完成新的功能需求。

7. 3.9e3 e后面必须是一个整数,不可以是小数啊。

8. sizeof(void) 会出现错误,就像 void n;一样不合法,sizeof(void*)可以的,与目标编译平台有关,为sizeof(int)32位系统为4。

9 . 在类的派生类中,直接基类可以直接访问间接基类不能访问公有成员和保护成员,万一是私有继承也不可以。

10. 小写字母ASCII 97- 122 大写 65-90。

11. strcpy(s1,s2) 将s2字符拷贝到s1中连同结束符\0 strlen 不包括结束符。

12 . 在二维数组初始化中int a[2][4] 2,4 代表维度,初始化不能包括空括号,否则无法编译。

int a[2][3]={{1,2,3},{4,5,6}}; 看清小括号和大括号,小括号为逗号表达式,取最后一个值。

13. 对类求sizeof 大小为变量类型所占字节数,要进行内存对齐,空类一般为1,与类的实例无关的函数,编译器不会在内存中添加任何额外信息。对于带virtual的函数会在每一个类的实例中添加一个指向虚函数表的指针,所以在32位系统中sizeof为4。

14. 在函数中定义中没有说明extern 或者static ,则隐含为extern。

15. const int a 和int const a 都是声明一个整形常量。

16. const 和 * 的位置来判断,const位于*左侧,则修饰的是指针指向的值,const 位于* 右侧,修饰的是指针不变。

17. 函数调用不可以作为一个函数的形参。

18. x = -m++,即x = -m, m=m+1; x=x+8/++n,即n = n+1,x = x+8/n。

19. fopen(“abc.txt”,“w”);读写标志为双引号。

20. C++指向函数指针,静态成员函数时为:void (*p)(Base,Base) 非静态成员函数为void (Base::*p)(Base,Base) 。

21. 字符串gets(ss)执行后,不管ss内的字符,会直接覆盖掉。

22. ‘a’  占一个字节, 注意区分“a” 字符串后加“\0”。

23. 数学计算符,优先级高于关系运算符。

24. 只有有符号的整数才有原码、反码和补码的!其他的类型一概没有。

25. C语言编译的首要工作就是检查语法错误。预处理→编译(生成汇编)→汇编(生成机器码)→链接(生成可执行程序)。

26. 数组名为指向首地址的指针。

27. 友元类和本类的权限是一样的。

28. E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法。

29.  char 字符相减可以以整数格式输出,printf(“%d,%c\n”,a+’2’-’0’,a+’3’-’0’)。

30. sizeof(array)array为数组名,则为数组字节大小。

31. B类继承A类,声明一个A类的指针,指向B类的对象,调用成员函数时A中不是虚函数时调用A类的,A中为虚函数时调用B类中的方法。

32. 只有当一个类被定义为基类的时候,才会把析构函数写成虚析构函数。

33. 算法的五个特性:有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出。

34. 类可以有多个构造函数,不同构造函数之间必须在参数数量或参数类型上有所区别。

35. 窗口句柄相当于一个身份证,是一个整数,不同串口不同,处理函数可以相同。

36. 如果函数值的类型和返回值类型不同,以函数值类型为准;如果形参与实参类型不一致,应以形参类型为准。

37. 函数缺省参数只能从右往左缺,字符传给整数类型时会传ASCII码值。

38. 或表达式左边为true时不再对右边进行运算。

39. char *p () 为指针函数,char (*p) () 是函数指针。

40. 建立类模板的实例化过程为先将类模板实例化,再定义类模板的对象。

41. c++引进了引用的概念,对编程带来了很多方便。一个引用可以看作是某个变量的别名,对引用进行操作就像对原变量进行操作一样。e.g. int a; int & ra=a;

42. 非虚函数静态绑定,静态绑定是指指向声明时的对象,虚函数动态绑定,动态绑定是指指向引用的对象。

43. char a = ‘\82’;则变量a包含一个字符,并从右侧开始运算,所以a的值为‘2’。

44. 机器运算时为补码运算,补码为为反码加1。

45. 函数指针与该指针所指的函数必须具有相同的noexcept异常说明。

46. 应尽量避免:构造函数声明为虚函数,构造函数中调用虚函数,析构函数中调用虚函数。

47. 若用数组名作为调用函数的实参,则传递给形参的是数组的首地址。数组名就是个指针,指向数组这一串存储单元的首地址位置。

48. 1|2  是按位或运算,|| 是逻辑或,必须清晰啊,这再模糊不像话了就!

49. 友元能通过类的对象访问类中所有成员。

50. 在执行读文件操作时,如果遇到文件尾,则函数feof(fp)返回逻辑真(非零值),否则,返回逻辑假。

菜鸡一枚,如有错误,欢迎指正!

发布了43 篇原创文章 · 获赞 93 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_30460905/article/details/100086442