- 博客(27)
- 收藏
- 关注
原创 【Linux】--网络基础入门(CHAPTER1)
ISO七层模型:应用层->表示层->会话层->传输层->网络层->链路层->物理层TCP/IP四层模型:应用层->传输层->网络层->链路层->应用层应用层:负责应用程序之间的数据沟通;协议:HTTP,文件传输协议FTP,电子邮件传输SMTP,DNS,网络远程访问协议(Telnet),网络编程主要针对应用层展开传输层:负责两台...
2019-07-18 12:20:45 154
原创 ChuckTalk--LinuX--进程
进程概念:用户角度:正在运行的程序 操作系统角度:进程就是操作系统对运行中程序的描述信息——进程描述符——pcbcpu处理多个进程时:运用cpu分时技术在多个进程间轮流进行时间片:cpu在每个进程上运行的时间段在LinuX中,pcb实则为一个描述结构体struct task_struct描述信息:标识符PID、进程状态、优先级、程序计数器、内...
2019-06-28 12:44:17 177
原创 ChuckTalk-----------LinuX中信号阻塞\自定义信号捕捉\即SIGCHLD的详细解释
关于自定义信号的捕捉:系统调用、中断、异常时从用户态变为内核态工作(库函数调用时在用户态);当完成内核功能后,从内核态返回用户态;在返回用户态之前判断是否有信号待处理,如果有,并且这个信号处理方式是自定义处理方式时,调用自己写的信号处理函数,调用结束时sig_return再次返回内核态并进行函数中的系统调用;当没有带处理信号时再返回用户态主流程。信号的阻塞:阻止信号被递达(意为暂时不处...
2019-05-05 19:34:33 262
原创 ChuckTalk----------LinuX信号概念/信号产生/信号处理等基本概念的详解解读
信号概念:一种软中断,通知进程发生了某个事情,以打断进程当前任务的一种阻塞操作信号的整个生命周期:信号的产生->在进程中注册->在进程中注销->信号的处理1.信号的产生:信号分为硬件产生和软件产生两种。硬件:ctrl+c:中断当前进程ctrl+|:退出当前进程ctrl+z:停止当前进程软件:使用kill命令可查看64种信号类型(实质为62种,无32、33)其中1~...
2019-05-05 15:11:36 224
原创 [C语言]详细讲解如何模拟实现strstr
首先给出代码,详细图文讲解见代码下方#include <stdio.h>#include <stdlib.h>char* my_strstr(const char* dest, const char* str){const char *pdest = dest;//pdest为标记目标字符串的首位char *s1, s2;//s1,s2分别为目标字符串和寻找字符...
2019-03-07 09:52:22 153
原创 不调用strcpy前提下,编程模拟实现strcpy及strcat,即strcpy和strcat的区别
1.模拟实现strcpychar* my_strcpy(char* strdest, char* strsrc){ if (strdest == NULL || strsrc == NULL)//判断两字符串是否为空 { return NULL; } char *address = strdest;//保留一份strdest while ((*strdest++ = *strs...
2019-03-05 18:29:39 250
原创 【c语言】喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, //给20元,可以多少汽水。
int main(){ int money; printf("请输入钱数:\n"); scanf("%d", &money); int drink;//可喝次数 int bottle;//剩余喝掉的瓶数 drink = money; bottle = money; while (bottle >= 2) { drink += bottle / 2; bo...
2019-03-05 18:26:03 360
原创 【c语言】一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
#include<windows.h>void find_num(int arr[], int len){ int i = 0;//循环变量 int ret = 0;//记录所有值异或的结果 int pos = 0;//记录ret二进制为第一个为1的位置 int x = 0;//将一组值异或在x,得到1个没有相同数字的值 int y = 0;//将另一组值异或在x,得...
2019-03-05 18:22:17 221
原创 【c语言】判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.
# include <stdio.h># include <stdlib.h># include <string.h>int is_rotate(char *str1, char *str2) //判断字符串是否相等函数{ if (strcmp(str1, str2) == 0) return 1; else retu...
2019-03-04 21:33:32 174
原创 【c语言】杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
#define ROW 4#define COL 4#include<stdio.h>#include<stdlib.h>int Yang(int arr[ROW][COL], int val){ int i = 0; int j = COL - 1; int tmp = arr[i][j]; while (1) { if (tmp == val)...
2019-03-04 20:32:12 231
原创 【c语言】输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
void Swag(int str[], int len){ int i, j; for (i = 0; i < len; i++) { if ((str[i] % 2 )==0) for (j = i + 1; j < len; j++) { int temp; if ((str[j] % 2) == 1) { temp =...
2019-03-04 20:30:12 1745
原创 【c语言】有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".要求: 不能使用库函数。只能开辟有限个空间
void reverse_string(char* start, char* end){ while (start < end) { char tmp = *start; *start = *end; *end = tmp; start++; end--; }}int mystrlen(char* str)//计数,测量字符串长度{ int count ...
2019-03-04 09:46:42 169
原创 【c语言】一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
int main(){ int arr[] = { 1, 5, 5, 1, 7, 6, 7, 8, 8, 9, 9 }; int i = 0; int len = sizeof(arr) / sizeof(arr[0]); for (i = 1; i < len; i++) { arr[0] = arr[0] ^ arr[i];//^异或运算符,相异为1想用为0. /...
2019-03-04 09:44:33 190
原创 [c语言]不使用(a + b) / 2这种方式,求两个数的平均值。
方法1:a(假设为大数)比b多出来的数平分int Average(int i, int j){ int ans; if (i > j) { ans = j + ((i - j) / 2); printf("则两数的平均数为:%d\n", ans); } else if (j >= i) { ans = i + ((j - i) / 2); print...
2019-03-04 09:43:03 166
原创 输出一个整数的每一位。
int Ans(int n){ if (n > 9) { Ans(n / 10); } else printf("%d\n", n % 10); }int main(){ int i; printf("请输入一个数:\n"); scanf("%d", &i); Ans(i); while (i) { printf("%d ", i % 10)...
2019-03-03 14:06:57 913
原创 写一个函数返回参数二进制中 1 的个数 //比如: 15 0000 1111 4 个 1 //程序原型: //int count_one_bits(unsigned int value) //{ //
int count_one_bits(unsigned int value){ int num = 0; while (value) { if (value % 2) num++; value = value / 2; } return num;}int main(){ int i = 0; int num = 0; printf("输入一个数...
2019-03-03 14:05:28 150
原创 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说
void find_killer(){ int killer; for (killer = 1; killer <= 4; killer++) { if ((killer != 1) + (killer == 3) + (killer == 4) + (killer != 4) == 3)//题目条件 { printf("killer=%c\n", killer + ...
2019-03-02 17:25:51 385
原创 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A
#include<stdio.h>#include<stdlib.h>int main(){ int a, b, c, d, e; for (a = 1; a <= 5; ++a) { for (b = 1; b <= 5; ++b) { for (c = 1; c <= 5; ++c) { for (d = 1;...
2019-03-02 17:24:39 164
原创 c语言打印杨辉三角形(运用数组)
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main(){ int a[100][100], i, j, num; printf("请输入需要打印的行数:"); scanf("%d", &num); for (i = 0; i<100; i++...
2019-03-02 17:22:52 3442
原创 c语言递归法的三种简单应用
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>//1.递归求斐波那锲数列//int Fib(int n)//第n个数//{// if (n <= 2)// return 1;// else// return Fib(n - 1) + Fib(n - 2);/...
2019-03-02 16:03:40 579
原创 关于c语言打印对称三角图案和求水仙花数的问题
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>1.打印对称三角图案int main(){ //先打上三角 int maxline = 0; int i; scanf("%d", &maxline); for (i = ...
2019-03-02 12:04:08 907 1
原创 C语言实现模拟密码登陆程序(三次后强退结束)
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h.>#include<stdlib.h>int main(){ for (int i = 0; i < 3; ++i) { char password[100] = { 0 }; printf("请输入密码:\n");...
2018-12-18 16:08:50 459
原创 c语言简单实现三子棋小游戏
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>//防止显示time未定义#define ROW 3#define COL 3//方便修改棋盘大小,不用直接给数组定义数字char g_broad[ROW][COL];void ...
2018-12-10 22:10:00 177
原创 用 从大到小 和 从小到大 两种方法求取两数中的最大公因数
1.从大到小#define _CRT_SECURE_NO_WARINGS#include<stdio.h>#include <math.h>#include<stdlib.h>int main(){ int a, b; int n,i; scanf_s("%d %d", &a,&b); n = a; ...
2018-12-03 17:55:41 242
原创 简单的判断:1000——2000之间闰年有哪些
#include <stdio.h>#include <stdlib.h>int main(){int i;for (i = 1000; i <= 2000; i++)//用一个循环判断每一年{if (i % 4 == 0)//闰年能被四整除{if (i % 100 != 0)//但每100年不闰,所以不能被100整除{printf("%d\n"...
2018-12-02 23:50:30 717
原创 用C语言实现:判断1——100中的数字出现了多少次9
#include <stdio.h>#include <math.h>#include <stdlib.h>int main(){int count = 0; //定义变量count为9出现的总次数int i ;for (i = 1; i < 100; i++) //用1...
2018-12-02 23:40:14 858
原创 我的第一篇,我的初心
我的第一篇博客大家好我是一名西安工业大学对编程格外感兴趣的理工男,因为学长的影响,发现了对编程的喜爱,打算就此开始长期的编程生活。作为新手的我,对编程充满着好奇与满满的求知欲,因此我打算做一个长期且科学的学习计划来进行今后的学习。首先从在校的专业课开始打好基础,万事开头难,基础则显得格外重要,所以学习的节奏是最应该重视的一点。保持着每天进步一点的原则,哪怕只是可以多学习一个函数,不求速度但求...
2018-11-30 13:01:03 324 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人