-
Notifications
You must be signed in to change notification settings - Fork 384
/
Copy path杨芹202030310056
13 lines (13 loc) · 2.53 KB
/
杨芹202030310056
1
2
3
4
5
6
7
8
9
10
11
12
13
Copyright ©2021-2099 WeijieHuang.All rights reserved
2.1 先在脑子中回想一下C语言的特点,然后结合C语言的特点,在此基础上,进行比较,找出相同点和不同点。想不出来的翻找一下课本,将特点加以完善。
2.4 题目中的问题是:不能编译通过,那么一个程序不能被编译通过的原因可能有:语法错误,固定结构错误等等。接下来看这个所给的程序,第一步先标上行数,第二步一行一行的往下编译。我们就可以看到主函数中引用了新的函数,但是此时我们并不知道新函数是什么,所以此次编译不能通过是因为缺少函数声明或者函数定义应该放在主函数前面。
2.5 大致的看一下题目,等价意味着变化后仍然相等。
第一个:思考函数原型的相关知识,对比一下两个声明,函数声明中可以只包含它们的类型。第二个:对比两个函数定义,函数定义必须给出函数的名字。
2.10 重载函数被调用时要求:函数的类型不同,或者参数的个数不同,或者二者兼而有之
2.11 内联函数的相关知识,内联函数是为了消除define造成的不安全性,只有频繁使用,代码段比较短的函数才被定义为内联函数。
2.12 考察内联函数的知识,找出错误的那么其他三个是正确的。内联函数中一般不能含有复杂的控制语句,如for语句和switch语句,最后把课本前面没有的知识补充完整或者找出划下来
2.13 考察默认参数值的相关知识,找出错误的并加以改正。C++中允许设置默认参数值,C语言中不可以;所有指定默认值的参数必须出现在不指定参数的右边;函数定义中也可以指定默认值;设置默认参数值时,不一定全部设置
2.15 找出三个错误的改正,排除法。重载的要求中要求参数类型、参数个数不同或者二者都不同时才可以重载。
2.18 从上往下进行编译 第一个i为全局变量,第二个i为局部变量,关系式中含有::将访问被屏蔽的全局变量,但是等式右边的i不变,仍为100
2.19 逐行编译,先看主函数包括的内容,在主函数中使用了一个函数,再看函数是如何定义的 ,在此定义中进行了引用。将a和b的值传递给m和n,m和n进行了交换,m的值由于进行了引用,所以a的值改变了,而b的值不变。(问题:没看懂输出什么?)
2.21 将一个程序先用#define书写,然后再用const代替#define,对比两个程序