C语言 时间函数的学习

一直都是以简单的time_t t,time(&t),ctime(&t)来表示时间,后来要以时间为日志文件的名字时,就有点蒙逼了。学习一下。tm结构: struct tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值区间
阅读本文

linux进程地址空间浅析

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。那虚拟内存空间是什么呢,它与实际物理内存空间又是怎样对应的呢,为什么有了虚拟内存技术,我们就能运行比实际物理内存大的应用程序,它是怎么做到的呢?呵呵,这一切的一切都是个迷呀,下面我们就一步一步解开心中的谜团吧!进程使
阅读本文

c语言系统函数——进程的创建

一 、 进程的创建    1.fork();创建一个独立的进程      pid_t fork(void);      使用这个命令会创建一个独立于父进程而且拷贝父进程全部存储空间的子进程      返回值有三种情况               1.父进程会返回子进程的进程号,pid>0              2.子进程会返回0;pid = 0 ;              3.出错会返回-1
阅读本文

C语言实现整数和16进制互相转换

编译环境:Dev-C++ 5.2.0.3使用sprintf()函数实现转换,代码如下:#include #include int main(int argc, char* argv[]){    int num;  printf(“Enter a integer number:“);  scanf(“%d“, &num);  char ch[10]={0};  sprintf(ch, “%X“,
阅读本文

C语言最后一次作业--总结报告

1、当初你是如何做出选择计算机专业的决定的?老实说,一开始的时候根本也没有想过来到计算机专业,在高考前,一直想着说想选金融方面的专业,其实,感觉自己来到这个专业也算是个意外吧。但毕竟路是自己选的,再怎样也得好好学好自己的专业吧。但其实经过一学期的学习,也对这个专业慢慢有了些许了解和兴趣,每当看到大佬的操作时,都觉得好厉害,也渴望可以成为和他们一样厉害的人。对于计算机,虽然不是一开始的理想专业,自己
阅读本文

2017-2018-1 20155202 张旭 嵌入式C语言——时钟提取时分秒

2017-2018-1 20155202 张旭 嵌入式C语言——时钟提取时分秒任务要求:在作业本上完成附图作业,要认真看题目要求。提交作业截图作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清零) 题目解答提取位(以分钟为例) 插入位(以分钟为例)定义地址#define DATA_Addr 0x0C00000 #define DATA *(volatile int *)(DAT
阅读本文

C语言笔记2

目录1.转义字符2.常量与变量2.1 什么是常量和变量2.2 内存2.3 变量的内存机制2.4 变量命名规则2.5 变量的定义2.6 常量的定义2.7 计算机内存字节顺序2.8 局部与全局变量的区别 3.数据类型3.1 数据表示3.1.1进制之间转换3.1.2计算机存储数据3.1.3数据类型3.1.4数据类型与内存3.1.5正负符号的表示3.1.6数值表示方法----原码、反码、补码3.1.7数
阅读本文

C语言 关于指针的一些题目

1.将从键盘输入的每个单词的第一个字母转换成大写字母输入时各单词以空格隔开,用“.”结束输入解体思路:  把输入的字符存入字符数组中直到输入“.“,然后调用函数,把字符串的第一个字符(即是第一个单词的第一个字母)转换成大写字母,然后之后的每一个单词的第一个字母的怕判断方法是:通过判断一个字符是否是空格,以及空格后是否是字母,若均满足,则将这个字符后面的那个字符就是一个单词的第一个字母,将其转换成大
阅读本文

嵌入式C语言——提取时分秒

嵌入式C语言——提取时分秒题目:相关知识点提取位:插入位用宏定义定义地址#define TIME_Addr 0xFFFFC0000 #define TIME *(volatile int *)(TIME_Addr+2) 分析时分秒分别占5位、6位、5位!0x3F写成二进制111111六位进行&操作(适用于分)0x1F写成二进制11111五位进行&操作(适用于时、秒) 提取小时 #define Ti
阅读本文

2017-2018-1 20155232 嵌入式C语言——时钟

2017-2018-1 20155232 嵌入式C语言——时钟任务:在作业本上完成附图作业,要认真看题目要求。 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清零)课上提交:出错分析:主要是因为没有分析透彻,只是一味的照搬课上讲的内容,没有搞清楚,把移位的位数搞错了。而且没有写完整,例如宏的定义等。基础知识提取位(以分钟为例)插入位课上正确代码#define T
阅读本文

c语言使用librdkafka库实现kafka的生产和消费实例

关于librdkafka库的介绍,可以参考 一、producerlibrdkafka进行kafka生产操作的大致步骤如下:1、创建kafka配置  rd_kafka_conf_t *rd_kafka_conf_new (void)    2、配置kafka各项参数 rd_kafka_conf_res_t rd_kafka_conf_set (rd_kafka_conf_t *conf,
阅读本文

C语言实现C++的类

typedef struct _s_gpio GPIO; typedef struct _s_gpio{ uint32_t gpiox; uint32_t gpio_pinx; void (*init)(GPIO *gpio); void (*toggle)(GPIO *gpio); }GPIO; static void _s_gpio_init(GPIO *g
阅读本文

2017-2018-1 20155205 嵌入式C语言——时钟

2017-2018-1 20155205 嵌入式C语言——时钟题目要求基础知识插入位(以分钟为例)提取位(以分钟为例)在提取分钟时,运用到了位运算,位运算有以下规律:&0 --> 清零 &1 --> 不变 |1 --> 置1 |0 --> 不变秒占了五位,故将时间右移5位,这时我们要将它提取出来,故要将每位&1,即&0x3F。问题解答设置、提取小时:原理和设置、提取分钟一样,只不过这里的0X3F变
阅读本文

C语言老司机学Python (五)

今天看的是标准库概览。 操作系统接口:用os模块实现。针对文件和目录管理,还有个shutil模块可以用。例句:1 import os 2 os.getcwd() # 返回当前的工作目录 3 os.chdir(‘/server/accesslogs‘) # 修改当前的工作目录 4 os.system(‘mkdir today‘) # 执行系统命令 mkdir 5 6 import shutil 7
阅读本文

C语言位域精解

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来
阅读本文

C语言如何在可变参数函数中使用printf?

我要将printf外面再包上一层:void fun(const char* fmt,...) {........printf(fmt,...);........}这种函数怎么写? 对比下printf与vprintf函数原型:void printf(const char *format, ...);void vprintf(const char *format, va_list ap); void
阅读本文

C语言编程规范

打算好好学习C语言,今天搜了一些编程规范,常see see也是极好的1. 基本要求1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。1.3 尽量使用标准库函数和公共函数。1.4 不要随意定义全局变量,尽量使用局部变量。1.5 使用括号以避免二义性。2.可读性要求2.1 可读性第一,效率第二。2.2 保持注释与代码完全一
阅读本文

C语言编程中pid, tid以及真实pid的关系

对于ubuntu14.04操作系统,可以在/usr/src/linux-headers-4.4.0-31/include/linux/sched.h文件中看到进程控制块的结构体,如下struct task_struct { volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ vo
阅读本文

C语言——求水仙花数

昨天,雷老师偶有闲致,评讲了n周前的C程序设计作业。其中讲到了一到求水仙花数的题,给出了一种漂亮的算法,在此记录下来。原题输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。解题思路初始化i=100。 ①取i的各位数,百位a,十位b,个位c。 ②判断i==a∧3+b∧3+c∧3 是否成立 ③如果成立则输出,否则不输出。 ④i=i+1,当i小于1000重复①,否则结束。关键
阅读本文