C语言
WYSCODER
一只努力学编程的菜鸟
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux 僵尸进程
僵尸进程 1.什么是僵尸进程 一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。当用ps命令观察进程的执行状态时,看到这些进程的状态栏为defunct。如果该进程的父进程先结束,那么该进程就不会变成僵尸进程。因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init进程来接管他,成为他的父进程,从而保证每个进程都会有一个父进程。而Init进程会自动wait其子进程,因此被Ini原创 2021-10-28 18:56:15 · 445 阅读 · 0 评论 -
Linux 进程复制 fork2
进程复制fork 1. fork() || fork() 编写以下代码,A打印几次? 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd.h> 4 int main() 5 { 6 fork() || fork(); 7 printf("A\n"); 8 9 exit(0); 10 } 图解: 运行结果: wys@DESKTOP-2OU3HR原创 2021-10-27 23:03:56 · 261 阅读 · 0 评论 -
Linux 复制进程fork1
复制进程fork 1.fork方法 用man命令查看fork方法 wys@DESKTOP-2OU3HRV:~/mycode/day08$ man fork pid_t fork(void); 函数返回类型 pid_t 实质是 int 类型 fork 函数会新生成一个进程,调用 fork 函数的进程为父进程,新生成的进程为子进程。 在父进程中返回子进程的 pid,在子进程中返回 0,失败返回-1。 编写以下程序: 1 #include<stdio.h> 2 #include<st原创 2021-10-27 20:35:15 · 277 阅读 · 0 评论 -
Linux 主函数参数介绍
主函数参数介绍 int main( int argc, char argv[], char envp[]) (1) argc 参数个数 (2) argv 参数内容 (3) envp 环境变量** 1.编写以下代码,打印参数个数,和参数内容 1 #include<stdio.h> 2 #include<stdlib.h> 3 //参数个数 参数内容 环境变量 4 int main(int argc,char* argv[],char*原创 2021-10-27 19:37:37 · 312 阅读 · 0 评论 -
Linux printf 函数输出问题
printf 函数输出问题 printf 函数并不会直接将数据输出到屏幕,而是先放到缓冲区中,只有以下三种情况满 足,才会输出到屏幕。 1) 缓冲区满 2) 强制刷新缓冲区 fflush 3) 程序结束时 1.编写以下程序 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<unistd.h> 4 int main() 5 { 6 printf("hello world\n"); 7原创 2021-10-27 17:26:35 · 704 阅读 · 0 评论 -
2021-07-22_交换两个数的大小
交换两个数 1.创建第3个变量 #include<stdio.h> int main() { int a = 3; int b = 5; int temp = 0; printf("交换前:a=%d b=%d\n", a, b); temp = a; a = b; b = temp; printf("交换后:a=%d b=%d\n", a, b); return 0; } 运行结果: 2.加减的方法 #include<stdio.h> int main() {原创 2021-07-22 12:33:10 · 191 阅读 · 0 评论 -
C语言-------冒泡排序
冒泡排序 例如数组int arr= {10,9, 8,7, 6,5, 4,3, 2,1} 第一趟 ,用数组的第一个数与第二个数作比较,当大于第二个数时,两个数交换,然后第二个数与第三个数做比较,如果大于第三个数,两个数交换…最后得到9 8 7 6 5 4 3 2 1 10 比较9次 第二趟,依次比较,最后得到8 7 6 5 4 3 2 1 9 10 比较8次 第三趟,依次比较,最后得到7 6 5 4 3 2 1 8 9 10 比较7次 … 第九趟,得到1 2 3 4 5 6 7 8 9原创 2021-09-06 16:16:16 · 316 阅读 · 0 评论 -
C语言-------将字符串反向排列
将字符串反向排列 #include<stdio.h> int my_strlen(char* str) { int count = 0; while (*str != '\0') { count++; str++; } return count; } void reverse_string(char* str) { int left = 0; int right = my_strlen(str) - 1; while (left < right) { cha原创 2021-09-06 11:07:03 · 584 阅读 · 0 评论 -
C语言--------求第n个斐波那契数
求第n个斐波那契数 斐波那契数第一个第二个数都是1,从第三个开始,每一个数都是前两个数之和,如下 1 1 2 3 5 8 13 21 34 55 89 … 方法一(递归): #include<stdio.h> int fib(int n) { if (n <= 2) { return 1; } else { return fib(n - 1) + fib(n - 2); } } int main() { int n = 0; printf("请输入你要求第几个斐波原创 2021-09-06 10:33:28 · 428 阅读 · 0 评论 -
C语言-----求n的阶乘
求n的阶乘 方法一 #include<stdio.h> int fun(int n) { int ret = 1; int i = 0; for (i = 1; i <= n; i++) { ret *= i; } return ret; } int main() { int n = 0; scanf("%d", &n); printf("%d",fun(n)); return 0; } 方法二(递归) #include<stdio.h>原创 2021-09-06 10:22:11 · 476 阅读 · 2 评论 -
C语言------求字符串的长度,编写函数不允许创建临时变量
求字符串的长度,编写函数不允许创建临时变量 方法一 #include<stdio.h> //求字符串的长度,编写函数不允许创建临时变量 int my_strlen(char* str) { int count = 0; while (*str != '\0') { count++; str++; } return count; } int main() { char arr[] = "sheng"; int ret = my_strlen(arr); printf("%d原创 2021-09-06 09:56:55 · 256 阅读 · 5 评论 -
C语言-----依次输出一个数的各位(递归)
依次输出一个数的各位 代码如下: #include<stdio.h> void print(int n) { if (n > 9) { print(n / 10); } printf("%d ", n % 10); } int main() { int num = 0; scanf("%d", &num); print(num); return 0; } 结果演示原创 2021-09-06 09:32:39 · 1088 阅读 · 1 评论 -
C语言-----找出100~200之间的素数
找出100~200之间的素数 代码如下 #include<stdio.h> #include<math.h> int is_prime(int n) { int j = 0; //for (j = 2; j <= n - 1; j++) for(j=2;j<=sqrt(n);j++) { if (n % j == 0) { return 0; } } return 1; } int main() { int i = 0; int coun原创 2021-09-06 09:06:40 · 526 阅读 · 0 评论 -
C语言------求n的k次方
求n的k次方 代码部分 #include<stdio.h> double mypow(int n, int k) { if (k == 0) { return 1; } else if (k > 0) { return n * mypow(n, k - 1); } else //k<0时 { return 1.0 / mypow(n, -k); } } int main() { int n = 0; int k = 0; scanf("%d %d"原创 2021-09-06 08:41:29 · 463 阅读 · 0 评论 -
C语言-----输出一个数的各数之和(递归)
输入一个数字,求出其各数之和 代码如下 #include<stdio.h> //求一个数的各数之和 int DiGitSum(int n) { if (n > 9) { return DiGitSum(n / 10) + n % 10; } else { return n; } } int main() { int n = 0; printf("请输入一个数:\n"); scanf("%d", &n); int ret = DiGitSum(n);原创 2021-09-06 08:18:14 · 1350 阅读 · 0 评论 -
C语言-----猜数字
猜数字 随机生成1 到 100之间的数字,用户输入要猜的数字,如果猜大了,屏幕上输出猜大了,如果猜小了,屏幕上输出猜小了,直到猜对了,屏幕上打印输出恭喜您,猜对了! 程序原码 #include<stdio.h> #include<stdlib.h> #include<time.h> void game() { int guess = 0; int ret = rand()%100+1; printf("请输入你要猜的数字\n"); while (1) { s原创 2021-09-05 15:17:56 · 243 阅读 · 0 评论 -
2021_9_1-------求1!+ 2!+ 3!+ 4!+ 5!的和
C语言--------求1!+ 2!+ 3!+ 4!+ 5!的和 方法一: #include<stdio.h> int main() { int sum = 0; int n = 0; int i = 0; for (n = 1; n <=5; n++) { //求n的阶乘 int ret = 1;//注意:将ret每次置为1 for (i = 1; i <= n; i++) { ret *= i; } sum +=原创 2021-09-01 17:22:33 · 1773 阅读 · 0 评论 -
2021-09-01_ C语言--------在一个有顺序的数组中查找某个值n(二分法)
C语言--------在一个有顺序的数组中查找某个值n(二分法) 假设有一个数组int arr[] = { 1,2,3,4,5,6,7,8,9,10 };我们要找出其中数字7的下标。 #include<stdio.h> int main() { //在一个有顺序的数组中查找某个值n int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int sz = sizeof(arr) / sizeof(arr[0]);//求数组长度 int k = 7;//查找的特定值原创 2021-09-01 16:17:35 · 211 阅读 · 0 评论 -
2021-09-01_C语言--------编写代码,演示多个字符从中间移动,向中间汇聚
C语言--------编写代码,演示多个字符从中间移动,向中间汇聚 效果演示: welcome to beijing!!! w*******************! we*****************!! wel***************!!! … welcome to beijing!!! #include<stdio.h> #include<string.h> #include<windows.h> int main() { char arr1[] = "原创 2021-09-01 15:23:22 · 127 阅读 · 0 评论 -
2021-07-22_找出只出现一次的数
找出只出现一次的数 给定一个非空整型数组,除了某个元素只出现一次以外, 其余每个元素均出现两次,找出那个只出现一次的元素。 样例:int a[]={1,2,3,4,5,1,2,3,4} 该数组中5只出现一次,其他数字都是成对的,要找出5; 1、简单粗暴的方法----统计元素在数组中出现的次数; #include<stdio.h> int main() { int arr[] = { 1,2,3,4,5,1,2,3,4}; int i = 0; int sz = sizeof(arr) /原创 2021-07-22 18:43:19 · 217 阅读 · 0 评论
分享