希望能把c++水平由“知道”提升到“熟悉”或“会用”,“精通”就算了吧,这个是一辈子的追求…
好多知识点都忘了,在慕课复习下,总忘的知识点记一下。
http://www.imooc.com/course/programdetail/pid/42
1、ANSI标准
char 1byte
int 2bytes
unsigned int 2bytes
(unsigned) short (int) 2bytes
(unsigned) long (int) 4bytes
float 4bytes
double 8bytes
long double 16bytes
2、格式化输出 %d %c %f %s
3、左结合 右结合
4、
5、闰年吗?(year % 4 == 0) && (year%100 != 0) || (year%400 == 0)
6、break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。
7、一句话总结递归:自我调用且有完成状态。
每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同;
每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次;
递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;
递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;
递归函数中必须有终止语句
8、变量的作用域
#include <stdio.h>
int x = 77;
void fn1()
{
printf("fn1(): x=%d\n", x);
}
int main()
{
int x = 10;
if(x>0)
{
int x = 100;
x /= 2;
printf("if语句内, x=%d\n", x);
}
printf("main方法内, x=%d\n", x);
fn1();
return 0;
}
9、C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。
#include <stdio.h>
void fn()
{
static int x = 1; //定义静态局部变量
x*=2;
printf("x=%d\n",x);
}
int main()
{
int i;
for(i=0;i<5;i++)
{
fn();
}
extern int x; //调用外部变量
printf("x=%d\n",x);
return 0;
}
int x=100;
10、冒泡
for(i=8; i>=0; i--)
{
for(j=0;j<=i;j++)
{
if(arr[j]>arr[j+1]) //当前面的数比后面的数大时
{
double temp; //定义临时变量temp
temp = arr[j]; //将前面的数赋值给temp
arr[j] = arr[j+1]; //前后之数颠倒位置
arr[j+1] = temp; //将较大的数放在后面
}
}
}
11、声明多维数组必须制定列数