庚子年十月初二——十月初八
安全组——电信2002姜毅
2020.11.16——2020.11.21
文章目录
本周任务
1.搞清楚二面题
2.认识组员
3.学习编译预处理和位运算及混合编程
4.学习C语言文件部分
周任务完成度(目前进度:周六中午)
1.二面题还有好多BUG(√)
2.组员认识得差不多了(X)
3.编译预处理和位运算——学完了
4.混合编程——头大
5.文件——眼:会了,脑子:快会了
遇到问题
1.二面题问题太多啦
2.尤其搞不懂char str 、char *str 和字符串函数的一些原理
一周总结
1.在实验室的感受
在实验室学习使我快乐(击剑X)
2.四种输出二进制的方法
1.使用数组存储
#include <stdio.h>
int main()
{
int n=0,i=0;
int a[32];
scanf("%d", &n);
while(n){
a[i]=n%2;
n=n/2;
i++;
}
for(i=i-1;i>=0;i--){
printf("%d",a[i]);
}
printf("\n");
return 0;
}
2.使用递归输出
#include <stdio.h>
void dectobin( int n );
int main()
{
int n;
scanf("%d", &n);
dectobin(n);
return 0;
}
void dectobin( int n ){
if(n==1)printf("1");
else if(n==0)printf("0");
else{
int in=n/2;
int out=n%2;
dectobin( in );
printf("%d",out);
}
}
3.使用位运算,利用左右移和按位与
#include<stdio.h>
int main(int argc, char const *argv[]){
int n;
scanf("%d",&n);
unsigned mask = 1u<<31;
for(mask;mask;mask>>=1){
printf("%d",n&mask? 1:0);
}
printf("\n");
return 0;
}
4.利用标准库函数 itoa():将整型值转换为字符串。
输出二进制。
#include<stdio.h>
int main(int argc, char const *argv[]){
int n;
scanf("%d",&n);
char binbuf[32];
printf("%s\n", itoa(n, binbuf, 2));
return 0;
}
睿智小玩意
1.一个利用异或进行加密解密的小程序
#include<stdio.h>
#include<windows.h>
int main(int argc, char const *argv[]){
unsigned x=0,y=0;
printf("输入要加密(解密)的数字:");
scanf("%u",&x);
printf("输入密匙:");
scanf("%u",&y);
printf("%u\n",x^y);
system("pause");
return 0;
}
2.倒计时,还附带了happy tree friends 的BGM
它会在倒计时结束后响起欢快的音乐,让人十分开心。
还会让人十分尴尬。
(要把两个放在同一文件夹里面)
#include<stdio.h>
#include<windows.h>
int main(){
// int n=0;
// scanf("%d",&n);
// int h=n/3600;
// int m=(n-h*3600)/60;
// int s=n-h*3600-60*m;
int h=0,m=0,s=0,n;
printf("请输入小时 分钟 秒钟\n");
scanf("%d%d%d",&h,&m,&s);
n=h*3600+m*60+s;
while(n>=0){
h=n/3600;
m=(n-h*3600)/60;
s=n-h*3600-60*m;
printf("\r%02d:",h);
printf("%02d:",m);
printf("%02d",s);
sleep(1);
n = n-1;
}
//system("C:\\Users\\Lenovo\\Desktop\\happy.aac");
system("happy.aac");
}
附:欢乐音乐
链接:https://pan.baidu.com/s/1QQFQJXLi25bhCX7cTKbT1A
提取码:prn1