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 ...
随机推荐
- mysql你问我答
1.尊敬的先生,请您谈谈mysql数据库的引擎 数据库中的表设定了什么存储引擎,那么该表在数据存储方式.数据更新方式.数据查询性能以及是否支持索引等方面就会有不同的“效果”. mysql引擎大致分两类 ...
- kafka接口文档和kafka教程
http://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html ...
- Go学习笔记(六) | 使用swaggo自动生成Restful API文档(转)
关于Swaggo 或许你使用过Swagger, 而 swaggo就是代替了你手动编写yaml的部分.只要通过一个命令就可以将注释转换成文档,这让我们可以更加专注于代码. 目前swaggo主要实现了sw ...
- 【Android-网络通讯】 客户端与.Net服务端Http通讯
以登陆系统为例: 一.创建服务端程序 1.打开VS2012,新建项目,创建ASP.NET WEB应用程序 ,命名为MyApp 2.添加新建项,选择一般处理程序,创建Login.ashx C# Code ...
- python 3列表推导式的的一点理解!
python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...
- nginx大概工作机制
1.master和worker nginx启动后,会有2种进程:worker和master;worker可能有多个:
- encodeURI()、encodeURIComponent()、escape()
URI的通用格式如下: /*** 协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数1=值1&参数2=值2+值3#标志 **/ /*** http://use ...
- 如何在 Laravel 中灵活的使用 Trait
如何在 Laravel 中灵活的使用 Trait Laravel/ 3个月前/ 1740 / 4 / 更新于 3个月前 @这是小豪的第九篇文章 好久没有更新文章了,说好了周更结果还是被自己对 ...
- 防止sql注入的参数化查询
参数化查询为什么能够防止SQL注入 http://netsecurity.51cto.com/art/201301/377209.htm OleDbDataAdapter Class http://m ...
- 51 Nod 1475 建设国家 (优先队列+贪心)
1475 建设国家 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 小C现在想建设一个国家.这个国家中有一个首都,然后有若干个中间站,还有若干个城 ...