课程链接:http://www.icourse163.org/course/ZJU-199001
1、scanf(" ",):引号里的内容是一定要输入的内容,空格 仅可用回车代替
:输入浮点数时,需要%lf,输出%f
2、main:不是关键字
3、++、--:加一只是副作用
4、For 循环
for(;;)每个都可以省略,for(;条件;)=while(条件)
5、if else-if:级联 分段函数 if(==){}
6、switch(表达式){case 最终要有具体值: default:}:每个case有个break
7、产生随机数:#include<stdlib.h>
#include<time.h>
srand(time(0));
int a = rand();//很大
int a = rand()%100;//得到100以内的数
8、素数:只能被1和自身整除,不包括1
最大公约数:
9、break:跳出循环
continue:跳过循环,循环内语句不做,进行下一个循环。所在那层循环
10、算x是几位数,并输出:
int main()
{
int x;
scanf("%d",&x);
int mask = 1;
while(x > 9){
x /= 10;
mask *= 10;
}
do{
int d = x / mask;
printf("%d",d);
if(mask > 9){
printf(" ");
}
x %= mask;
mask /= 10;
}while(mask > 0);
printf("\n");
return 0;
}
11、函数:函数定义在前面
Or 函数头搬到前面;//函数原型声明 (main外面、可去掉参数名)
传递参数类型不匹配,C会自己改,不严格,但C++/Java要严格;
调用函数只是传值:参数与值的关系
本地变量:函数本次执行中所独有的,函数内部的变量(包括参数),不会被默认初始化
生存期和作用域:生存期:出现到消亡
作用域:{ 块 }
无参数,void swap(void);
C语言中函数不能嵌套;
12、数组:
一维:定义数组大小、定义数组、初始化数组、数组参与运算、遍历数组输出
二维:初始化,遍历(两个for循环)
数组初始化:a、必须定义数组长度
数组大小:sizeof 运算符!!字节bytes sizeof(a)/sizeof(a[0])
sizeof(int) = 4; sizeof(char) = 1;
b、数组不能复制,b[] = a是不对的,只能遍历
c、数组作函参时,不能用sizeof
13、搜索算法:二分法 log2N