嵌入式软件测试题(C语言)V1.0

嵌入式软件测试题(C语言)V1.0 以下50个选择题,每题都可能存在一个或多个正确答案,请找出所有正确答案填在每题对应的括号中。多选、错选、漏选或不选,均不得分。每题2分。总计100分。为了缩短篇幅和节约大家的时间,试题中的代码可能不是完整的代码,答题时请不用考虑代码是否具有可编译和可执行性,仅分析代码本身即可。 1、定义一个数组int a[2] = {1,3},那么a的值是(   D     )
阅读本文

C语言程序试题-01

一个无向连通图G点上的哈密尔顿(Hamiltion)回路是指从图G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后回到该顶点的路劲。一种求解无向图上哈密尔顿回路算法的基础私下如下:  假设图G存在一个从顶点V0出发的哈密尔顿回路V1——V2——V3——...——Vn-1——V0。算法从顶点V0出发,访问该顶点的一个未被访问的邻接顶点V1,接着从顶点V1出发,访问V1一个未被访问的邻接顶
阅读本文

c语言指针的指针

c语言在函数传递时常常使用如下的形式。1 void get(int **p)对于这个形式,我想过为什么不能够使用 *p 作为形参呢。下面我们看一下代码和执行结果 1 void get(int **p) 2 { 3 printf(“%pn“,*p); 4 *p = (int *)malloc(sizeof(int) * 5); 5 printf(“%pn“,*p)
阅读本文

Unsafe类

目录Unsafe类 1、通过Unsafe类可以分配内存,可以释放内存; 2、可以定位对象某字段的内存位置,也可以修改对象的字段值,即使它是私有的; 字段的定位: 数组元素定位: 3、挂起与恢复 4. CAS操作是通过compareAndSwapXXX方法实现的 Unsafe类java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:通过
阅读本文

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语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来
阅读本文