c语言
「已注销」
这个作者很懒,什么都没留下…
展开
-
单片机多线程任务编程
在主函数中实现需求:同时实现任务1:打印Hello任务2:打印Hi while(1) { //Task1 if(Task1_Sign==0) { if(Tick-count1>=2) { Task1_Sign=1; } } else if(Task1_Sign==1) { printf("Hello\n"); Task1_Sign=0; count1=Tick; } //Task2 if(Task2_Sign.原创 2021-12-10 10:42:02 · 1459 阅读 · 0 评论 -
STM32_TFTLCD-获取指定点的颜色
获取TFTLCD-RGB565指定的颜色u16 LCD_ReadPoint(u16 Xpos,u16 Ypos)//获取 指定点的颜色{ vu16 r,g,b,tmp; LCD_setCursor(Xpos,Ypos); LCD_WR_REG(0x2E00); LCD_RD_DATA();//dummy-无效 tmp = LCD_RD_DATA(); r= tmp>>11; g= (tmp>>2)&0x3F; tmp = LCD_RD_DATA(); b原创 2021-11-15 10:42:54 · 1146 阅读 · 0 评论 -
C语言——计算标准差公式
#include <stdio.h>#include <math.h>double fun(double x[ ], int n){ int i; double avg=0.0, sum=0.0; for (i=0; i<n; i++) avg += x[i]; avg /= n; for (i=0; i<n; i++) sum += (x[i]-avg)* (x[i]-avg); return sqrt(sum/n);}ma.原创 2021-09-21 11:28:01 · 3428 阅读 · 0 评论 -
C语言——求分数列的前n项之和。
如题:代码如下:#include <stdlib.h>#include <conio.h>#include <stdio.h>double fun (int n){ int a,b,c, k; double s; s=0.0;a=2;b=1; for(k=1;k<=n;k++) { s=s+(double)a/b; c=a;a=a+b;b=c; } return s;}void main(){原创 2021-09-11 22:39:02 · 729 阅读 · 0 评论 -
C语言——两个字符串顺序交叉合并。
#include <stdio.h>#include <string.h>void fun( char *a, char *b, char *c ){ int i , j; char ch; i = 0; j = strlen(b)-1; while ( i < j ) { ch = b[i]; b[i] = b[j]; b[j] = ch; i++; j--; } while ( *a || .原创 2021-09-02 10:02:09 · 1072 阅读 · 2 评论 -
C语言——数字字符左移。
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>char *fun(char *s){ int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0;.原创 2021-09-02 09:53:52 · 396 阅读 · 0 评论 -
C语言——回文数判断。
#include <stdio.h>#define N 80int fun(char *str){ char *p=str; int n=0,i,flag=1; while(*p) { p++; n++; } for(i=0;i<n/2;i++) { if(str[i]!=str[n-1-i]) { flag=0; break; } } return flag;}void main(){ char s[N]; in原创 2021-09-01 22:08:25 · 148 阅读 · 0 评论 -
C语言——判断幻方。
#include <stdio.h>#define N 3int fun(int (*a)[N]){ int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; i<N; i++) { j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } if(m1!=m2) return 0; for(i=0; i<N; i++) { row=colum=0; for(j=0; j&.原创 2021-09-01 15:35:07 · 658 阅读 · 0 评论 -
C语言——十进制转换N进制输出。
代码如下:#include <stdio.h>#include <conio.h>/*************found**************/void fun(int m,int k){ int aa[20], i; for(i=0;m;i++) { /*************found**************/ aa[i]=m%k; m/=k; } for(;i;i--) /*************found************原创 2021-08-31 18:25:06 · 618 阅读 · 0 评论 -
C语言——求二维数组每列元素最大值。
运行结果如图:代码如下:#include <stdio.h>#define N 4void fun(int (*a)[N], int *b){ int i,j; for(i=0; i<N; i++) { b[i]=a[0][i]; for(j=1; j<N; j++) if(b[i]< a[j][i]) b[i]=a[j][i]; }}void main(){ int x[N][N]={ {12,原创 2021-08-30 17:22:17 · 6864 阅读 · 0 评论 -
C语言——求二维数组周边元素之和。
运行结果如图:求二维数组周边元素之和即求上下左右四边元素之和。**代码如下:**#include<conio.h>#include<stdio.h>#include<stdlib.h>#define M 4#define N 5int fun( int a [M][N]){ int i,j,sum=0; for(i=0;i<M;i++) for(j=0;j<N;j++) if(i==0||i=原创 2021-08-30 12:25:38 · 14619 阅读 · 2 评论 -
C语言——教务管理系统
目前已完成教师管理系统部分,学生管理系统待完成:实现效果如图:主界面:教师端——注册账号进入教师管理系统文件的保存**代码如下:**#include<stdio.h>#include<stdlib.h>#include<string.h>/*教师应用结构体*/typedef struct Teacher{ char name[10];//学生姓名 char iD[10];//学生学号 float score;//学生成绩}t原创 2021-07-19 00:18:28 · 3194 阅读 · 3 评论 -
C/C++——关键字练习编程
运行界面如图:代码如下:#include<stdio.h>#include<time.h>#include<stdlib.h>#include<conio.h>#include<graphics.h>#include<mmsystem.h>#pragma comment(lib,"winmm.lib")const int WIDTH = 640;/*界面宽度*/const int HEIGHT = 500;/*原创 2021-07-09 18:26:46 · 137 阅读 · 0 评论 -
C51单片机中断——编程题
如题:**代码如下:**#include<reg52.h>void delay(){ int i,j; for(i=0;i<200;i++) for(j=0;j<200;j++); }void delay_1s(){ int i=0; for(i=0;i<20;i++) { TH0=0X3C; TL0=0XB0; TR0=1; while(TF0!=1); TF0=0; }}//闪烁led 外部中断void flas原创 2021-06-26 22:36:57 · 980 阅读 · 0 评论 -
C语言——字符串匹配法(BF算法)
BF算法(朴素算法):说明如下如所示:实现效果如图:源码如下:#include<stdio.h>#include<stdlib.h>//结构体 typedef struct String{ char* data;//字符串 int len;//长度 }String;//初始化字符串链表 String* initString(){ String* s=(String*)malloc(sizeof(String)); s->data=N原创 2021-06-19 22:59:36 · 1795 阅读 · 0 评论 -
C51单片机——温度传感器
实现效果如图:main.c#include<string.h>#include"typedef.h"#include"lcd1602.h"#include"ds18b20.h"uchar str1[]={"Test by Ds18b20."};uchar str2[11]={"Temp: "};void main(){ uchar i; lcd1602_init(); while(1) { DS18B20_Read_Temperature();原创 2021-06-16 11:20:15 · 6188 阅读 · 8 评论 -
C/C++——绘制安卓系统图形(easyx库实现)
实现效果如图:代码如下:#include<conio.h>#include<graphics.h>const double PI = 3.1415926536;int main(void){ // 创建大小为 800 * 600 的绘图窗口 initgraph(800, 600); // 设置原点 (0, 0) 为屏幕中央(Y轴默认向下为正) setorigin(400, 300); // 使用藏青色填充背景 setbkcolor(0x7c5731);原创 2021-06-08 16:09:26 · 1308 阅读 · 1 评论 -
C/C++——制作音乐播放器项目
实现效果如图:分模块步骤如下:主模块如下:1、创建按钮2、绘制按钮图形3、判断鼠标是否在按钮范围内4、鼠标移动 显示效果5、鼠标是否点击按钮代码如下:#include <graphics.h>//图形库 #include <stdlib.h>#include <string.h>#include <mmsystem.h>//多媒体库 mciSendSting#pragma comment(lib,"winmm.lib")//原创 2021-06-04 12:50:47 · 1426 阅读 · 0 评论 -
C/C++——星空&下雪特效(Easyx)
实现效果如图:代码如下:#include<graphics.h>#include<time.h>#include<conio.h>#define MAXSTAR 800 //星星最大值#define WIDTH 640 //图表宽度#define HEIGHT 480 //图表高度//星星封装结构体struct STAR{ int x, y; double step;//用于星星移动速度 int color;};STAR star[MAX原创 2021-06-01 23:01:50 · 3937 阅读 · 1 评论 -
Stm32F407——机械按键识别_key(5)
main.cint main(void){ u8 key_value = 0; Stm32_Clock_Init(336,8,2,7);//系统时钟初始化 LED_Init();//LED灯初始化 BEEP_Init(); KEY_Init(); while(1) { key_value = KEY_Scan();//获得按键值 switch(key_value)//判断按键值,并做相应的动作 { case 1: LED0 = ~LED0; break;//KEY0按.原创 2021-05-31 18:24:34 · 322 阅读 · 1 评论 -
Stm32F407——SysTick定时器_蜂鸣器发声控制(4)
SysTick定时器应用过程:1、设置时钟源,一般选参考时钟HCLK/82、设置定时器初值3、将计数器清0(写任意数到VAL,VAL都会清0)4、启动定时器5、等待计数结束6、关闭定时器main.cnt main(void){ Stm32_Clock_Init(336,8,2,7);//系统时钟初始化 LED_Init();//LED灯初始化 BEEP_Init(); while(1) { LED0 = 0; BEEP = 1; //led0亮beep响 Delay原创 2021-05-31 18:18:29 · 1165 阅读 · 0 评论 -
Stm32F407——跑马灯的实现(3)
通用I/O端口功能函数的设计:1、提供端口入口2、设置要配置的引脚3、设置引脚功能4.5、如为输出,设置数据驱动方式和速度6、如为输入,设置上下拉电阻main.c#include "delay.h"#include "sys.h"#include "led.h"int main(void){ Stm32_Clock_Init(336,8,2,7);//系统时钟初始化 LED_Init();//LED灯初始化 while(1) { LED0 = 0; LED1 = 1;原创 2021-05-31 17:19:43 · 288 阅读 · 0 评论 -
Stm32F407——LED闪烁(2)
位带及位带别名区的关系:位带是指在存储区中可以按位操作的地带;位带别名区(Bit Band Alias)是指存储区的另一个区域,该区域中的每1个字与位带中的1个位一一对应。对位带区的1个位的操作和对对应的别名区中的】个字的操作结果一样,但对位带别名区操作代码效率更高。STM32F407中有两个区域支持位带,一个是SRAM区的最低1MB范围(0x2000 0000~0x200FFFFF),另一个是片内外设区的最低1MB范围(0x4000 0000~0x400F FFFF)。这两个区中的地址除了可以像普.原创 2021-05-31 17:04:38 · 555 阅读 · 0 评论 -
Stm32F407——控制一颗LED发光二极管闪烁(1)
1、一个LED灯闪烁//GPIOF口相关寄存器的定义//端口x输入输出模式配置寄存器,控制位=00输入,=01通用输出,=10复用,=11模拟#define GPIOF_MODER (*(volatile unsigned *)0x40021400) //端口输出类型配置寄存器。=0推挽输出,=1开漏输出 #define GPIOF_OTYPER (*(volatile unsigned *)0x40021404) //端口x输出速度配置寄存器。=00,2MHz;=01,25.原创 2021-05-31 16:52:13 · 1415 阅读 · 0 评论 -
C语言——QQ信息多次发送
代码如下:#include<stdio.h>#include<windows.h>int main(void){ int c = 0; printf("1.单体信息发送\n"); printf("2.群体信息发送\n"); scanf("%d", &c); if (c == 1) { char name[30] = { 0 }; int times = 0; printf("请输入你要发送的对象:"); scanf("%s", name);原创 2021-05-29 15:46:44 · 2144 阅读 · 0 评论 -
C51单片机——(A/D转换)使用ADC0809将模拟信号转换为数字信号
实现效果如图:当电压为1V时,转换的数字信号为0011 0011代码如下:#include<reg52.h>sbit ADDA=P3^0;sbit ADDB=P3^1;sbit ADDC=P3^2;sbit START=P3^3;sbit EOC=P3^4;sbit OE=P3^5;void Delay(unsigned char i){ while(i--);}void Adc0809Convert(){ unsigned char temp; AD原创 2021-05-27 18:43:12 · 13985 阅读 · 1 评论 -
C语言——万年历打印(详细易懂)
实现效果如图:代码如下:#include<stdio.h>int Leap_year[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31 };int Com_year[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; char Week[7][5] = { "一","二","三","四","五","六","日" };int year, month, day;//用户输入日期int User_Scan原创 2021-05-26 22:34:09 · 2205 阅读 · 0 评论 -
C/C++——黑客数字雨特效
实现效果如图:代码如下:#include<stdio.h>#include<graphics.h>#include<time.h>#define WIDTH 1680 //宽度#define HEIGTH 820 //高度#define STR_SIZE 20 //字符串长度#define STR_NUM 128 //字符串最大值#define STR_WIDTH 15//字符串所占宽度//数字雨结构体struct Rain{ int x, y原创 2021-05-24 18:59:55 · 1885 阅读 · 3 评论 -
C51单片机——定时器延时实现呼吸灯
#include<reg52.h>unsigned char Cycle=200; //呼吸灯周期:T=200*100us=20msvoid Delay_100us(){ TH0=(65536-100)/256; TL0=(65536-100)%256; TR0=1;//启动定时器,开始计时 while(TF0!=1);//判断定时器是否溢出 TF0=0;//溢出时清0,进行下次计时}void Delay(unsigned char t){ unsigned char原创 2021-05-18 21:58:50 · 2565 阅读 · 1 评论 -
C51单片机(c语言)——定时器1s控制LED灯
#include<reg52.h>void Delay_1s(){ char i=0; for(i=0;i<20;i++) { TH1=0x3C;//2的6次方=655136 TL1=0xB0;//655136-50000=155146==>0x3CB0 TR1=1;//启动定时器,开始计时 while(TF1!=1);//判断定时器是否溢出 TF1=0;//溢出时清0,进行下次计时 }}void main(){ int LED; TMO原创 2021-05-18 21:24:19 · 3423 阅读 · 2 评论 -
C语言——链表的插入(头、尾、有序插入)
1、头部插入//在链表的头部之前 插入STU* insert_link(STU *head, STU tmp){ //1、从堆区申请一个待插入的节点空间 STU *pi = (STU *)calloc(1,sizeof(STU)); if(pi == NULL) { perror("calloc"); return head; } //2、将tmp的值 赋值 给*pi *pi = tmp; pi->next = NULL;//注意 //3、将pi插入到链表中原创 2021-05-06 11:07:53 · 4115 阅读 · 2 评论 -
C语言——通讯录系统
实现效果如图:模块如下:通讯录系统主菜单功能选择1、添加联系人信息2、查找联系人信息3、修改联系人信息4、删除联系人信息5、显示全部联系人信息6、退出通讯录系统代码如下:#include<stdio.h>#include<conio.h>#include<stdlib.h>//联系人信息typedef struct _Person{ char name[10]; char phone[20]; char addr[20];原创 2021-05-04 17:50:09 · 271 阅读 · 1 评论 -
C/C++——游戏界面设置(graphics)
实现效果如图:代码如下:#include<stdio.h>#include<graphics.h>#include<conio.h>#include<string.h>//按钮属性typedef struct Button{ int x; int y; int xx; int yy; COLORREF color; char* buttonstr;}BTN,* LPBTN;LPBTN createButton(int x, i原创 2021-05-01 22:29:08 · 5938 阅读 · 3 评论 -
C/C++语言——MOUSEMSG鼠标函数的使用
实现效果如图:代码如下:#include<stdio.h>#include<graphics.h>//图形库int main(){ initgraph(640, 480);//初始化图形界面 MOUSEMSG m; //定义结构体鼠标 m while (true) { m = GetMouseMsg();//获取当前鼠标信息 switch (m.uMsg) { case WM_LBUTTONDOWN://点击鼠标左键-->小矩形 r原创 2021-04-30 23:16:45 · 11750 阅读 · 2 评论 -
C语言——ATM系统程序
实现效果如图:代码如下:#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>//开户信息typedef struct _Person{ char name[20]; char account[20]; char password[7]; float money;}Person;//结点typedef struct _Node{ Perso原创 2021-04-29 17:44:26 · 1488 阅读 · 8 评论 -
C语言——文件的读(fgetc)写(fputc)操作
文件的写操作(fputc):#include<stdio.h>#include<string.h>int main(void){ char buf[128]=""; int i=0; FILE* fp=fopen("file.txt","w"); if(fp==NULL) { perror("fopen"); return 0; } fgets(buf,sizeof(buf),stdi原创 2021-04-25 21:12:31 · 206 阅读 · 0 评论 -
C语言——简单计算器
实现效果如图:实现代码如下:#include<stdio.h>#include<windows.h>//gotoxy#include<conio.h>#define width 80#define height 30void gotoxy(int x, int y);void GreateFrame(){ int i = 0; for (i = 0 ; i < width; i += 2) { gotoxy(i, 0); print原创 2021-04-19 16:14:36 · 508 阅读 · 0 评论 -
C语言——播放音乐(四行代码实现)
四行代码实现播放音乐:#include<mmsystem.h>//多媒体库#pragma comment(lib,"winmm.lib") //告诉编译器,加载winmm. lib库文件 mciSendString("open namana.mp3", 0, 0, 0);//打开音乐 mciSendString("play namana.mp3", 0, 0, 0);//播放音乐实现背景音乐代码如下:#include <graphics.h>#include <原创 2021-04-18 13:53:29 · 3771 阅读 · 1 评论 -
C语言——加载图片
实现效果如图:首先创建一个项目,后将要加载的图片放在项目文件下,通过一下代码打开。#include <graphics.h>//图形库#include <conio.h>//_getch()int main(){ initgraph(1000, 600);//初始化图片 IMAGE picture; // 定义 IMAGE 对象 loadimage(&picture, "background.jpg",1000,600); // 读取图片到 img原创 2021-04-18 13:26:33 · 11782 阅读 · 18 评论 -
C语言——控制小球移动(同贪吃蛇移动原理)
**实现效果如图:**> 通过控制W/S/A/D方向移动。**代码如下:**#include<stdio.h>#include<windows.h>//使用gotoxy(光标 移动函数)#include<conio.h>//监听键盘输入struct Coord{ int x; int y;}coord;int direct = '0';void Move();void gotoxy(int x, int y);void H.原创 2021-04-16 16:11:04 · 2446 阅读 · 1 评论