C语言
文章平均质量分 60
ReginaPhilange
这个作者很懒,什么都没留下…
展开
-
通讯录--文件储存版本
在实现这个通讯录之前先了解一下函数1.sscanfsprintf2.freadfwrite原创 2018-06-21 17:01:35 · 531 阅读 · 0 评论 -
C语言指针详解(下)
一、一维数组,一级指针;二维数组,二级指针1)指针和数组在使用上有类似性(比如a[5]可以访问数组中第六个元素,p+5同样也可以访问),但指针和数组是没有关系的,这是两种不同的类型。2)指针可以做左值也可以做右值(可表示空间,可表示内容),数组只能做右值(可以将数组赋值给别的变量,但不能将变量直接赋值给数组)。3)指针做右值表示它的内容,数组名做右值表示的是数组首元素的首地址。4)只有sizeof...原创 2018-05-30 17:43:36 · 770 阅读 · 2 评论 -
自定义类型:结构体,枚举,联合
一、结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以使不同类型的变量。结构体的声明struct student //标签Tag,可以省略但是尽量不要省略。 { char name[]; //结构体成员,c语言中不能为空 int age; char sex[]; char id[20]; }list; //变量列表,可以省略。 注意切记...原创 2018-05-31 20:03:52 · 136 阅读 · 0 评论 -
静态通讯录的简单实现
实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人...原创 2018-06-01 20:39:06 · 368 阅读 · 0 评论 -
C语言动态内存管理malloc、calloc、realloc、free的用法和注意事项
动态内存函数的介绍1. malloc和freevoid * malloc(size_t size);这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。-如果开辟成功,则返回一个指向开辟好空间的指针。-如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。-返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。-如...原创 2018-06-02 14:30:43 · 235 阅读 · 0 评论 -
动态通讯录的实现
contact.h#ifndef CONTACT_H #define CONTACT_H enum Option{ EXIT, ADD, DEL, SEARCH, MODIFY, SHOW, SORT, EMPTY};#include<stdio.h> #include<windows.h> #include<stdlib...原创 2018-06-20 17:17:57 · 243 阅读 · 0 评论 -
三天打鱼两天晒网
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题。基本要求:1.程序风格良好(使用自定义注释模板),提供友好的输入输出。提高要求:1.输入数据的正确性验证。 #define _CRT_SECURE_NO_DEPRECATE#...原创 2018-08-28 17:29:46 · 354 阅读 · 0 评论 -
求两个正整数的最大公约数和最小公倍数。
题目:求两个正整数的最大公约数和最小公倍数。基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。提高要求:1.三种以上算法解决两个正整数最大公约数问题。#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include...原创 2018-09-07 19:18:40 · 671 阅读 · 0 评论 -
词频统计
题目描述:做一个词频统计程序,该程序具有以下功能:(1)可倒入任意英文文本文件(2)统计该英文文件中单词数和各单词出现的频率(次数),并能将单词按字典顺序输出。(3)可能的话可否将单词及频率写入数据库(文件)思想:1.使用文件操作。 2.将英文文章先读到一个字符串中。 3.将英文文章中的单词分离时,主要使用strtok函数。 4.将英文单词...原创 2018-09-20 21:22:02 · 1223 阅读 · 0 评论 -
VS2013 调试时的 0xCCCCCCCC 读取字符串的字符时出错
0xcccccccc : Used by Microsoft's C++ debugging runtime library to mark uninitialised stack memory0xcdcdcdcd : Used by Microsoft's C++ debugging runtime library to mark uninitialised heap memory0xfee...转载 2018-09-20 23:32:08 · 3462 阅读 · 0 评论 -
C预言指针详解(上)
一、指针是什么指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。指针就是变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)二、为什么存在指针将计算机的内存分成了很多个小的单元,每个单元都对应独一无二的地址,这样就一个地址...原创 2018-05-30 16:21:29 · 250 阅读 · 0 评论 -
模拟实现strncpy、strncat、 strncmp
1.模拟实现strncpychar* strncpy(char* destination,const char* source,size_t num); 拷贝num个字符从源字符到目标空间,如果源字符串的长度小于num,则考完源字符串之后,在目标的后边追加0,直到num个。#include<stdio.h>#include<assert.h>char * my_strn...原创 2018-05-30 15:17:20 · 118 阅读 · 0 评论 -
C语言操作符总结
一、算数操作符+ - * / %1.除了%操作符之外,其他几个操作符可以作用于整数和浮点数。2.对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。3.%操作符的两个操作数必须为整数。返回的是整数之后的余数。二、移位操作符<< 左移操作符>> 右移操作符左移操作符将一个运算对象的各二进制位全部左移若干位(左边的二...原创 2018-04-04 15:27:39 · 125 阅读 · 0 评论 -
数组总结
一、一维数组1、一维数组的创建和初始化(1) 数组的创建数组是一组相同类型元素的集合。数组的创建方式type_t arr_name [const_n];//type_t 是指数组的元素类型//const_n 是一个常量表达式,用来指定数组的大小注:数组创建,[ ] 中要给一个常量才可以,不能使用变量。(2)数组的初始化数组初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。 数组...原创 2018-04-13 21:03:37 · 130 阅读 · 0 评论 -
C语言小程序--三子棋
头文件 game.h#ifndef _GAME_H_ #define _GAME_H_ #include<stdio.h> #include"game.h" #include<stdlib.h> #include<time.h> #include<string.h> #pragma warning(disable:499...原创 2018-05-04 17:15:03 · 136 阅读 · 0 评论 -
C语言---扫雷小游戏
显示该点周围雷的个数第一次下子,不炸死坐标周围没雷,可以实现展开游戏结束后展示玩家用时game.h#ifndef __GAME_H__#define __GAME__H__#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#define row 1...原创 2018-05-14 16:24:43 · 267 阅读 · 0 评论 -
实现strcpy、 strcat 、 strstr、 strchr 、strcmp 、memcpy 、memmove
模拟实现strlen的三种方式//模拟实现strlen的三种方式#include<stdio.h>#include<assert.h>int my_strlen1(const char * str)//计数器方式{ int count = 0; assert(str != NULL); while (*str) { count++; str++; ...原创 2018-05-23 16:48:15 · 178 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。#include<stdio.h>int main(){ int arr[] = { 1, 3, 8, 1, 3, 8, 4, 6 }; int num = 0; int sz = sizeof(arr) / sizeof(arr[0]); int i = 0; int pos = ...原创 2018-05-24 09:36:58 · 198 阅读 · 0 评论 -
浅析可变参数列表
C语言中的可变参数列表首先写一段简单的代码用来理解可变参数列表分别使用可变参数,实现函数,求函数参数的平均值和最大值。#include<stdio.h>#include<stdarg.h>int average(int n, ...){ va_list arg; int i = 0; int sum = 0; va_start(arg, n);//初始化arg...原创 2018-05-24 15:23:09 · 169 阅读 · 0 评论 -
使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。
1.使用main函数的参数,实现一个整数计算器,程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。例如:命令行参数输入:test.exe -a 1 2 执行1+2输出3#include<stdio.h>#include<stdlib.h>#include<stri...原创 2018-05-24 17:34:38 · 134 阅读 · 0 评论 -
浅析指针数组、数组指针、函数指针、函数指针数组、指向函数指针的数组的指针
1.指针数组 首先它是一个数组,数组的元素都是指针,数组占多少字节由数组本身决定,它是“储存指针的数组”的简称。 例如int *arr1[10];是一个具有10个元素的数组,每个元素均为指向一个整型的指针。2.数组指针 首先它是一个指针,它指向一个数组。在32位系统下永远是占4字节,至于它指向数组占多少字节并不重要。它是“指向数组的指...原创 2018-05-28 22:59:31 · 237 阅读 · 0 评论 -
24点小游戏
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <math.h>#define LING 1E-6 //表示不合法的计算结果#define CONT 4#define VOLUE 24float num[CONT];c...原创 2018-09-30 11:29:23 · 198 阅读 · 0 评论