作业介绍

向前方敌军阵地发起冲击,大家跟我冲啊!!!

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;
}

GESP考前训练

状态
已结束
题目
8
开始时间
2023-11-18 0:00
截止时间
2023-12-12 0:00
可延期
24 小时