首页 > 其他分享 >11.13;周日;复盘

11.13;周日;复盘

时间:2022-11-14 21:01:32浏览次数:54  
标签:语句 int eg 11.13 1111 按位 指针 复盘 周日

复盘

记录内容,回顾

经验

编程学习

1.学习方法

  • 学习初期,用到啥学啥
  • 学习20%的功能即可,不必去深究
  • 啥火学啥
  • 对于作品,是先完成再完美(编程也是一样的)

c语言

理论知识

  1. 指针指向数组
    eg:
    int a[10];
    int *p;
    p = a;//把数组的a的地址-->p
  2. 数组元素表示方法(用数组,指针)
    eg:
    int *p=a;
    第一位:
    a[0]; *p; *(p+0); p[0]
    第二位:
    a[1]; *(p+1); p[1]
    第一位地址:
    &a[0]; a; a+0; p; (p+0)
    第二位地址:
    &a[1]; a+1; p+1
  3. []与*()的关系
    [] <--> *()
    eg:
    a[0] <> *(a+0)
    a[1] <
    > *(a+1)
    *(p+0) <==> a[0]
  4. 数组初始化时的大小
    数组初始化时的大小可以不用给定,其余情况都要确定大小
  5. 求数组的长度
    sizeof(a) / sizeof(int)
    sizeof(a) / sizeof(a[0])
  6. continue的使用
    跳出本轮循环(仅一次)
  7. 多注意下循环后的递增变量
    它要比退出时的条件多加一
  8. 宏定义(核心:替换)
    优点:简洁明了,编译运算更快
    宏定义的应用场景:与别人合作时,一些常用的变量可能会定义的有些冲突,因此定义一个变量,使用与全文,达到一改全改的效果
    使用:
    8.1定义一个变量
    eg:#define PI 3.1415926
    8.2定义标志符
    eg:

define cheng //即用代替cheng(前面的被代替的,后面是用来代替)

c = a cheng b;
等同于:c = a * b;
8.3定义公式
eg:

define mainji(pi,r) pirr

宏定义的优先级:
当出现宏定义时,首先要进行替换,替换后按照c语言运算符优先级的顺序进行。所以在使用宏时,要确定计算顺序,适当的加上括号
9. 条件编译

  • 作用:编译部分代码,编译速度更快
  • 用法
    1

if 整型表达式

语句1;

elif 表达式

语句2;

elif 表达式

语句3;

else

语句4;

endif

2

ifdef 宏名

语句

else

语句

endif

3

ifndef 宏名

语句
else
语句

endif

  1. 头文件和另一个c文件
  • 多人合作细化编程
  • 各种头文件
    eg:定义变量的头文件
  • 引用头文件

include "头文件名"

相当于赋值头文件内容

  • 引用另一个c文件内容
    不用引入c文件名
    只需声明,即可引用
    eg:
    int sum(a, b){
    }//该函数在非主函数的c文件中
    在主函数c文件中,先声明,就可以引用
    int sum(a, b);

sum(c,d);
11. 按位运算
按位与:&
按位或: |
按位异或: ^

  • 按位与:&
    0&0=0,1&1=1,0&1=0
    eg:
    6:110
    5:101
    & 100
  • 按位或: |
    0&0=0,1&1=1,0&1=1
    eg:
    6:110
    5:101
    & 111
    *按位异或: ^
    0&0=0,1&1=0,0&1=1
    eg:
    6:110
    5:101
    & 011
  1. 格式化输出
    八进制:%o
    十六进制:%x
    地址:%p
  2. 按位取反~
    eg:
    假设一个字节:
    5:0000 0101
    ~:1111 1010
  • 原码:数以二进制形式表示
    eg:
    假设两个字节
    5: 0000 0000 0000 0101
    -5: 1000 0000 0000 0101
    首位表示符号,0为正,1为负
  • 反码
    正数反码与原码一致
    负数反码:将原码按位取反(除了最高位即符号位不变)
    -5反码: 1111 1111 1111 1010
  • 补码
    正数补码与原码一致
    负数补码:将原码按位取反(除了最高位即符号位不变),然后加一
    -5补码: 1111 1111 1111 1011

编程经验

  1. 在编程时,不给自己增加无谓的难度。
    就直接针对该题解答,做出来才能增加信心
  2. 写代码时,先把针对性的代码完成,之后再说普适性的问题
    eg:
    针对性:
    for(i=0; i<11; i++){

}
普适性:
for(i=0; i<length; i++){

}
3. 从已知代码中代码编码,提高编码效率。学会复制已有代码
4. 学习了一种调试bug的思想:遇到问题,思考原因,然后验证,使用printf函数
5. 程序执行的顺序
程序时顺序执行的,先从mian开始,顺序执行语句,知道return结束
6. 为什么使用指针操作数组呢?
1可以使用指针这一种方式操作所有的数据类型
2指针效率更高,作用在底层(寻址)
7. int *,指针变量,指针的理解
int *p

  • int *是数据类型,整型指针数据类型
  • 指针变量p:其中存放地址
  • 指针:说的就是指针变量p,简说指针
  1. 在编程时,多去调试,输出,完善后可以注释掉
    其实输出就是一种调试
  2. 做编程题时,你不是想不到思路,你是想到好多思路,只是不知道那个思路是可行的,所以需要你自己去尝试
  3. 指针的妙用
  • 可以不用出现数组里的下标
  • 可以取到数组名的所有值
  1. 多使用自己不熟悉的知识
    eg:while与指针
  2. 对于出界判断的操作,都是先判断是否出界,再操作

标签:语句,int,eg,11.13,1111,按位,指针,复盘,周日
From: https://www.cnblogs.com/97rong/p/16887028.html

相关文章

  • 上周热点回顾(11.7-11.13)
    热点随笔:· 数据可视化分析之新技能——魔数图 (葡萄城技术团队)· 工作十年,入职新公司不到四个月就遇到裁员 (Angelasp)· 写点程序员离职的心得 (张飞洪[厦门])·......
  • 2022.11.13:CCPC广州
    补题传送门3题铁这把铁没有沈阳铜那么不甘心(沈阳打完之后,一星期都睡不好),看到了队伍内很多知识点的缺失,不知道在剩下一个正式赛来之前能不能弥补上(跟去年一样,做北大出的......
  • 11.13.4
    #include<stdio.h>intcz(intx,inty,inta[],intb[]);intmain(){inta[100],b[100];inti,m,n;scanf("%d",&m);for(i=0;i<m;i++){scanf("%d",&a[i]);}scanf("%d",&n);fo......
  • 22.11.13 CCPC 广州站 记录
    上来看A(树上DP),直观认为可做,前后拉着队友研究了两个小时,经过lcx,lgy两次hack正确性,最终基本得到答案思路,因为过于复杂和担心正确性问题不敢写。反思:1.正式比赛中不应该一开......
  • 11.13解题报告
    T1pineapple题目描述《暗黑破坏神》是一款经典的\(\text{RPG}\)游戏。其英文名为\(\text{Diablo}\),因发音相似而被称为“大菠萝”。游戏中每个玩家都有两个属性,被称......
  • 【Unity项目实践】FPS项目复盘及关键技术要点
    概述之前做过一个小型的FPS项目,基本实现了以下这些功能点:人物移动:前进后退、鼠标调整视角、右键瞄准;模拟后坐力、初步处理武器穿模的问题。怪物生成:在地图上放置怪物生成点,......
  • 11.13.3
    #include<stdio.h>intcz(intx,inty,inta[],intb[]);intmain(){inta[100],b[100];inti,m,n;scanf("%d",&m);for(i=0;i<m;i++){scanf("%d",&a[i]);}scanf("%......
  • LeeCode 319周赛复盘
    T1:温度转换思路:模拟publicdouble[]convertTemperature(doublecelsius){returnnewdouble[]{celsius+273.15,celsius*1.80+32.00};}T2:最小公倍数......
  • 第四周学习总结(11.6-11.13)
    两层全连接神经网络的内容要比想象中的多很多,代码量也很多,在cs231n只用了15分钟讲解的东西我用了一周半的时间才完全的消化理解,这周终于完成了全连接神经网络博客的书写htt......
  • 闲话 22.11.13
    闲话没有社论因为我不觉得我能把这题剖析得多明白但总之我切了(昨天没有闲话我也不知道为什么但总之想写的时候已经八点多了然后写了一半就回去睡觉了然后今天补完......