由于朋友在冲一级(刚入门勿喷),也是给他写篇解析。如果你们有什么想要我写的,欢迎在评论区里回复。如果在我能力范围之内我会专门写篇文章。
我将这些一级题目分为几类,方法都差不多。
计算题
一级是小学生都可以过的。其中有很多送分的计算题。
第一题
这就属于一个二年级算术题目,需要注意*表示乘号。本题可用递等式解答:
故选B。
第二题
这道题考察取模运算的掌握。取模预算相当于求出5/2的余数,在这里为1。前面的“5%2=”是输出了一个字符串。由于两者中间是连续的,所以选D。
第四题
此题与上一题有着异曲同工之处。第一行代码把a初始化为1,第二行输出a+1。变量就是一个等量代换的过程,第二行输出的应该是1+1的结果,也就是2。
前面输出了一个字符串"a+1= ",也就可以选B了?才怪!这里有一个细节不知各位有没有观察到。=和双引号中间有一个空格!所以正确的答案是A。
第五题
此题考察格式化输出。讲解与第四题略同,不同在于本题等号后面没有空格。应选B。
第八题
这道题属于是暴力计算题,可以模拟。但更好的方法是解剖代码。这段代码从0循环到9(不是10),判断i是否可以整除3或7。如果都不能整除,将计数器加上i,最后输出计数器。
0:可以被3或7整除,不满足条件,计数器为0。
1:不可以被3或7整除,满足条件,计数器为1。
2:不可以被3或7整除,满足条件,计数器为3。
3:可以被3或7整除,不满足条件,计数器为3。
4:不可以被3或7整除,满足条件,计数器为7。
5:不可以被3或7整除,满足条件,计数器为12。
6:可以被3或7整除,不满足条件,计数器为12。
7:可以被3或7整除,不满足条件,计数器为12。(注意可以被7整除)
8:不可以被3或7整除,满足条件,计数器为20。
9:可以被3或7整除,不满足条件,计数器为20。
因此可以得出结论:最后的计数器结果为20。所以应该选D。
第九题
这又是一道模拟题。我们可以对他进行再次剖析:只要n!=0,n就自减,然后判断n能否被3整除。如果能被3整除就输出n#。
一眼看去可能要选A,但是其中有一个大坑!由于进入循环之后就自减判断,导致当n为1时进入循环之后会判断0%3!所以后面还要加一个0#,故选B。
第十题
这道题的专业名称叫做:完善程序题。这种写法是普通的质数判定法,在多个数的时候一般要使用埃氏筛。第三行的注释已经写得很明白,所以在计数器自加的时候,条件应该是“N如果被整除”。故选B。
计算题方面的题目到这里就结束了。接下来我们来看一看语法题。
语法题
在一级里语法题愈来愈多,语法也是C++重要的一环。
第三题
这道题每个选项说的都有点道理,但是实际情况我们可以通过举反例来反驳某选项,再通过排除法选出结果。
A:“5+2”是一个字符串,不会计算出结果,A错误。
B:未给定数据类型。如果a为整数类型,那么内容将不为“5+2”。B错误。
C:可以输入表达式,如果类型为string不会报错。
D:排除法选D。
第六题
这是一个if复合语句, 我们的做题方法仍然可以和上题一样。但这里我们使用模拟法。
输入21后,我们就会发现n%3==0,执行第四行。接着if语句结束,跳到第九行,并不存在BCD所描述的结果。所以选A。
第七题
对于第二行执行的次数,取决于循环执行的总次数。经过计算为10+1+9=20,故选C。
第十一题
ABC均对,利用排除法可选D。
第十二题
printf是格式化输出函数,scanf是格式化输入函数,default与Switch相搭配,不可单独存在,cout是输出流,只有scanf拥有输入的特性,所以选B。
课外积累题目
第十三题
在此我们复习一遍DEVC++的这几个指令
创建:创建一个空源文件,可写入代码。
编辑:将一个源文件进行写入和修改的操作
编译:将一个源文件通过编译器转化为二进制可执行文件
调试:对程序输入样例,调试是否输出对应的结果。
第十四题
如果实在不懂,可以通过题目的性质来回答。首先排除D,因为编程与之不相干。再排除B,因为计时器就是计时器,没必要这么高大上!排除A,因为手表是一个整体,不是一个软件!根据排除法可以选择C,同时手表上要有一个操作系统,也与编程密切相关,选C!
第十五题
对于人物的重大贡献,一般选与编程、人类有密切联系中最N13的那个,选C。
判断题
1~3题
第一题:27%10==7,本题正确。
第二题:将%d分别代换为2和3,本题正确。
第三题:scanf参数还有可能是地址,且字符串功能为模版输入。所以本题错误。
4~6题
第四题: 结论正确,但是个人认为条件有部分逻辑错误。主要原因在于整型不可以和字符串做运算,但是对于整型和字符型可以通过强制转换。本题正确。
第五题:错误,每个while都可以改写成for,所以while有可能死循环则for也有可能死循环。
第六题:错误,break适用于所有循环。
7~10题
第七题:float与int存储空间不同,错误。
第八题:cin不为关键字且满足变量命名要求,正确。
第九题:由于存在双方输入输出,所以里面必然拥有交互式程序。正确
第十题:while循环可以转化成for循环,for循环也可以转化成while循环。正确
编程题
小杨买书
本题在我看来是比较脆皮的。对于部分手硬的同学可以采用打表(就怕你手累)。这道题可以利用整型除法的特性与取模运算,分别做处理。
下为参考程序:
找因数
这道题稍微有点水平。我们可以从1开始枚举到n,一个个计算就可以得出结果了。
代码如下:
总结
这一次的一级跟往年相比比较脆皮,主要知识包括顺序结构、分支结构和循环结构。一定要吃透for和while才可以做得出来编程题!