- 博客(19)
- 收藏
- 关注
原创 linux下c语言共享内存调用
共享内存作用: 让同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新 共享内存使用步骤:(这里还有要通过ftok()函数获得键值,所以还有打开文件的操作) 1.进程调用shmget函数创建新的或获取已有共享内存 2.进程调用shmat函数,将物理内存映射到自己的进程空间 3.shmdt函数,取消映射 4.调用shmctl函数释...
2019-06-18 14:40:42
6825
原创 strcat()函数的用法
这几天的一次程序练习中用到了strcat()函数,但也想到了一些问题。 我们都知道strcat(str,ptr)是将字符串ptr内容连接到字符串str后,然后得到一个组合后的字符串str,比如 str字符串内容为"123456\0",ptr字符串为"abc\0",那么strcat(str,ptr)后str内容为"123456abc\0",输出结果为 1234...
2019-05-13 13:42:50
159723
15
原创 取十个1-100的随机整数,然后倒序打印出来。(通过指针,而不是数组下标)
这题就是生成随机数和排序的问题,我用的是冒泡排序,代码如下,仅供参考 #include <stdio.h> #include <time.h> #include <stdlib.h> int random_100(void) { int a; srand((unsigned)time(NULL)); a = rand() % 100 + 1;//生...
2019-04-25 17:38:54
783
转载 方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充规则是:使用1,2,3...的自然数列,从左上角开始, 按照顺时针方向螺旋填充。
填充规则是:使用1,2,3...的自然数列,从左上角开始, 按照顺时针方向螺旋填充。 例如:当n=3时,输出: 1 2 3 6 4 5 当n=4时,输出: 1 2 3 4 9 10 5 8 6 7 当n=5时,输出: 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 这道题我开始不会写,也是在看了别人的讲解后才明白的,代码如下,仅供参考 #include <st...
2019-04-25 17:34:11
1832
原创 写一个函数,将字符串转换成带符号整型数据
我的思路是将字符串从后往前进行操作,也就是对应整数的个,十,百位这样,代码如下,经供参考 #include <stdio.h> #include <string.h> int main() { char str[128] = {0}; char c; signed int goal = 0; printf("printf a str:\n"); int...
2019-04-24 14:49:30
1273
原创 输入一行字符,分别统计出其中英文字母、空格、数字的个数。
本题就是简单的计数运算,if语句判断条件理解就好 #include <stdio.h> #include <string.h> int main() { char str[128] = {0}; char c; printf("input str:\n"); int i; i = 0; while((c = getchar()) != '\n')//输...
2019-04-24 14:46:49
1018
原创 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
这个代码思路挺简单的,但在实现时本人还是思考了好久,代码如下,仅供参考 #include <stdio.h> int main() { int m; printf("input one num:\n"); scanf("%d",&m); int temp = m; printf("result:%d =",m); while(temp != 1) {...
2019-04-23 20:06:07
2916
原创 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
寻找这个数的条件是两次判断,所以整体使用嵌套循环语句即可 #include <stdio.h> int main() { int i; int j; int k; for(i = 0; i < 1000; i++)//我们要判断的数 { for(j = 0; j < 1000; j++)//判断i+100是否是j的平方数 { if(i + 1...
2019-04-23 20:04:00
12125
5
原创 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h> int main() { int a;//百位 int b;//十位 int c;//个位 for(a = 1; a <= 4; a++) { for(b = 1; b <= 4; b++) { if(b != a)//十位不与百位相同 { for(c = 1; c <= 4; c++)...
2019-04-23 20:01:35
319
原创 c语言中自己写实现strcat(),strcpy(),strcmp()的函数
c语言中的string.h头文件中虽然有这三个函数,但老师让我们自己写函数,所以添加了一点自己的想法写了这三个函数。 strcat: #include <stdio.h> void str_cat(char* p,char* q) { while((*p) != '\0')//指针p移动到front尾 { p++; } while((*q) != '\0')//将...
2019-04-17 10:54:20
2279
2
原创 linux下隐藏scanf输入内容
linux下不可使用conio.h库中的getch()函数来进行隐藏输入,但linux下有自带的命令隐藏写入,这个命令就是stty -echo, 在命令行输入该命令后就不再显示输入,相反的命令是stty echo,显示写入,写在代码中如下: char c[32]; system("stty -echo"); scanf("%s",c); system("stty echo"); ...
2019-04-08 17:06:00
936
原创 c语言动静态库
一,动静态库 1.什么是库文件? 用来保存函数和变量的仓库,只能使用库文件里的函数或者变量,但无法看到是如何实现的。 例如:printf,scanf,strcpy这些都是库函数,也就是保存在库文件里的函数 2.linux库文件:静态库.a 和动态库.so 3.linux库文件的存放位置: /lib:系统启动和运行需要的库 /usr/lib:应用程序启动或者运行需要加载的库 ...
2019-04-08 00:13:11
416
原创 完全基于数学的杨辉三角形
众所周知,杨辉三角形用数组做会非常简单,但毕竟杨辉三角形的原理以及公式我们高中就学过了 ,代码如下: #include <stdio.h> #include <stdlib.h> int factory(int n,int j) { if (n < j) { printf("input error!\n"); exit(1); } if(j =...
2019-03-31 22:59:58
156
原创 c与指针读书笔记(20190325-27)
第一章节 在c语言中,数组参数是以引用(reference)形式进行传递的,也就是地址调用,而标量和常量是按值(value)传递的。 字符串由双引号括起来,每个字符串都由NLI(类似符号\0)做结尾,故"hello"占6个字节。 printf格式与含义: %d 十进制整数 %o 八进制 %x 十六进制 %g 一个浮点值 %c 一个字符 %s 一个字符串 sca...
2019-03-27 20:22:44
165
原创 新手最先接触的linux指令(20190326小结)
1.cd / 进入目录 cd ~进入home目录 cd ..进入上一层目录 2.pwd 查看当前目录路径 3.mkdir 创建目录 mkdir -p /mnt/hs/s 在mnt目录下创建路径为hs/s的目录,若不存在,则创建 4.rm -i 删除文件并且要确认 rm -f 直接删除文件或目录,不需确认 5.mv (-i)a b 将文件a重命名为b mv a /b 将文件移动到b目录下 m...
2019-03-26 23:46:19
155
原创 嵌入式开发概述(20190325小结)
一.嵌入式开发概述: 嵌入式:在已有硬件上移植操作系统,解决软硬件耦合度高导致的问题。(打个比方:软件的实现是为了调用open()函数,那么嵌入式开发就是在操作系统中实现open()函数对硬件的调用) 移植:为满足硬件要求修改内核源码 嵌入式开发和单片机开发的区别:是否移植操作系统。 没有操作系统的产品就不是嵌入式产品; 传统开发(单片机/裸机开发)缺点: 1.软件移植性差;(软件直接控制硬件...
2019-03-25 23:50:59
274
原创 linux下vim的基本操作(20190324小结)
c语言特点: 1.出色的可移植性,能在多种不同体系结构的软硬件平台上运行; 2.有简洁紧凑,使用灵活的语法机制,能直接访问硬件; 3.有很高的运行效率。 vim 三种基本模式: 命令行模式:控制光标移动,进行删除与复制行的操作,进入插入模式或底行模式。 插入模式:进行代码编辑。 底行模式:将文件保存或退出vim,也可以设置编辑环境,如寻找字符串,列出行号等,底行模式也算命令行模式。 命令行...
2019-03-24 22:49:13
287
原创 20190323学习小结
今天在通讯录中加入了用户身份验证以及注册功能 客户端client代码: 界面程序usr_menu(): void usr_menu() { system("clear"); printf("\t\t----1.用户登录----\n"); printf("\t\t----2.用户注册----\n"); printf("\t\t----3.退出登录----\n"); print...
2019-03-23 20:03:05
164
原创 基于c语言链表的通讯录
本人使用makefile文件,所以总代码分为四部分 tele.h: #ifndef TELE_H #define TELE_H #include<stdio.h> #include<stdlib.h> #include<string.h> struct node { char name[12];//姓名 char sex[10];//性别 i...
2019-03-23 18:50:54
767
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅