1、printf sacnf 需要导入stdio.h包。

2、while(scanf(“%d”,&n)!=EOF)表示一直处于输入状态,在本机对话框里结束输入的话要先摁Enter再摁Ctrl+Z最后再摁Enter键结束输入。

3、调用system("pause")来观察输出结果。

4、C语言的逻辑运算符都是短路运算符,一旦能够确定整个表达式的值就不要再计算。——短路逻辑

5、cout>>“\\n”表示输出一个\。

6、cmath包里的floor(x)函数返回不超过x的最大整数。

7、浮点运算不能直接比较是否相等,要通过浮点误差的大小来控制其相等的准确度。

8、计时器 导入time,h包 输出 clock()/CLOCKS_PER_SEC。此外如果要知道程序跑了多长时间,要先把最初的时刻和最后的时刻求出来做差,所得差即为你的程序真实运行的时间。

     以下是一个样例:

    

9、关于文件的输入输出重定向:在main函数的入口处加入两句话:

           freopen("题目规定的输入文件","r",stdin);//读入输入

           freopen("题目规定的输出文件","w",stdout);//输出输出

10、字符数组最后会有/0,所以开的时候要多开一位。

11、printf("%整数部分位数.小数部分位数f")

        如printf("%*.1f",c,a/b)就表示由c确定整数部分的位数。*的部分引用c,f的部分引用a/b。若输入的数的整数部分位数比c小,则c确定整个数的位数,并用空格补齐域宽共c位;若整数部分位数比c大,则c无效。

12、数组在外面声明时才可以开的很大,否则在main里面声明的话稍大就会异常退出。

13、将数组元素复制,用string.h包里的memcpy(b,a,sizeof(a))函数。

         将数组元素统一初始化,用memset(b,0,sizeof(b))函数。

14、关于scanf和getchar的一些区别

         scanf一般都是while(scanf(" %s",s)!=EOF) 是通过处理整个字符串,以字符串休止符为结束。它是用for循环再处理字符串中的每个字符,一般会与数组中的其他元素有联系。(结束标志是整个数据组都输入完EOF)

         getchar一般都是while((c=getchar())!=EOF)是先在对话框中输入一串字符串,然后对每个字符挨个处理,且每个字符都和其他字符没有关系。每个字符经过独立的处理然后在while语句里面输出。是一个字符对应一个循环对应一个输出。可处理空格,返回值是一个int类型的整数。(结束标志是一整个字符串输入完)

15、ctype.h包里的isalpha(a)函数可以判断字符a是否是大小写字母。若是则返回非0值,若不是则返回0。

16、如果在输入完个数num之后要读入字符串,要在语句之间加一个getchar()。

       字符串不能直接作比较,应用strcmp函数,否则会达不到预期的效果。

17、机器运算的加减法要比乘除法快很多,所以计算时间时加减法可以近似被忽略。

18、堆栈的pop是出栈,push是入栈,左括号在堆栈里优先级比加号低。

         

19、

20、


21、两种遍历不一定能确定唯一的二叉树,必须有中序遍历时才能确定唯一的二叉树。

22、cstring里的strlen()可以用来测char数组里有多少元素,sizeof只能测出char类型占几个字节。

23、cstdlib的一些转换数据类型函数 -->http://blog.csdn.net/gdut2015go/article/details/46324339

24、