C语言
学分
apprentice of CS
展开
-
C语言 多线程使用说明2
没看1的小伙伴进我空间先看看1吧。//1代表的是上一篇csdn水文运行1中的程序,会发现标准输出设备中只有main thread is running,而没有fun thread is runing,为啥呢?对于主线程而言,操作系统为他分配了时间片因此能够运行。在main中,先用《2》创建线程,然后关闭线程句柄,之后在执行标号四的代码,然后该函数推出,也就是说主线程执行完成了,然后进程也就...原创 2018-08-18 21:37:49 · 514 阅读 · 1 评论 -
C的陷阱与缺陷 P1-P42 PartI- 学习小结
版主开设这一个坑的目的也是为了加深自身对c的应用与理解,顺便见一见没用过的库函数。1.= is not ==Most languages originated from Algol(i.e.Pascal and Ada) use token ' := ' to embody assignment and token '==' to embody if those two part asi...原创 2018-09-14 19:26:06 · 159 阅读 · 0 评论 -
C的陷阱与缺陷 P87-P137 PartIII-学习小结
void con_write(struct tty_struct * tty){ int nr; char c; nr = CHARS(tty->write_q); while (nr--) { GETCH(tty->write_q,c); if(c>='0'&&c<='9'||c=='-') switch(bitCount) {...原创 2018-09-23 16:52:34 · 263 阅读 · 0 评论 -
C的陷阱与缺陷 P43-P86 PartII-学习小结
整数溢出:C语言存在两类运算,有符号和无符号,在无符号运算中是不存在溢出一说的:所有的无符号运算都是基于2的n次方为模。如果算数运算符中的一个操作数是有符号整数,另一个是无符号整数,那么有符号整数会被转化为无符号整数,则溢出就不会发生。然而当两个操作数都是有符号整数的时候,溢出就是可能的。那么我们怎么判断不越界呢?//wrong:if(a+b<0) complain(...原创 2018-09-18 18:17:11 · 191 阅读 · 0 评论 -
C语言 图形化
(ege图形库)在上学期小学期转专业班的补课-十天内完成来bupt的第一个项目,我负责就是图形化和完成输出的任务。最开始我是用的Qt,但是Qt的入门和掌握太花时间了,最后万般无奈地情况下我选择了EGE图形库。首先提一下,笔者使用Visual Studio 2017开发环境,至于ege图形库安装和生效大家可以去csdn里面搜。ege能实现一些图形化的功能,比如说:绘制直线 绘制矩...原创 2018-09-03 17:42:50 · 2819 阅读 · 7 评论 -
C语言结构体排序
题目记不到了,我传一个留个源码:#include <stdio.h>#include <string.h>struct student{ char s[1000]; int n;}; struct student a[10000];void quicksort(int left,int right){ int i,j,k; ...原创 2018-09-11 19:18:12 · 4770 阅读 · 0 评论 -
C语言获取计算机本地时间
最近看某大佬推荐的Expert C Programming看得很头疼,觉得自己还是适合看一点正经一点的教材,萌新头大,肥宅难受,嘤嘤嘤!哎,和程序有关的书,还是有趣一点好。。。嘤嘤嘤本文结合了一些行业前辈的知识,表示感谢在这本书里,提到了一些和计算机日期有关的东西,这里引入一个用程序来展示本地时区时间的程序段,并且解释一些原型:(手打的,可能中英文键盘没区分2333,改一下就好)...原创 2018-08-14 16:31:40 · 9941 阅读 · 0 评论 -
C语言 一维数组:发子弹
题目是这样的:在某次实弹射击训练中,班长将10个战士围成一圈发子弹。首先,班长给第一个战士10颗,第二个战士2颗,第三个战士8颗,第四个战士22颗,第五个战士16颗,第六个战士4颗,第七个战士10颗,第八个战士6颗,第九个战士14颗,第十个战士20颗。然后按如下方法将每个战士手中的子弹进行调整:所有的战士检查自己手中的子弹数,如果子弹数为奇数,则向班长再要一颗。然后每个战士再同时将自己手中的子...原创 2018-06-19 22:09:20 · 689 阅读 · 2 评论 -
C语言 多线程使用说明1-创建线程
本文基于本校计算机学院的教程和自己的体会改编,并不是特别的干货,不过适合新人入门看看:首先得知道什么是进程什么是线程?(水,非干货)一个通俗的解释是,进程是指在系统中正在运行的一个应用程序;程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的一个实例。线程是进程的一个实体。进程——资源分配的最小单位,线程——程序执行的最小单位。在我们学校的教材中,进程通常被定义为一个正在运行的...原创 2018-08-18 19:08:07 · 4738 阅读 · 1 评论 -
C语言 多线程使用说明5 互斥对象实现线程同步之使用篇
#include <string.h>#include <stdio.h>#include <stdlib.h>#include <time.h>#include<math.h>#include <Windows.h>DWORD WINAPI Fun1(LPVOID lpParameter);DWORD W...原创 2018-08-20 22:36:43 · 728 阅读 · 0 评论 -
C语言 多线程使用说明4 互斥对象实现线程同步-引入篇
没人看c我就不写c了吗?Too naive.互斥对象又叫做mutex,属于内核对象,能够确保线程对于单个资源的互斥访问权,互斥对象包含一个数量,一个线程ID,和一个计数器。其中ID用于标识系统中哪个线程当前占有互斥对象,计数器指明当前线程拥有过互斥对象的次数。互斥对象保护了共享资源,确保共享资源在一个线程访问完毕之后才能被其他线程访问。线程对于共享资源进行操作前要先申请得到互斥对象的所有权...原创 2018-08-20 14:20:14 · 922 阅读 · 1 评论 -
C语言 多线程使用说明3-线程同步问题引入
先开一个坑吧。。哎,线程真是老火。在实际生活中售卖火车票室友多个站点的,所以在火车站的售卖系统一定是用多线程操作来实现的,接下来我们编写简单的火车票系统,当然,简单的意思就是非常辣鸡。#include "stdafx.h"#include <string.h>#include <stdio.h>#include <stdlib.h>#inclu...原创 2018-08-19 21:44:19 · 2241 阅读 · 1 评论 -
C语言叨逼叨之一些注意事项
自五月中旬本菜鸡进行转专业补课:计算导论与程序设计(C语言)这门课已经有三个月了,虽然算法还没钻研多深,不过结合一些经验总结一些注意事项,估计没有兄贵看吧2333.1.do-while和while的使用,比如在你逐个输入字符,直到#出现为止2.sizeof来获取数据类型所占的字节数,比如int类型在不同机器下所占的字节就不一样,虽然大部分都是4个字节比如哈,看看ptr=(int*)ma...原创 2018-08-19 20:51:14 · 299 阅读 · 0 评论 -
C语言位运算
最近上计算机系统cs213,这周的作业就需要用到很多奇奇怪怪的位运算,我觉得真的很难啊...所以补一下相关知识。首先,我们都知道三个逻辑运算符,&&代表逻辑与,||代表逻辑或,!代表单目逻辑非。(Plus,如果对一个数字进行两次单目逻辑非,得到的是其逻辑值)int a=10,b=0;cout<<"We use 1 to denote truth and...原创 2018-10-22 09:00:45 · 1616 阅读 · 0 评论