- 熟悉最常使用的C语言语法
- 掌握C/C++程序如何使用gdb调试
- 会用C++新增的特性
- 堆,栈,链表
- 树
- 图
- 基本算法
- 动态规划
- C++常用容器的初始化和构造函数
最常使用的C语言语法
- 获取pi的值:
const double pi = acos(-1.0);
- C语言中的逻辑运算符都是短路运算符,一旦能够确定整个表达式的值,就不再继续计算
printf(“%d %d %d”,count++,count++,count++);
的输出问题- 编程实现计算
int
类型数据的取值最大值和最小值:#include<cstdio> #include<cmath> int main() { int x; int n=sizeof(x); printf("%lld\n",(long long)pow(2,n*8-1)-1); printf("%lld",-(long long)(pow(2,n*8-1))); return 0; }
循环结构程序设计
-
建议尽量缩短变量的定义范围,例如在for循环的初始化部分定义循环变量
-
floor(x)
返回不超过x的最大整数 -
浮点运算可能存在误差,因此在进行浮点数比较时,应考虑到浮点误差
-
当需要统计某种事物的个数时,可以用一个变量来充当计数器
-
在遇到
long long
的输入输出时,由于在MinGW的gcc中要使用%I64d
,而在VC2008等要用%lld
,所以可以使用C++的输入输出流 -
需要使用10的负多少次方类的数据时,可以使用
1e-6
等格式的数 -
典型题目,计算阶乘之和
int main() { long long S=0; int n; scanf("%d",&n); for(int i=1;i<=n;i++){ long long factorial=1; for(int j=1;j<=i;j++){ factorial*=j; } S+=factorial; } printf("%lld",S); return 0; }
-
循环结构往往会增加时间复杂度,为了统计程序从开始运行(包括等待用户输入)到运行结束总共使用了多长时间,可以使用
include<time.h>
:printf("%lf",(double)clock()/CLOCKS_PER_SEC);
为了避免输入数据的时间影响测试结果,可以使用“管道”,命令行执行
echo 20|test
,