![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
lanlan1266
这个作者很懒,什么都没留下…
展开
-
C小程序__从磁盘读入n个字符串, 对它们按字母大小顺序排序,然后把排好序的字符串送到磁盘文件中保持
#include "stdio.h"#include <stdlib.h>#include <string.h>int main(){ FILE *fp; char str[3][10], temp[10]; //str是用来存放字符串的二维数组,temp是临时数组 int i, j, n = 3; printf("请输入字符串\n"); for (i = 0; i &l...原创 2018-05-08 18:14:04 · 952 阅读 · 0 评论 -
C小程序—提取p所指内存空间去掉空格以后的有效长度长度
//去掉空格后的字符串长度int trimSpaceStr01(char *p, int *mycount){ int ret = 0; int ncount = 0; int i, j; i = 0; j = strlen(p) -1; while (isspace(p[i]) && p[i] != '\0') { i++; } while (isspace(p[j]) &am...原创 2018-05-07 15:56:16 · 127 阅读 · 0 评论 -
C小程序—提取p所指内存空间数据(去掉前后空格)
//求去掉空格int trimSpaceStr2( char *p, char *buf2){ int ret = 0; int ncount = 0; int i, j; i = 0; j = strlen(p) -1; while (isspace(p[i]) && p[i] != '\0') { i++; } while (isspace(p[j]) && ...原创 2018-05-07 15:46:50 · 177 阅读 · 0 评论 -
c字符串基础demo02
#include "stdlib.h"#include "stdio.h"#include "string.h"//int * char *//c语言里面没有字符串这种类型。。。。。//通过字符数组来模拟字符串//C风格字符串是以零结尾的字符串//void main11(){ //字符数组初始化 //指定长度 如果定义的长度剩余部分补充0 char buf1[100] = {'a', 'b', '...原创 2018-05-02 13:25:47 · 110 阅读 · 0 评论 -
C小程序——自己定义一个接口(函数),并实现功能(找出字符串abcd出现的次数)
/char *p = "abcd1111abcd222abcd3333" 请你找出字符串abcd出现的次数//要求1:请自己定义一个接口(函数),并实现功能;70分//要求2:编写测试用例。30分/*//输入:要查找的字符串 待查找的子串 输出的结果 *///int cltClient_rev(void *handle, unsigned char *buf, int *buflen)/...原创 2018-05-07 09:47:34 · 613 阅读 · 0 评论 -
C小程序——统计字符串中出现指定串abcd的次数
#include "stdio.h"#include "string.h"#include <stdlib.h>//统计字符串中出现指定串abcd的次数int main(int argc, char *argv[]){ char *p = "abcd1234abcd54a655abcd333af33"; int ncount = 0; do { ...原创 2018-05-06 22:37:02 · 518 阅读 · 0 评论 -
算法——插入排序
#include "stdio.h"/* 将a[j]插入到前面a[0…j-1]的有序区间所用的方法进行改写,用数据交换代替数据后移。如果a[j]前一个数据a[j-1] > a[j],就交换a[j]和a[j-1],再j--直到a[j-1] <= a[j]。这样也可以实现将一个新数据新并入到有序区间。 */void innerSetSort(int *p, int n){ int i...原创 2018-05-13 13:43:36 · 91 阅读 · 0 评论 -
c语言基本算法练习(一)
https://blog.csdn.net/ivan804638781/article/details/52387884Description:求a和b的最大公约数 gcd(a ,b)= gcd(b, a%b) 例:gcd(36,24) =gcd(24, 12 ) =gcd(12, 0 )(9) Funcion List: ********...转载 2018-05-10 00:33:57 · 812 阅读 · 0 评论 -
算法——选择排序
#include <stdio.h>void swap(int *p, int i, int j){ int temp = p[i]; p[i] = p[j]; p[j] = temp;}//方法一void selectSort01(int *p, int n){ int i, j; for (i = 0; i < n-1; i++) { ...原创 2018-05-12 21:12:29 · 93 阅读 · 0 评论 -
C小程序—字符串反转模型
#include "stdlib.h"#include "stdio.h"#include "string.h"void main(){ char p[] = "abcde"; char c ; char *p1 = p; char *p2 = p + strlen(p) -1; while (p1 < p2) { c = *p1; *p1 = *p2; *p2 = c; ++p1;...原创 2018-05-07 15:58:08 · 125 阅读 · 0 评论 -
C小程序—键值对字符串
4.键值对字符串要求1:求自己定义一个接口,实现根据key获取value要求2:编写测试用例要求3:键值对中间可能有n多个空格,求去除空格如:"key1= value1";"key2= value2 ";"key3=value3 ";"key4= value4";...12345代码#define _CRT_SECURE_NO_WARNINGS #inc...原创 2018-05-07 16:02:39 · 631 阅读 · 0 评论 -
C小程序数组排序、数据类型(大小,别名,封装)、变量、程序的内存四区模型(栈,堆,全局,代码区)
2.第一个C程序之数组排序#include<stdlib.h>#include<string.h>//排序void main(){ int i = 0,j = 0; int tmp = 0; int a[] = { 33, 55, 22, 66, 44, 99, 11 }; printf("排序前\n"); for (i =...转载 2018-05-07 16:18:45 · 275 阅读 · 0 评论 -
C小程序—文件加解密案例
加密1.对称加密加密的密钥和解密的密钥一样场景运算快,适合做大数据加密,强度弱eg:des,3des,AES196…2.对称加密原理3.非对称加密加密的密钥和解密的密钥不一样场景运算慢,强度大,安全eg:rsa1024 2048,ECC椭圆曲线(SM系列…)4.加密解密三要素明文密文密钥文件加密案例1.步骤1)写头文件des.h2)导入des算法文件des.c3)测试test.c2.头文件des....转载 2018-05-08 14:58:04 · 500 阅读 · 0 评论 -
C小程序—将一个磁盘文件中的信息复制到另一个磁盘文件中。
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ FILE *fp1, *fp2; //定义指向FILE类型文件的指针变量 char ch, filename1[100], filename2[100]; //定义两个字符数组,分别存放两个数据文件名 printf(...原创 2018-05-08 14:58:32 · 3473 阅读 · 0 评论 -
C小程序—从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#&quot;为止
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ FILE *fp; char ch, filename[10]; printf("输入文件名:\n"); scanf("%s", filename); if ((fp = fopen(filename, "w")) == NU..原创 2018-05-08 14:58:40 · 2912 阅读 · 0 评论 -
网络基础概括
网络数据传送1:网卡: 电脑或手机发送数据的设备, 有线网卡设备和无线网卡设备; os操作系统通过操作网卡来收发网络数据 2:每个网卡都有一个Mac地址,是表示网络中唯一的地址;3:每个接入到互联网的机器在互联网上会有一个IP地址; Ip地址目前主要有两种模式: (1)ipv4 ip地址 (2) ipv6 地址; 4: 操作系统通过网卡驱动,识别和使用网卡设备; (1)发送数据,操作系统向网卡...转载 2018-05-10 00:33:18 · 218 阅读 · 0 评论 -
C小程序—文件操作,C程序读写文件、配置文件读写案例
1.文件操作(1)按字符写入文件#define _CRT_SECURE_NO_WARNINGS #include <stdlib.h>#include <string.h>#include <stdio.h>void main(){ int i = 0; FILE *fp = NULL; char *filename...转载 2018-05-08 14:51:57 · 677 阅读 · 0 评论 -
C小程序—结构体定义、初始化、引用、结构体做函数参数、结构体数组、结构体中套一级/二级指针、结构体深copy和浅copy
1.结构体(1)定义结构体struct Teacher{ char name[64]; int age; int id;};void main(){ struct Teacher t1; //告诉C编译器给我分配内存 printf("hello...\n"); system("pause"); return;}123456789...转载 2018-05-07 16:27:52 · 474 阅读 · 0 评论 -
C小程序—非空格的字符串长度、去掉字符串前后空格、字符串反转、键值对字符串、const练习、二级指针做输入/输出的特性、将字符串按逗号分开,并放入二维数组打印出来
1.求非空格的字符串长度要求:某一字符串两边为空格,求非空格字符串长度如:char *p = ” abdcefg “;(1)代码方法一#define _CRT_SECURE_NO_WARNINGS #include <stdlib.h>#include <string.h>#include <stdio.h>void main(){ //求...原创 2018-05-07 16:26:08 · 225 阅读 · 0 评论 -
C小程序—数组的定义、类型、定义数组指针变量、多维数组的本质、多维数组做函数参数、将两个数组中的字符串copy到第三个数组
1.数组的基本概念(1)数组的定义int a[] = {1, 2};int b[100] = {1, 3};int c[200] = {0}; //编译的时候 就已经确定 所有的值 为零对一维数组 C规定:c是数组首元素的地址 c+1 步长 4个字节&c 是整个数组的地址 //&c+1 步长 200*4(2)数组类型typedef int (MyArrayType)[5]; //定...转载 2018-05-07 16:24:08 · 604 阅读 · 0 评论 -
c小程序——删除字符串中间“*”号 例:***a*bc**def**g***
#include "stdio.h"void delSpeCh(char *s){ char *f, *e; f = e = s; //用字符指针e, f指向串s int i, j; while(*e) //将指针e定位到字符串中最后一个字符 e++; e--; //指针从...原创 2018-05-18 22:55:00 · 3655 阅读 · 0 评论 -
算法——鸡尾酒排序
#include <stdio.h>void swap(int *p, int i, int j){ int temp = p[i]; p[i] = p[j]; p[j] = temp;}void cockTailSort(int *p, int n){ int left = 0; int rigth = n -1; int i, j; ...原创 2018-05-12 19:23:25 · 142 阅读 · 0 评论 -
时间函数
18.1 文件访问时间如果times是一个空指针,则存取时间和修改时间两者都设置为当前时间;如果times是非空指针,则存取时间和修改时间被设置为 times所指向的结构中的值。此 时,进程的有效用户ID必须等于该文件的所有者 ID,或者进程必须是一个超级用户进程。对 文件只具有写许可权是不够的此函数所使用的结构是:18.2 cpu使用时间#include <sys/types.h>#...原创 2018-05-02 14:18:19 · 91 阅读 · 0 评论 -
命令行参数
命令行参数17.1 短命令行参数函数getopt()用来分析命令行参数,其函数原型和相关变量声明如下:#include <unistd.h>int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;optin...原创 2018-05-02 14:16:12 · 163 阅读 · 0 评论 -
syslog机制
syslog机制在开发服务器程序时,server一般是守护进程,脱离了控制终端,一些输出信息和调试 信息利用日志文件去记录,Linux提供常用的syslog机制,这里介绍下syslog基本使用,等 同学走上工作岗位后根据项目需求可以进一步去研究syslog.conf配置文件。unix使用syslog机制,ubuntu和redhat等linux现在使用rsyslog,是syslog的增强版。 1.配...原创 2018-05-02 14:13:44 · 552 阅读 · 0 评论 -
错误处理机制
15.1 errno vi /usr/include/asm-generic/errno-base.h#define EPERM #define ENOENT #define ESRCH #define EINTR #define EIO 5 #define ENXIO #define E2BIG #define ENOEXEC #define EBADF #define ECHILD #...原创 2018-05-02 14:00:46 · 138 阅读 · 0 评论 -
shell编程
14.1 shell历史Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种 方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch), 用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行 完,而不必一条一条地敲命令。Shell脚本和编程语言很相似,也有变量和流程控制语句, 但S...原创 2018-05-02 13:58:29 · 149 阅读 · 0 评论 -
高并发服务器
高并发服务器图 12.1: 并发服务器开发12.1 多进程并发服务器使用多进程并发服务器时要考虑以下几点: 1.父最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符) 2.系统内创建进程个数(内存大小相关) 3.进程创建过多是否降低整体服务性能(进程调度)12.1.1 server/* server.c */#include <stdio.h> #include...原创 2018-05-02 13:55:08 · 187 阅读 · 0 评论 -
socket编程
socket编程socket这个词可以表示很多概念:在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP 地址+端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成 的socket pair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连 接的一对一关系。TCP/IP协...原创 2018-05-02 13:50:37 · 116 阅读 · 0 评论 -
指针铁律demo01.c (简介赋值)
#include "stdlib.h"#include "stdio.h"#include "string.h"//函数调用时,形参传给实参,用实参取地址,传给形参,在被调用函数里面用*p,来改变实参,把运算结果传出来。//指针作为函数参数的精髓。//C语言特有的想象,是C语言的精华。。。//把实参取地址传给形参//在函数调用的时候/*用1级指针形参,去间接修改了0级指针(实参)的值。。用2级指针...原创 2018-05-02 13:34:29 · 109 阅读 · 0 评论 -
网络工具
19.1 网络工具19.1.1 ifconfig19.1.2 ping 19.1.3 netstatsudo ifconfig eth0 down/upsudo ifconfig eth0 192.168.102.123-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化成数字。 -...原创 2018-05-02 14:26:35 · 94 阅读 · 0 评论 -
内存四区专题讲座
接口封装和设计思想引导接口封装设计思想引导 Sckclient客户端api模型设计 第一套api函数 #ifndef _SCK_CLINT_H_ #define _SCK_CLINT_H_ //函数声明 // 1、客户端环境初始化 int sckClient_init(void **handle); //5 day // // 2、客户端发送报文 int sckClien...原创 2018-05-03 00:01:22 · 104 阅读 · 0 评论 -
”内存四区,一级指针,字符串” 学习笔记
01内存四区专题讲座接口封装和设计思想引导接口封装设计思想引导 Sckclient客户端api模型设计 第一套api函数 #ifndef _SCK_CLINT_H_ #define _SCK_CLINT_H_ //函数声明 // 1、客户端环境初始化 int sckClient_init(void **handle); //5 day // // 2、客户端发送报文 in...原创 2018-05-09 17:10:44 · 180 阅读 · 0 评论 -
算法——冒泡排序
#include <stdio.h>void swap(int p[], int i, int j){ int temp = p[i]; p[i] = p[j]; p[j] = temp;}int bubbleSort(int p[], int n){ int i, j; if(p == NULL) { printf("错误!\n");...原创 2018-05-12 16:58:58 · 116 阅读 · 0 评论 -
C小程序—写一个接口(函数)两个辅助指针变量挖字符串构成一个二维数组
#include "stdio.h"#include "string.h"#include "stdlib.h"/*有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串,形成二维数组,并把结果传出; 2) 把二维数组行数运算结果也传出。 strchr(“aa,aa”,’,’ );请...原创 2018-05-10 17:26:00 · 216 阅读 · 0 评论 -
c语言小程序——统计学生成绩
#include <stdio.h>typedef struct{ char num[6]; char name[8]; int score[6]; float avr; }STUDENT; //定义结构体STUDENT student[5]; //定义结构体数组int main(int argc, const char * argv[]) { ...原创 2018-05-03 12:55:29 · 7952 阅读 · 0 评论 -
c 语言小程序——自定义字符串拷贝功能
#include#include "stdlib.h"#include "stdio.h"#include "string.h"//自定义:字符串copy函数,完成字符串from ,到to的copyvoid copy_str1(char *from, char *to){ for (; *from!='\0'; from++, to++) { *to = *from; } *to = '\0';...原创 2018-05-03 15:27:06 · 280 阅读 · 0 评论 -
C小程序—二级指针第三种内存模型
#include "stdio.h"#include "string.h"#include "stdlib.h"int printAarray03(char ** pArray, int num){ int i = 0; if (pArray == NULL) { return -1; } for (i=0; i<num; i++) { printf("%s \n", pArray[i...原创 2018-05-10 00:31:48 · 115 阅读 · 0 评论 -
C小程序—二级指针的第二种内存模型
#include "stdio.h"#include "string.h"#include "stdlib.h"/*int printfArray(int a[10]);int printfArray(int a[]);int printfArray(int *a);*/int printAarray02(char pArray[10][30], int num){ int i = 0; if (...原创 2018-05-09 23:18:33 · 121 阅读 · 0 评论 -
C小程序—二级指针第一种内存模型
#include "stdio.h"#include "string.h"#include "stdlib.h"void main1111(){ char* tmp = NULL; int i = 0, j = 0; //二级指针第一种内存模型 //首先考虑它是一个数组,指针数组,====》只不过每一个元素是指针而已。 //【】优先级高 //打印数组 排序这个数组、、、、指针做函数参数 // ...原创 2018-05-09 22:42:40 · 106 阅读 · 0 评论