C学习笔记20170814

一.其它
1.十进制             %d
2.二进制    0b/0B    
3.八进制    0        %o/%O
4.十六进制  0x/0X    %x/%X
5.进制的转换
  十进制转二进制 除2取余倒着排
  二进制转十进制 每一位乘以对应位上的幂数相加
  八进制转二进制 一个八进制转换为三个二进制
  二进制转八进制 三个二进制位转换一个八进制
  十六进制换二进制 一个十六进制转为四个二进制
  二进制转十六进制 四个二进制转为为一十六进制
6.sizeof(类型) 返回类型长度的字节数、
  sizeof(int)=4


二.数组的定义 
1.int i[50];
2.int[0]=20;
3.int i[5]={1,2,3,4,5}
4.int i[]={1,2,3,4,5}
5.int i[5]={1,2}//其他元素为0
6.int i[5]={[3=1,[2]=9]}//其他元素为0
7.定义数组同时初始化时不可以用变量作为数组长度
8.int i[m]={2,4,5}//错


三.数组的细节
1.数组的数组变量名本身就是一个内存地址
2.取到下标为index的元素地址 print("%p\n",&i[index]) 
3.数组的地址为第一个元素的地址
4.数组是一块连续的存储空间
5.随着元素索引的增加存储空间的地址也一次增加
6.数组越界导致约错了对象 或 程序崩溃


四.数组与函数
1.基本数据类型作为函数参数传递时,为值传递
2.数组作为函数参数传递时为地址传递,因为数组名本身就为一个地址
3.指针是用来存放地址的变量,指针占用8个字节的存储空间
4.当数组作为参数传递时,会被自动给转换为指针类型
5.当作为参数传递时同时把数组的长度传递过去


五.冒泡排序
1.规则:两两比较大的下沉小的上浮(就像起跑)

2.代码:

int nums[5] = { 4, 7, 4, 3, 9 };
int count = sizeof(nums) / sizeof(int);
for (int i=0;i<count;i++)
{
    for (int j = 0; j < count-i-1; j++)
    {
         if(nums[j]>nums[j+1])
         {
              int temp = nums[j];
              nums[j] = nums[j+1];
              nums[j + 1] = temp;
           }
     }
} 

注意:只是学习笔记  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值