(1)数据结构、算法的概念和作用
结构化程序设计的方法、三种基本结构程序流程图和 N-S流程图
(2)C程序的一些特点、标识符和关键字的概念.编译、 链接和运行的概念及应用C程序开发流程、 学会至少一种环境下的 C程序开发
(3)常量、变量的概念和使用如何声明和定义变量
引言 -_- 还是老套路开局
很久以前写过一个有追求的线程池 -> C 实现有追求的线程池 探究
讲述的是一种思路, 并且实现了. 可以一用. 最近在详细搞simplec 框架. 准备发布个正式版.
刚好顺带优化一下这个线程池.优化的结果有如下几个方面.&
之前在训练营的时候被要求用C语言实现一个可以存放任意类型数据的栈。现在尝试实现一个数组版本。
首先用到的结构体如下(接触了Win32编程所以长得有点像里面的那些类型):
typedef struct {
void *data; //用于保存数据的数组
si
来自于:http://www.jb51.net/article/38051.htm
http://blog.csdn.net/Neil_Wesley/article/details/51484026
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
来自于:http://www.jb51.net/article/38051.htm
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:
利用辗除法:步骤:
(1).输入两个正整数a,b(a>b)。
(2).计算a除以b所得的余数r。
(3).赋值a=b,b=r。
(4)
问题:一般我们要交换两个变量的值,多会采取一个额外变量来实现,比如temp=a,a=b,b=temp,现在我们能不利用temp来实现交换a,b两个变量值的目的吗?
解决方案:^异或运算符,而且我们会发现a^a=0,还有0^a=a,依据这两条理论,我们可以实现之前提出的问题。
代码如下:
#inclu
准确的说是除掉头文件,测试代码和非关键的纯算法代码(只有双向环形链表的ADT),核心代码只有130行左右,已经是蝇量级的用户态线程库了。把这个库取名为ezthread,意思是,这太easy了,人人都可以读懂并且实现这个用户态线程库。我把该项目放在github上,欢迎来拍砖: https://gith
学习《Windows程序设计》记录
概念贴士:
1. 同步可以保证在一个时间内只有一个线程对其共享资源有控制权。PS:共享资源包括全局变量、公共数据成员或者句柄等。
2. 临界区内核对象和时间内核对象可以很好地用于多线程同步和它们之间的通信。
给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。
这是一道能用许多数据结构优化的经典题,可以用于不同数据结构训练。
数列分块就是把数列中每m个元素打包起来,达到优化算法的目的。
以此题为例,如果我们把每m个元素分为一块,共有n
//
// main.c
// C语言单项链表
//
// Created by Pakho on 2017/5/16.
// Copyright © 2017年 Pakho. All rights reserved.
//
#include <stdio.h>
题目背景
“叮铃铃铃”,随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻。毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌。1000多个日夜的欢笑和泪水,全凝聚在毕业晚会上,相信,这一定是一生最难忘的时刻!
题目描述
为了把毕业晚会办得更好,老
在项目中遇到一个奇怪的问题,伪代码如下:
int8_t a = 0x8F;
uint8_t b = 0x8F;
if( a == b )
{
printf("a = bn");
}
else
{
printf("a != b, a = %02x, b = %02xn", a, b
第一次写博客这玩意,不太会,算了,直接粘代码吧。
1 #include <reg52.h>
2 #include <intrins.h> //头文件,将会用到循环右移
3 //宏定义
4 #define uchar unsigned char
5 #define
————————————————————————————————————————————
实验7.4:RS232串口应用实例
设计要求:
通过串口发送接收数据(串口工作方式1)
实现思路:
定时器设置
串口设置
工作方式
波特率
开启定时/计数器
串口执行
接收数据
GCC编译器(GNU C Compiler)是GNU组织的一款开源 编译器,它是Linux环境下的默认C语言编译器。它处理能够高效的编译C语言以外,还可以编译其他语言。并且,现在的GCC已经不光包括编译器本身,还包含了编译过程中的工具链。
1 GCC编译流程
在学习使用GCC编译程序之前,首先
HAL使用的太匆忙,遇见的小问题先记录一下,再慢慢研究
问题描述:获取到的日期,年和小时是错误的,月、日、时、分是正确的
解决办法:weekDay、DayLightSaving、StoreOperation这几个成员变量需要赋值
程序:将时间保存在RTC中
实现步骤:
初始化RTC
结构体成员
题目背景
迷宫 【问题描述】
给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和
终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫
中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点
1.设计一个程序,统计从输入到文件结尾为止的字符数。
#include<stdio.h>
int main(void){
int ch;
int i;
i=0;
while((ch = getchar())!=EOF){
if(ch !=
c语言中的全排列算法和组合数算法在实际问题中应用非常之广,但算法有许许多多,而我个人认为方法不必记太多,最好只记熟一种即可,一招鲜亦可吃遍天
全排列:
#include<stdio.h>
void swap(int *p1,int *p2)
{
int t=*p1;
*p1=*p2;
*
信号的阻塞:通过sigprocmask()将信号集sigset_t中的信号设置为阻塞。SIG_BLOCK是指对相应信号的“递送阻塞”,内核在递送一个原来被阻塞的信号给进程时(而不是在产生该信号时),才决定对它的处理方式,那么进程在信号递送给它之前仍可改变对该信号的动作。
一个信号的"生命周期"为:产