自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 linux文件操作

linux文件操作

2023-02-21 11:40:46 79

原创 C++随笔

C++随笔

2023-02-13 18:29:27 68

原创 C++随笔

C++随笔

2023-02-12 22:48:28 63

原创 线程池的使用

线程池的使用方法线程池的具体实现: 线程池本质上是一个结构体描述的数据结构体 typedef struct pthread_pool { //线程池的实现可能会按照项目的不同也会有所不同 但是大体上应该要有如下成员 struct task * task_list; //任务队列(链表) 执行第一个要执行的任务 所有的线程都从这个任务链表中获取任务 pthread_mutex_t lock ; //因为“任务队列”是一种共享资源 所以需要互斥访

2021-10-13 14:43:36 94

原创 进程访问共享空间关于信号量的使用

进程访问共享空间关于信号量的使用描述: 我们公司现在召开一场运动会。运动会参与人数1000000人 现在因为打印机坏了运动员后面的号码牌(从0到999999)需要手写。此时我司临时招聘了5个工人来帮我们写因为公司太穷了 笔只有一只。谁拿到了笔谁就写。最好时每个人写了多少数字记录以下到时候好计算工资,另外我们考虑到可能有人会写错 所以我们就派了一个经理去检查是否正确。#include <pthread.h>#include <stdio.h>//工人的数量 #def

2021-09-23 20:30:32 78

原创 普通文件的拷贝

普通文件的拷贝#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h> #include <unistd.h>#include <string.h>int main(int argc ,char *argv[]) { //打开文件 int fd1 = open(argv[1],O_RDONLY); if

2021-09-23 20:20:37 141

原创 2021-09-23

计算一个目录文件下的文件大小#include <stdio.h>#include <string.h>#include <sys/types.h>#include <dirent.h>#include <sys/stat.h>#include <unistd.h>/*get_dir_size 用来获取pathname指定的目录下所有普通文件的大小参数: @pathname : 要获取大小的目录的绝对路径 返回值

2021-09-23 20:18:20 63

原创 用线程的方式实现一个目录的拷贝(只考虑目录和普通文件)

用线程的方式实现一个目录的拷贝(只考虑目录和普通文件)#include <sys/types.h>#include <dirent.h>#include <stdio.h>#include <pthread.h>#include <string.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <std

2021-09-23 20:10:16 783

原创 1、设计一个程序,实现 学生信息录入系统(姓名、年龄、分数) 1、可以制作一个简单的登录系统 账号、密码的验证 (其实就是字符串的比较 strcmp) 2、录入信息之后,可以查询

#include<stdio.h>#include <string.h>#include <stdbool.h>/*1、设计一个程序,实现 学生信息录入系统(姓名、年龄、分数)1、可以制作一个简单的登录系统账号、密码的验证 (其实就是字符串的比较 strcmp)2、录入信息之后,可以查询*///账号char g_Acount[256];//账号char g_Passwd[256];//密码//默认的账号 laowang//默认的密码 12345

2021-07-31 11:02:31 2543

原创 strlen和sizeof辨析

#include<stdio.h>#include<string.h>int main(int argc,char*argv[]){char ch[256]={0};int i=0;while(1){ch[i]=getchar(); if(ch[i]=='\n') { ch[i]='\0'; break; } i++;}int len =strlen(ch);int len1 = sizeof(ch

2021-07-31 11:01:07 1653

原创 getchar和scanf的用法

getchar:1、从标准输入设备中读取一个字符,然后将这个字符从unsingned char转换成int后返回。所以getchar用于字符的获取可以获取“空格”“换行”等。注意:getchar每在程序中出现一次就会获取一个字符。2、scanf:会将输入的数据根据format字符串来转化并格式化数据。注意:scanf能用于字符和整型输入但是其在字符输入结束输入“换行符”会结束且在只有一个format字符串并循环时要输入空格或换行(即只有遇到换行或空格时才算输入下一个数据)eg:for(i=0;

2021-07-31 09:24:05 522

原创 使用递归函数实现十进制转二进制的结果

#include<stdio.h>int func(int a){if(a==0){return 2;}int b=0;b=a%2;a=a/2;func(a);printf("%d\n",b);return 1;}int main(int argc,char*argv[]){int a;scanf("%d",&a);func(a);return 0;}

2021-07-24 11:27:58 173

原创 自己做一个头文件

例如做一个内联函数#ifndef _MYHEAD_H#define _MYHEAD_Hextern inline int func()在.c中调用时用#include “./myhead.h”

2021-07-24 11:15:35 69

原创 判断一个数 是不是 质数 ??? ---该功能使用函数进行封装

#include<stdio.h>int func(int *a){int i=2;for(i;i<*a;i++){if(*a%i0){a=1;}}return 1;}int main(int argc,charargv[]){int a;scanf("%d",&a);func(&a);if(a1){printf(“是质数\n”);}else if(a!=1){printf(“不是质数\n”);}return 0;}

2021-07-24 10:59:29 287

原创 scanf正在使用中的问题

1、一定要记得打&符,否则会出现段错误2、在输入字符时要注意清空缓存区不然会出现各种错误eg:判断输入的单个字符,如果是字符a-z ,则打印yes ,否则打印no。如果输入’#’#include<stdio.h>int main(int argc,char*argv[]){while(1){char a;scanf("%c",&a);if((a>=‘a’)&&(a<=‘z’)){printf(“yes\n”);}else

2021-07-24 10:57:31 75

原创 continue关键字只能用于循环体中(while do...while for),用于提前结束当前循环体后,又从最近一层循环体开始执行

#include<stdio.h>int main(int argc,char*argv[]){while(1){char a;scanf("%c",&a);if((a>=‘A’)&&(a<=‘Z’)){printf(“yes\n”);}else if((a>=‘a’)&&(a<=‘z’)){printf(“yes\n”);}else if(a==’#’){break;}else{print

2021-07-24 10:11:19 406

原创 C语言分支结构,循环

C语言 分支结构注意点1、switch中case后只能是常量或常量表达式2、case后面不能是变量哪怕是被赋过值的也不行。3、结构化设计规定的三种基本结构是顺序结构,选择结构和循环结构。4、case后面一定要有break;不然后面的所有的case都会继续执行。5、break关键字只能跳出最近一层的循环,也就是说,如果有多重循环,只能跳出最靠近break语句那层循环6、break关键字 不能 单独用于 if语句中,除非if语句外面包含了循环7、continue关键字只能用于循环体中(while

2021-07-24 09:49:59 71

原创 假设有一个int a,a有32位,位编号31~0,要求把a的第20位清0,第15位置1,但是其他位保持不变,如何写代码?

#include<stdio.h>int main(int argc,char*argv[]){int a=0,b=0,c=0;scanf("%d",&a);a = a&~(1<<20);a = a|(1<<15);printf(“a=%d\n”,a);}

2021-07-20 20:17:31 351

原创 运算符的优先级

1、()后++2、前++,sizeof, !3、强转4、*乘、\除、%取余5、+ -6、<< >>7、< <= > >=8、!= ==9、&10、^11、|12、&&13、II14、?:15、= <<= ^= /=16、,eg:表达式!x||a==b等效于DA、!((x||a)b) B、!(x||y)bC、!(x||(ab))

2021-07-20 19:46:02 110

原创 用switch写加盟费与营业额的提成关系如下 营业额 提成系数 0<= n <10w 0.1 10<=n <20w

#include<stdio.h>int main(int argc,char*argv[]){float a=0;scanf("%f",&a);if(a<0){ printf("呆瓜是吧\n");}else{switch((int)(a/10)){ case 0: a=a*0.1; printf("%f\n",a); break; case 1: a=a*0.075;

2021-07-20 19:16:50 215

原创 制作一个简单的打分系统(满分制:100) 60分以下:评级 D 60-80: 评级 C 80-90: 评级 B 90-100: 评级 A 不在0-100范围之内,错误

#include<stdio.h>int main(int argc,char*argv[]){float a=0;scanf("%f",&a);if(a<60){ printf("D\n",a); }else if(a>60&&a<=80){ printf("C\n",a);}else if(a>80&&a<90){ printf("B\n",a);}else if(a&g

2021-07-20 19:14:35 335

原创 变量和指定格式

1、局部变量和全局变量1)main函数与其它函数是平衡关系2)可以在不同的函数中定义相同的变量名3)形式参数属于被调函数的局部变量4)全局变量作用域只能往下,不能往上5)全局变量本文件中定义,在另一个文件中调用之前,先进行声明2、指定格式—》也就是将数据 以什么样的方式 打印到屏幕上%s 字符串格式%d 整型 int%c 字符型 char%hd 短整型 short int%hhd 字符型的ascii码 char 数据对应的ascii码 的值%

2021-07-17 14:08:18 75

原创 值域范围及转义字符

1、bool _Bool (布尔类型 真 true 假 false ) 1字节注意:布尔常量: true false 占 4个字节布尔类型 要添加 #include<stdbool.h>2、数据类型的值域范围signed char -128~127unsigned char 0~255unsigned short 0~65535unsigned int 0~4294967295unsigned char a = 257; // 0-25

2021-07-17 13:59:21 779

原创 学C第二天

学C第二天1、标识符(变量名 函数名…)命名规则由字母、数字、下划线_ 组成,并且以 下划线 或者字母开头2、if( ; ;)语句中使用 ";"隔开而不是“,”3、使用小驼峰命名法 int setValue()3、全局变量命名 g_value;4、使用 gcc 编译器 编译 C程序 hello.c ,生成 可执行程序hellochina@ubuntu:~$ gcc hello.c -o hello注意:.c文件生成可执行的文件命名最好前缀一样5、主函数的标准写法:int

2021-07-17 10:53:17 52

原创 Linux的基本指令

修改目录的注意事项1、使用 cd 时回到共享目录时要在mnt前加上"/"即china@ubuntu:/mnt/hgfs/share$而在进入别的目录则不需要2、linux的基本指令cd:修改目录rm:删除echo:添加touch:创建文件mkdir;创建目录-rw:创作者权限mv:移动ls:罗列当前目录显下的内容cp:复制...

2021-07-17 09:52:56 33

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除