自定义博客皮肤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 138

原创 C++随笔

C++随笔

2023-02-13 18:29:27 121

原创 C++随笔

C++随笔

2023-02-12 22:48:28 110

原创 线程池的使用

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

2021-10-13 14:43:36 131

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

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

2021-09-23 20:30:32 124

原创 普通文件的拷贝

普通文件的拷贝 #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 206

原创 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 106

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

用线程的方式实现一个目录的拷贝(只考虑目录和普通文件) #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 989

原创 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 2783

原创 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 1770

原创 getchar和scanf的用法

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

2021-07-31 09:24:05 601

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

#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 256

原创 自己做一个头文件

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

2021-07-24 11:15:35 111

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

#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 348

原创 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 131

原创 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 482

原创 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 133

原创 假设有一个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 420

原创 运算符的优先级

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

2021-07-20 19:46:02 191

原创 用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 307

原创 制作一个简单的打分系统(满分制: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 480

原创 变量和指定格式

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 119

原创 值域范围及转义字符

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

2021-07-17 13:59:21 882

原创 学C第二天

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

2021-07-17 10:53:17 94

原创 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 75

空空如也

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

TA关注的人

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