作业介绍
向前方敌军阵地发起冲击,大家跟我冲啊!!!
277,278,279,429,431,432,799,800,801,251,252
三级内容
(1)了解二进制数据编码:原码、反码、补码。
(2)掌握数据的进制转换:二进制、八进制、十进制、十六进制。
(3)掌握位运算:与(&)、或(|)、非(!)、异或(^)、左移(<<)、右移(>>)的基本使用方法及原理。
(4)了解算法的概念,熟练运用自然语言、流程图、伪代码方式来描述算法。
(5)掌握字符串及其函数的使用包括但不限于大小写转换、字符串搜索、分割、替换。
(6)理解枚举算法、模拟算法的原理及特点,可以解决实际问题。
(7)掌握C/C++中数组的概念,了解数组的存储原理及特性,掌握一维数组的定义、初始化、引用等方法。
python组补充:掌握Python中列表、字典、元组、集合以及列表解析的概念以及相关内置函数的使用,包括但不限于列表、元组、字典的创建与删除、相关元素的添加/删除及访问、相关运算。
(1)了解二进制数据编码:原码、反码、补码。
机器数:10(10) = 0000 1010(2) -10(10) = 1000 1010(2)
真值: 10(10) = +000 1010(2) -10(10) = -000 1010(2)
非负数:原码、反码、补码统一
负数:反码 = 原码符号位不变,其余位取反 1000 1010 --- 1111 0101(反码)
负数:补码 = 反码+1; 1111 0110(补码)
(2)掌握数据的进制转换:二进制、八进制、十进制、十六进制。
1. 按权展开求和 --- K->10
2. 短除法 --- 10->K
3. 技巧:2<->8, 2<->16
(3)掌握位运算的基本使用方法及原理。
与(&) 1&1=1, 1&0 = 0&1 = 0&0 = 0
或(|) 0|0=0, 1|0 = 0|1 = 1|1 = 1
逻辑非(!) !1=0, !0=1
异或(^) 1^1 = 0&0 = 0, 1^0 = 0^1 = 1.
左移(<<) 1010<<2 = [10]1000
右移(>>) 1010>>2 = 0010[10]
(4)了解算法的概念,熟练运用自然语言、流程图、伪代码方式来描述算法。
for i <- [1,n]
if(i&1) ...
算法是指为解决某个特定问题而采取的确定且有限的步骤。 主要的五个特性是:有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出。 有穷性:一个算法包含的操作步骤应该是有限的; 确定性:每一条指令必须有确切的含义,不能有二义性,对于相同的输入必须能得到相同的执行结果; 可行性:指定的操作,都可以通过已经验证过可以实现的基本运算执行有限次后实现;
(5)掌握字符串及其函数的使用包括但不限于
char s[] = "hello" s[n]='\0' string s;
大小写转换 'a' - 32 = 'A'
char d1 = tolower('A');
char d2 = toupper('A');
字符串搜索
string s = "hello heacker.";
int a = s.find('h'); // 0
int b = s.find("heacker"); // 6
int c = s.find('h', a+1); // 6
分割:string str = s.substr(c,7); // 从下标c开始截取 7个字符
替换:s.replace(c, 2, "zhangsan"); // // 从下标c开始替换2个字符为 xx
#include<bits/stdc++.h>
using namespace std;;
char s[11];
int main(){
string s = "hello heacker.";
int a = s.find('h'); // 0
int b = s.find("heacker"); // 6
int c = s.find('h', a+1); // 6
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
cout<<s.substr(c,7)<<endl;
s.replace(c, 2, "zhangsan");
cout<<s<<endl;
return 0;
}
(6)理解枚举算法、模拟算法的原理及特点,可以解决实际问题。 二维数组的模拟题:幻方
(7)掌握C/C++中数组的概念,了解数组的存储原理及特性, 掌握一维数组的定义、初始化、引用等方法。
引用,两个数的交换
#include<iostream>
using namespace std;;
// 引用 --- 取别名
void swap(int& a,int& b){
int t=a; a=b; b=t;
}
int main(){
int x=1, y=2;
swap(x,y);
cout<<x<<" "<<y;
return 0;
}
- 状态
- 已结束
- 题目
- 8
- 开始时间
- 2023-11-18 0:00
- 截止时间
- 2023-12-12 0:00
- 可延期
- 24 小时