- 博客(19)
- 收藏
- 关注
原创 linux下c语言共享内存调用
共享内存作用:让同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新共享内存使用步骤:(这里还有要通过ftok()函数获得键值,所以还有打开文件的操作)1.进程调用shmget函数创建新的或获取已有共享内存2.进程调用shmat函数,将物理内存映射到自己的进程空间3.shmdt函数,取消映射4.调用shmctl函数释...
2019-06-18 14:40:42
6642
原创 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
158580
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
690
转载 方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充规则是:使用1,2,3...的自然数列,从左上角开始, 按照顺时针方向螺旋填充。
填充规则是:使用1,2,3...的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出:1 2 3 4 512 13 14 611 15 710 89这道题我开始不会写,也是在看了别人的讲解后才明白的,代码如下,仅供参考#include <st...
2019-04-25 17:34:11
1640
原创 写一个函数,将字符串转换成带符号整型数据
我的思路是将字符串从后往前进行操作,也就是对应整数的个,十,百位这样,代码如下,经供参考#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
1152
原创 输入一行字符,分别统计出其中英文字母、空格、数字的个数。
本题就是简单的计数运算,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
915
原创 将一个正整数分解质因数。例如:输入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
2824
原创 一个整数,它加上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
12045
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
249
原创 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
2090
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
766
原创 c语言动静态库
一,动静态库1.什么是库文件?用来保存函数和变量的仓库,只能使用库文件里的函数或者变量,但无法看到是如何实现的。例如:printf,scanf,strcpy这些都是库函数,也就是保存在库文件里的函数2.linux库文件:静态库.a 和动态库.so3.linux库文件的存放位置:/lib:系统启动和运行需要的库/usr/lib:应用程序启动或者运行需要加载的库...
2019-04-08 00:13:11
306
原创 完全基于数学的杨辉三角形
众所周知,杨辉三角形用数组做会非常简单,但毕竟杨辉三角形的原理以及公式我们高中就学过了 ,代码如下:#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
103
原创 c与指针读书笔记(20190325-27)
第一章节在c语言中,数组参数是以引用(reference)形式进行传递的,也就是地址调用,而标量和常量是按值(value)传递的。字符串由双引号括起来,每个字符串都由NLI(类似符号\0)做结尾,故"hello"占6个字节。printf格式与含义:%d 十进制整数%o 八进制%x 十六进制%g 一个浮点值%c 一个字符%s 一个字符串sca...
2019-03-27 20:22:44
107
原创 新手最先接触的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重命名为bmv a /b 将文件移动到b目录下m...
2019-03-26 23:46:19
85
原创 嵌入式开发概述(20190325小结)
一.嵌入式开发概述:嵌入式:在已有硬件上移植操作系统,解决软硬件耦合度高导致的问题。(打个比方:软件的实现是为了调用open()函数,那么嵌入式开发就是在操作系统中实现open()函数对硬件的调用)移植:为满足硬件要求修改内核源码嵌入式开发和单片机开发的区别:是否移植操作系统。没有操作系统的产品就不是嵌入式产品;传统开发(单片机/裸机开发)缺点:1.软件移植性差;(软件直接控制硬件...
2019-03-25 23:50:59
201
原创 linux下vim的基本操作(20190324小结)
c语言特点:1.出色的可移植性,能在多种不同体系结构的软硬件平台上运行;2.有简洁紧凑,使用灵活的语法机制,能直接访问硬件;3.有很高的运行效率。vim三种基本模式:命令行模式:控制光标移动,进行删除与复制行的操作,进入插入模式或底行模式。插入模式:进行代码编辑。底行模式:将文件保存或退出vim,也可以设置编辑环境,如寻找字符串,列出行号等,底行模式也算命令行模式。命令行...
2019-03-24 22:49:13
206
原创 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
83
原创 基于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
687
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人