C学习笔记-小程序(长期更新)
产生随机数
int t = (int)time(NULL);
srand(t);
int num = rand() % 10;
利用keybd_event函数自动打印,mouse_event函数保存文件
#include <Windows.h>
void data(char str);
int main()
{
WinExec("notepad",SW_MAXIMIZE);
for (int i = 0x30; i < 0x3A; i++)
{
printf("i = %d", i);
data(i);
Sleep(1000);
}
SetCursorPos(10, 30); //指定鼠标光标位置
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(1000);
SetCursorPos(10, 200);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(1000);
data(VK_RETURN);
Sleep(1000);
data(0x30);
Sleep(1000);
data(VK_RETURN);
Sleep(1000);
return 0;
}
void data(char str)
{
keybd_event(str, 0, 0, 0);
keybd_event(str, 0, 2, 0);
}
实现小数转整数的四舍五入功能
double f = 2.65;
int result = f + 0.5;
printf("四舍五入后的值为:%d\n", result);
查找数组中第二大值
int array[10] = { 23, 44, 21, 65, 87, 7, 33, 89, 57, 93};
int max
int smax;
max = array[0] > array[1] ? array[0] : array[1];
max = array[0] > array[1] ? array[1] : array[0];
for (int i = 2; i < 10; i++)
{
if (max < array[i])
{
smax = max;
max = array[i];
} else if ((max > array[i]) && (smax < array[i]))
{
smax = array[i];
}
}
printf("smax = %d\n", smax);
幂函数的实现(以2为例)
int getPow(int n)
{
if (n == 0)
return 1;
int val = 2;
for (int i = 0; i < n; i++)
val *= 2;
return val;
}
十进制转二进制
void to_binary(unsigned int n)
{
unsigned int i = n % 2;
if (n >= 2)
to_binary(n / 2);
printf("%c", i + 0x30);
}
正整数n以内的素数和
此程序有很多地方可以优化
int sum(int n)
{
if (n == 2)
return 2;
else
{
if (isprime(n, 2))
return n + sum2(n - 1);
else
return sum2(n - 1);
}
}
int isprime(int n, int key) //判断你是否为素数,是返回1,不是返回0
{
if (n < 2)
return 0;
if (n == key)
return 1;
if (n % key == 0)
return 0;
else
return isprime(n, key + 1);
}
```
### 实现字符串拷贝函数strcpy
```c
void strcpy(char *dest, const char *src)
{
while(*dest++ = *src++);
}
```
### 实现字符串拷贝函数strncpy
```c
void strncpy(char *dest, const char *src,int n)
{
while((*dest++ = *src++) && (n--));
*(dest - 1) = 0;
}
```
### 实现文件拷贝
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *args[])
{
if (argc < 3)
{
return 0;
}
FILE *p1 = fopen(args[1], "rb");
FILE *p2 = fopen(args[2], "wb");
if ((p1 == NULL) || (p2 == NULL))
{
return 0;
}
char buf[1024] = { 0 };
while (!feof(p1))
{
size_t size = fread(buf, 1, sizeof(buf), p1);//由于fread与feof的差异造成fread到结尾与feof不同
fwrite(buf, 1, size, p2);//从fread读了多少字节出来,就往fwrite写多少个字节
}
fclose(p1);
fclose(p2);
return 0;
}
```
### windows和linux都可用的代码
在gcc编译时候添加参数`-DLINUX`,以下代码就可在不改变源代码情况下,同时在windows和linux下编译通过
```c
#include <stdio.h>
#ifdef LINUX
#include <unistd.h>
#else
#include <Windows.h>
#endif
int main()
{
while(1)
{
printf("a\n");
#ifdef LINUX
sleep(1);
#else
Sleep(1000);
#endif
}
return 0;
}
```
### 两头堵模型
1. 初始化条件
2. strstr strchr
3. 让指针重新初始化
```c
void main()
{
char *p = " abcd ";
int ncount = 0;
int i, j;
i = 0;
j = strlen(p) -1;
while (isspace(p[i]) && p[i] != '\0')
{
i++;
}
while (isspace(p[j]) && j>0 )
{
j--;
}
ncount = j - i + 1;
printf("ncount:%d \n", ncount);
}
```
C学习笔记-小程序(长期更新)的更多相关文章
- 13本热门书籍免费送!(Python、SpingBoot、Entity Framework、Ionic、MySQL、深度学习、小程序开发等)
七月第一周,网易云社区联合清华大学出版社为大家送出13本数据分析以及移动开发的书籍(Python.SpingBoot.Entity Framework.Ionic.MySQL.深度学习.小程序开发等) ...
- 与大家分享学习微信小程序开发的一些心得
因为我也才开始学习微信小程序不久,下文也是现在的一时之言,大家有不同的想法也可以在评论里共同交流讨论,希望文章能给大家提供一点点帮助. 最近接触到了一些前端框架,像Vue.js,React,发现小程序 ...
- 一个C#程序员学习微信小程序路由的笔记
路由大家应该都知道,在微信小程序也是有的,毕竟它是单页面应用程序.在WeChat中有五种跳转方式,分别是wx.switchTab.wx.reLaunch.wx.redirectTo.wx.naviga ...
- 微信小程序学习笔记1--小程序的代码构成
最近打算学习一下微信小程序,看了微信公众平台的文档感觉还比较简单,就从这个方向重新找回学习的状态吧: 1.先了解一下小程序的代码构成: 创建项目后会看到四种后缀的文件: .json 后缀的 JSON ...
- 一个C#程序员学习微信小程序的笔记
客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在启动的时候,将首页的代码装载进来,通 ...
- [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?
[译]聊聊C#中的泛型的使用(新手勿入) 写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...
- 微信小程序之更新上一页数据(十二)
小程序开发过程中经常有这种需求,需要把当前页面数据传递给上一个页面,但是wx.navigateBack()无法传递数据. 一般的办法是把当前页面数据放入本地缓存,上一个页面再从缓存中取出. 除此之外还 ...
- 新人学习微信小程序开发之框架篇
大家好我是智哥,一名专注于前端领域的一名码农. 咱们今天主要来说说微信小程序, 最近一段时间微信群里的小程序,小游戏各种分享是突然一下子就爆发了,现在来看小程序作为微信的重磅功能无疑又是下一个风口.咱 ...
- CUBRID学习笔记 44 UPDATE 触发器 更新多表 教程
cubrid的中sql查询语法UPDATE c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...
随机推荐
- 自定义类似smarty模板
自定义类封装模板解析功能 原理其实比较简单,就是把html文件解析为一个超级字符串,然后把类似{{$mytitle}}这种结构的变量进行替换(str_replace)当然,实际中这样做可能导致频繁的磁 ...
- Java基础语法n
BK 分段函数(SDUT 2257) import java.util.*; public class Main{ public static void main(String[] args ...
- git避免提交本地配置文件-来自同事的分享
在项目协作中,对于已经更改的文件,不同的开发者常常需要根据自己的需要对文件进行更改已满足本地开发环境的需求(这种情况很常见,一般是对项目相关的配置项的更改,对业务逻辑代码的更改一般都是正常的协作编码过 ...
- node中的http内置模块
Node.js开发的目的就是为了用JavaScript编写Web服务器程序.因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界上数量最多的前端开发人员.如果已经掌握了JavaSc ...
- java中判断空字符串和null的判断方法
简单总结几个方法: 1.直观的: if(s == null ||"".equals(s)); //先判断是否对象,再判断是否是空字符串 2.比较字符串长度, 效率高, 比较绕: i ...
- 1分钟快速制作漂亮的Html5本地记事本
大家好,以前给大家分享过一个五步骤制作精美的HTML5时钟的文章,点击回顾<五步教你制作漂亮精致的HTML时钟>,还有<一分钟教你如何实现唯美的文字描边>:今天给大家分享一个用 ...
- Leetcode题目206.反转链表(简单)
题目描述: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: ...
- 图及其衍生算法(Graphs and graph algorithms)
1. 图的相关概念 树是一种特殊的图,相比树,图更能用来表示现实世界中的的实体,如路线图,网络节点图,课程体系图等,一旦能用图来描述实体,能模拟和解决一些非常复杂的任务.图的相关概念和词汇如下: 顶点 ...
- LC 835. Image Overlap
Two images A and B are given, represented as binary, square matrices of the same size. (A binary ma ...
- vuex中的babel编译mapGetters/mapActions报错解决方法
vex使用...mapActions报错解决办法 vuex2增加了mapGetters和mapActions的方法,借助stage2的Object Rest Operator 所在通过 methods ...