| |
 
  |  
 
| 
	
开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 
 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁  | 
	 
| -> 数据结构与算法 -> 2021.8.9 -> 正文阅读 | 
|  
 | 
[数据结构与算法]2021.8.9 | 
| 
 
 
 
 
 l妈的今天不知咋滴又睡过头,!!!!切记不要晚睡。。。。。。今天把操作符看完了,顺便看了下数据结构,感觉还是。。。。。。? 希望快把编程学会然后就能去比赛然后就有比赛经历了。 1.在最后有一些坑爹的题:?不能创建临时变量(第三个),交换两个数字。 ? ? ? ? int main() int main() { ? ? ? int a = 2;? int count = 0; while(a) {? ? ? ? if(a%2 == 1) count++; a = a \2; 
 int 
 main
 () 
  
 { 
  
 int 
 num 
 = -
 1
 ; 
  
 int 
 i 
 = 
 0
 ; 
  
 int 
 count 
 = 
 0
 ;
 //
 计数 
  
 while
 (
 num
 ) 
  
 { 
  
 count
 ++
 ; 
  
 num 
 = 
 num
 &
 (
 num
 -
 1
 ); 
  
 } 
  
 printf
 (
 "
 二进制中
 1
 的个数
  = %d\n"
 ,
 count
 ); 
  
 return 
 0;
  
 3.数组相应的题也做了;
  
 
!!!!指针是4个字节; 4.容易错; 
 #include <stdio.h> 
  
 int 
 main
 () 
  
 { 
  
 ? ?
 int 
 a 
 = 
 10
 ; 
  
 ? ?
 int 
 x 
 = 
 a
 ++
 ; 
  
 ? ?
 //
 先对
 a
 先使用,再增加,这样
 x
 的值是
 10
 ;之后
 a
 变成
 11
 ; 
  
 ? ?
 int 
 y 
 = 
 a
 --
 ; 
  
 ? ?
 //
 先对
 a
 先使用,再自减,这样
 y
 的值是
 11
 ;之后
 a
 变成
 10
 ; 
  
 ? ?
 return 
 0
 ; 
  
 }
  
 5.逻辑操作符
  
 1.&& 2.||
  
 易错
  
  1
  &
  2
  ----->
  0 
   
 
  1
  &&
  2
  ---->
  1 
   
 
  1
  |
  2
  ----->
  3 
   
 
  1
  ||
  2
  ---->
  1
   
 
  6. 
    
   int 
   main
   () 
    
  
   { 
    
  
   ? ?
   int 
   i 
   = 
   0
   ,
   a
   =
   0
   ,
   b
   =
   2
   ,
   c 
   =
   3
   ,
   d
   =
   4
   ; 
    
  
   ? ?
   i 
   = 
   a
   ++ && ++
   b 
   && 
   d
   ++
   ; 
    
  
   ? ?
   //i = a++||++b||d++; 
    
  
   ? ?
   printf
   (
   "a = %d\n b = %d\n c = %d\nd = %d\n"
   , 
   a
   , 
   b
   , 
   c
   , 
   d
   ); 
    
  
   ? ?
   return 
   0
   ; 
    
  
   }
    
  
   即:|| 一路算下去,是真就停止。
    
  
   7.整型提升, 
     
  
    C
    的整型算术运算总是至少以缺省整型类型的精度来进行的。 
     
   
    为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整形提升,
     
   
    1.如果为负数,
     
   
      char 
      c1 
      = -
      1
      ; 
       
     
      变量
      c1
      的二进制位
      (
      补码
      )
      中只有
      8
      个比特位: 
       
     
      1111111 
       
     
      因为 
      char 
      为有符号的 
      char 
       
     
      所以整形提升的时候,高位补充符号位,即为
      1 
       
     
      提升之后的结果是: 
       
     
      11111111111111111111111111111111 
       
    
     2.如果为正数,
      
    
      char 
      c2 
      = 
      1
      ; 
       
     
      变量
      c2
      的二进制位
      (
      补码
      )
      中只有
      8
      个比特位: 
       
     
      00000001 
       
     
      因为 
      char 
      为有符号的 
      char 
       
     
      所以整形提升的时候,高位补充符号位,即为
      0 
       
     
      提升之后的结果是: 
       
     
      00000000000000000000000000000001
       
      
      
      
     
      3.
      无符号整形提升,高位补
      0。
       
      
      
      
      
    
   8. 
     
 
    复杂表达式的求值有三个影响的因素。 
     
   
    1. 
    操作符的优先级 
     
   
    2. 
    操作符的结合性 
     
   
    3. 
    是否控制求值顺序
     
    
    
   
    9.注意不要代码不要乱写。
     
   
    ?
     
    
    
   
    10.指针, 指针就是个变量,用来存放地址的变量。
     
    
    
   
    、、、、、所有类型的指针大小都一样。在32位上都为4;
     
   
    指针的类型决定了+-的多少? ?指针的步长。
     
   
    ? 11.下午还顺便学了点数据结构,留到明天在总结了。
     
   | 
|  
 | 
|  
 | 
| 上一篇文章 下一篇文章 查看所有文章 | 
	
  | 
| 
	
开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 
 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁  | 
	 
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/4 7:49:16- | 
  |  
 
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |