C++ 期中考试注意事项
C++ 期中考试注意事项及复习指南
- 把企业微信-课程平台-C++-章节中的 《期中考试注意事项》 与 《期中考试指南》 仔细看一遍
- 考试的时候带上草稿纸和笔,脑子想不明白就用纸笔演算
-
单选
20 \times 1.5 = 30\ pts ,推荐时间20 ~30 \min - spoc 思政题考前刷刷背背就行
- 建议考前翻下第一章的书,有
7 道第一章 - 第二至五章选择题不用特意准备,会编程序就会做
-
编程题
25+25+20=70\ pts ,是考试大头,推荐时间60 ~70\min ,不少于55\min 。如果平常上机作业做得比较慢,或者会出现一道题 卡很久/调试很久/不知道错在哪 的情况,建议留足65\min 。-
要做到前两题拿满,最后一题尽量拿满。
-
拿到题目不要着急做题,先仔细把题面读一遍,特别是关键字要求(const setw setprecision),类型要求(半径 r 用整型(int)储存)等,写代码的时候都要按照要求做。
-
确保理解题意,可以通过手算小样例(在样张)中来验证自己读对题意。
-
想具体怎么实现题目,可以先有一个大致结构方向(分支/循环/数组),然后再想具体细节,这部分可以用到草稿纸,切忌没想清楚匆忙动键盘,到最后发现自己想法是错的。 Think twice, code once.
-
把所有代码写在下面这两句话之间,不要用 C 的语法(scanf printf getchar putchar puts),输入用 cin,输出用 cout。如果误删了原有代码,可以按 Ctrl + Z 撤回,或者点 重答。
-
/***Program***/ /***End***/ -
注意题目输入输出格式,题目中所有涉及非运算结果输出的(如“请输入半径:”),一律复制在原有代码中给定的文本,不要自己打。一是容易看错/打错,二是中英文字符或是 l 1 I (第一个是小写L,第二个是数字1,第三个是大写 i)不容易分清。看清楚输出中的空格/输出宽度(输出宽度一般题目中会给出)。因为输出格式丢分是很可惜的。
-
写代码的时候尽量标准化自己的码风,养成良好习惯,如下一层结构要在上一层结构基础上用 tab 或 四个空格向后退,同一层结构对齐。让自己代码清晰可读,容易调试。新手建议所有结构都用大括号括起来,即使只有一句话。防止出现没加大括号,调试的时候却在那里多加一句话的情况。下面是我的日常代码,仅供参考,大括号换不换行都可。
-
int T; cin >> T; while (T -- > 0) { scanf("%d", &n); scanf("%s", s+1); fail[0] = -1; G[0].clear(); For(i, 1, n) { int j = fail[i-1]; while (j != -1 && s[j+1] != s[i]) { j = fail[j]; } fail[i] = j+1; G[i].clear(); G[fail[i]].push_back(i); } Ans = 0; dfs(0); printf("%d\n", Ans); } return 0; -
不知道运算优先级一律加括号。 * / % 同优先级且大于加减优先级。逻辑运算符 ! > && > ||。
-
判断相等是 ==,赋值是 =。
-
数组可以定义大一点,如需要长度 20 的字符数组,可以定 char c[25].
-
注意类型,int的 / 是整除,如 4/3*pi 是 pi。要把 4 改成 4.0,或是在前面加上 (double) 强制转类型。
-
常见的编译错误:变量未定义,变量未初始化(VS 会报错),分号没打或打成中文的分号,大小括号不匹配,括号打成中文括号......
-
如果程序运行很久没出结果,大概率是死循环了,检查 while 循环的边界条件。
-
调试时可以输出中间变量,和手算结果进行比对,从哪里开始对不上了就说明那前面的程序有问题。
-
程序正常结束返回值是 0,如果返回非 0,即出现运行错误,检查是否除以 0 或数组越界等。
-
每次调试完测样张要把所有样张全部测试一遍,全部通过再做下一题。不要测到第二个样张错误了,调试之后只测第二个,要从第一个开始全部测一遍。
-
卡题了可以跳题,先做后面的,别在一道题上耗费太久时间。
-
实在不会做,把样张的输出输出也可以拿分。多个样张分别判断输入再输出,可以骗到 1 分左右。
-