1数据类型
基本数据类型:
int float double char
数组:基本数据类型 [长度]: int [3]
指针: 数据类型 *: int *p;
void 空类型
2.标识符
自己给取一个名字:如数据或函数取名字.
3关键字(32个)
int return .........是系统给你先定义了一些具有特殊含义的词
4.输出与输入函数
输出:printf("%d\n",变量名);
输入:scanf("%d",指针); 在前面的占位里不要用\n与空格
5.基本运算
(1),算术运算 注意%取余数的用法.
(2.关系运算 ==(注意) > < >== <== !=
(3).逻辑运算
|| 或(两边只要有真为真) 1>2||2>0 (a>1||a<-2)
&& 且(两边只要有假为假) a>3&&a<6 (6>a>3 错误 因为这样计算机不认识,应该写为 a>3&&a<6 )
6.流程控制
选择:if switch
if 几种用法方式要熟练掌握.注意:一个if结构里面,不管有多少个判断,只会执行其中一个!!满足一个条件,后面就不判断.
switch
switch (a)
{
case1:
break;
case2:
break;
default:
break;
}
switch中没有break的时候会不判断直接执行下个case ,知道碰到break或switch结尾,才会执行结束.要熟练掌握
循环:while do while for
do while 与while的区别是do while 至少先执行一次里面的操作,其余地方没有区别.
----------------------------------------------
for (int i=0;i<100;i++)
{
printf("条件满足会一直执行");
}
7.函数
返回值 不需要用的返回值的时候用void
函数名 (参数可有可无,看情况是否需要外部的参数(实参))
格式
返回值 函数名(参数可有可无,看情况) {
}
例://计算任意两个整数相加的值
int add(int a,int b){
int count = a+b;
return count;//return a+b;
}
8.进制.
几进制:表示逢几进一位,任意进制每位最大不能超过其自己. 例:二进制每一位不能>=2. 十进制每一位不能>=10
计算机里进制的类型
0b开头: 二进制
0开头: 八进制
无开头: 十进制
0x开头: 十六进制
知道如何把二进制转换成十进制 八进制 十六进制
进制的运算
或 |(有1为真)
与 & (有0为0)
异或 (相同为0,不同为1)
取反 (1与0调换)
左移 (高位丢弃)
右移 (低位丢弃)
9,内存分析
知道: 任意的数据都是从空闲的地址高位开始寻址.
如果是构造类型,如数组,数据里还有数据. 里面的数据从低位开始寻址.
10.数组
把多个有关联的同一类型数据放一块,这个就是数组,
定义:
类型 数组名[长度] 如 char arr[10]
赋值:
数组名[下标]=值;
arr[0]='d'
取值
数组名[下标];
知道怎么去遍历这个数组,(把数组里的每一个元素取出来)
for (int i=0;i<10;i++){
arr[i]
}
知道怎么去取数组里的最值
int temp=arr[0]
让这个temp去与数组里的每一个元素比较.(循环)如果比其大(小).把元素的值赋值给temp,循环完成,当前temp的值就是最值
例如 取数组的最大值 arr[5]={1,2,4,0,34}
for(int i=0;i<5;i++)
{
if(temp<arr[i])
{
temp=arr[i];
}
}
printf("循环完成temp就为当前数组的最大值%d\n",temp);
知道选择排序与冒泡排序的原理.
选择:核心就是依次把最值选出来,从头开始放,或从尾开始放,让每一次出来的结果放完,则结束.
冒泡: 核心就是把最值(最大或最小)冒到前面或是后面,
相邻比较交换赋值,最值一个往前走一个往后走,完成了上浮和下沉
实际操作:(不要求完全掌握) 两个for 循环
11 字符串:
就是一个以\0结尾的字符数组
12 指针:
一个存地址的数据类型
定义
类型 *指针名;
赋值
指针名=地址; 取地址的方式&变量名
操作方式:
核心就是:操作所指空间的数据
*指针名 int a=0;
int *p=&a;
*p=5;
操作自己
移动+1:表示向高位移动
移动-1:表示向低位移动
指针与数组
不是所有的常量都在常量区,
|