C语言
文章平均质量分 50
persistence_s
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实现文件版本的通讯录
文件版本的通讯录会涉及到几个函数的使用在c语言标准库中用于打开文件的函数是fopen,在库函数中的标准形式为:FILE *fopen( const char *filename, const char *mode);第一个参数为你要打开的文件名,第二个参数为打开的方式,你可以以"r","w","a","r+","w+","a+"等多种方式打开但是在实现文件版本的通讯录时我们以二进制原创 2016-12-10 00:17:38 · 772 阅读 · 2 评论 -
理解程序编译预处理与链接过程
首先熟悉一些预处理标识符__FILE__ :进行编译的文件__LINE__ :文件当前行号__DATE__ :文件被编辑的周期__TIME__ :文件被编辑的时间# :使用预处理器将宏参数转换成一个字符串##:将位于它两边的符号连接成一个符号。示例 :__FILE__ :用LINUX指令来观察它的预处理结果和最后输出的结果_原创 2016-11-03 11:23:26 · 501 阅读 · 0 评论 -
如何用C语言实现三子棋游戏
board.h#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#define Line 3#define Column 3void meau();void Init(char board[Line][Column], int x, int y);//初始化一个棋盘即初始化二维数组中所有元素的函数void Disp原创 2016-10-23 17:30:07 · 425 阅读 · 0 评论 -
C语言中 a++和++a
++有两种形式:一种为前缀++:++a;一种则为后缀++:a++现在我们来讨论下前缀++:前缀形式的++放在操作数之前,则操作数的值先被增加即表达式的值就是操作数增加后的值。int i = 1;printf("%d", ++i);//我们可以得到的结果即为2.后缀形式的++放在操作数之后,操作数的值被增加,但表达式的值仍为操作数增加之前的值。int i = 1;原创 2016-10-16 18:42:45 · 4024 阅读 · 0 评论 -
如何用C语言获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
方法一:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ int num, i; printf("please enter a number:\n"); scanf("%d", &num); printf("偶数序列为:\n"); for (i = 31; i >= 1; i -= 2) { if原创 2016-10-08 10:48:45 · 1018 阅读 · 0 评论 -
如何用C语言将大写字母转换成小写字母其他原样输出
#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#define N 100int main(){ char a[N]; int i; scanf("%s", a); for (i = 0; a[i] != '\0'; i++) { if ('A' <= a[i] &&a[i]<= 'Z') print原创 2016-10-07 14:42:14 · 34536 阅读 · 3 评论 -
如何用C语言求一维数组中的最大数
改程序运行过没有任何问题原创 2016-10-01 09:47:25 · 3783 阅读 · 0 评论 -
如何用C语言实现十进制到二进制的转换并计算二进制中1的个数
#define _CRT_SECURE_NO_WARNINGS 1#include#include int main() //主函数{ int num, temp, i=0,arr[100];原创 2016-09-26 15:25:21 · 11452 阅读 · 0 评论 -
数组和指针的关系
指针和数组有什么关系呢? 有些人认为指针就是数组,数组就是指针,这种说法是错误的,指针就只是指针,数组也只是数组,它们之间是没有任何关系的比较1:求数组大小和指针字节的大小先明确一点即使我用sizeof(p)这种方式也不能说成sizeof是一个函数,sizeof只是一个关键字,不要被表象所迷惑。 char *p = "abcdefgh"; char array[9] = "abcde原创 2017-04-09 13:47:48 · 723 阅读 · 0 评论 -
如何用C语言求最大公约数
方法一:辗转相减法:用两个数中较大的数减去较小的数一直减到两个数相等为止最大公约数M一定能能够被两个数同时整除即a=x*M,b=y*M故两个数相减之后的结果=M*z#define _CRT_SECURE_NO_WARNINGS 1#include#includeint MAX(int x, int y){ while (1) { if (x > y) { x原创 2016-11-04 21:51:31 · 527 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字,编程实现
#include#include#includevoid Find_Two_Number(int arr[], int len){ int num1 = 0; int num2 = 0; int flag = 0; int c = 0; int tmp; int i = 0; for (i = 0; i < len; i++) { c = c^ arr[i];原创 2016-11-11 16:56:39 · 333 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串左旋或右旋之后的字符串。
#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#includevoid show(char arr[], int len) //打印数组 char arr[]表示数组,int len表示数组长度{ assert(len > 0); int i = 0; for (i = 0; i < len; i++) {原创 2016-11-11 17:04:04 · 430 阅读 · 0 评论 -
实现动态内存分配的通讯录
实现一个通讯录;通讯录可以用动态内存分配来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人 首先要实现一个动态内存分配的原创 2016-12-06 13:47:48 · 523 阅读 · 0 评论 -
对malloc calloc realloc函数以及free函数的认识
涉及到动态内存的分配与释放,我们知道只要在堆上申请了内存我们都要释放掉否则会造成内存泄漏涉及到动态内存分配我们可定会涉及到malloc calloc realloc free这些关于动态内存分配及释放的函数.对malloc函数的认识:在使用malloc函数分配内存时它申请的内存不会自己进行初始化,如果内存初始化很重要的话,你需要自原创 2016-12-06 13:20:16 · 568 阅读 · 0 评论 -
用C语言实现一个通讯录
实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人没有开辟动态内存的方法:头文件原创 2016-12-01 23:23:40 · 11712 阅读 · 1 评论 -
强制地址转换
例一:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ int array[5] = { 1, 2, 3, 4, 5 }; int *ptr1 = (int *)(&array + 1); int *ptr2 = (int *)((int)array + 1); printf("%x", *(ptr1-1)原创 2016-11-25 23:59:58 · 772 阅读 · 0 评论 -
浅析栈帧结构
函数调用代码如下:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint fun(int x, int y){ int c = 0xcccccccc; return c;}int main(){ int a = 0xaaaaaaaa; int b = 0xbbbbbbbb; int ret=fun(a, b); pri原创 2016-11-25 17:03:23 · 965 阅读 · 0 评论 -
字符串处理函数的实现
1、strcpy函数的实现#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#includechar *My_strcpy(char *dst, const char *str){ assert(dst); assert(str); while (*dst++ = *str++); return dst;原创 2016-11-20 23:38:24 · 511 阅读 · 0 评论 -
一个字符串中查找第一个只出现一次的字符。 要求复杂度为O(N).
#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#includevoid find(char *src, int len){ assert(src); assert(len > 0); char *p = src; char *q = p+1; char *end = len+src; while (p <原创 2016-11-20 16:10:18 · 762 阅读 · 0 评论 -
C语言三种方法实现字符串左旋
//三种方法实现字符串的左旋//方法一:通过整个字符串循环左移的方式#define _CRT_SECURE_NO_WARNINGS 1#include#include#includevoid Left_Spin(char arr[], int len, int k){ int i = 0; int temp = 0; temp = arr[0]; int n = 0; fo原创 2016-11-12 14:37:58 · 878 阅读 · 1 评论 -
C语言如何实现继承和多态
使用函数指针来实现继承和多态#include <stdio.h>#include <stdlib.h>struct Base_Vptr //虚函数表{ void(*fun1)( void*); void(*fun2)( void*);};struct Base{ struct Base_Vptr* base_v原创 2017-07-29 09:56:12 · 485 阅读 · 0 评论
分享