
c语言
user_lwjAug
这个作者很懒,什么都没留下…
展开
-
用C语言实现通讯录(二、动态版+文件保存信息)
之前写的静态版的通讯录,只能存储固定数目大小的联系人信息,现在要升级为动态版的,这样只要容量不够的话只需自动扩容就可以啦!而且之前版本的信息每次退出程序后不会保存,每次需要重新录入,加入文件操作后可以将录入的信息保存到文件中,然后再从文件中读取就可以了。现在就让我们来完成一下之前程序的升级版。实现一个简单的通讯录要求: 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄...原创 2018-05-26 20:23:28 · 1647 阅读 · 0 评论 -
自定义类型相关知识剖析
1.结构体结构体: C语言允许用户创建由不同类型数据组成的数据结构,它称为结构体。结构体类型的创建 直接上代码struct Stu{ char name[20]; int age; char sex[5];};上面就定义了一个名为Stu的结构体,里面的成员有姓名、年龄和性别。这些成员可以是不同类型的变量。 定义结构体变量 1.先声明结构体类型,再定义该类型的变量原创 2018-05-10 10:34:40 · 276 阅读 · 0 评论 -
用C语言实现一个简单功能的通讯录(一、静态版本)
实现一个简单的通讯录要求: 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 该通讯录所具备的基本功能: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 接下来我们就用代码来一步一步实原创 2018-05-08 19:30:27 · 415 阅读 · 0 评论 -
c语言之指针、数组、函数之间的微妙联系
一、指针指针就是一个存储着内存地址的变量,通过所存的地址可以找到相对应的变量单元,因此将地址形象化地成为“指针”,意思就是可以通过它找到以它为地址的内存单元。 为了加以理解我们用图来进行解析: 下面我们定义一个整形的指针变量pint *p; 也就是说,指针是一个地址,而指针变量是存放地址的变量。###指针使用的注意事项指针变量前面的*表示该变量为一个指原创 2018-05-01 12:54:59 · 372 阅读 · 0 评论 -
可变参数列表剖析
一、什么是可变参数列表?在C语言中,我们知道当我们去实现一个函数时,它可以接受的参数是固定的,例如strcmp字符串比较函数,它有两个参数,传参时不能多传也不能少传。但是要想使我们的定义的函数可以接受多个参数,我们可以通过可变参数列表来实现。 可变参数列表可以通过宏来实现,这些宏是定义在头文件stdarg.h中的,它属于标准库的一部分。这些头文件中声明了一个类型va_list和三个宏,这三个宏原创 2018-04-19 17:16:40 · 243 阅读 · 0 评论 -
函数的调用--栈帧
对于函数的调用过程的了解层面你是否还停留在仅仅如下图所示的程度: 只知道大致过程而对于具体过程还不够了解,没有关系通过这篇博客,希望我们彼此都可以更深一层的了解函数具体的调用过程。一. 什么是栈帧?C语言中,每个栈帧对应着一个未运行完的函数,栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录,是编译器用来实现函数调用的一种数据结构。从逻辑上讲,栈帧就是一个函数执行的环境。 栈是从高原创 2018-04-16 12:48:15 · 489 阅读 · 2 评论 -
用C语言实现扫雷游戏
用C语言实现扫雷游戏—扫雷游戏的基本思路 1.打印游戏的菜单 2.为了便于后面排查周围雷的个数,初始化两个二维数组,一个作为向玩家显示的面板,一个作为布雷的面板。两个数组嵌套在一起。如下图所示: 3. 将初始化的两个数组打印出来 4. 在布雷的数组里面随机放入雷 5. 玩家扫雷 .输入要排查的区域的坐标 .如果第一次遇到雷,将雷移走,继续游戏 ....原创 2018-04-11 16:21:02 · 751 阅读 · 2 评论 -
用C语言实现简单的三子棋游戏
简单的三子棋游戏设计思路:打印游戏的菜单选择是否玩游戏定义一个二维数组作为棋盘并初始化电脑下棋显示棋盘判断输赢玩家下棋显示棋盘判断输赢 现在就用代码实现我们的想法 新建一个文件夹:三子棋.h#ifndef _SANZIQI__H__#define _SANZIQI__H__#include<stdio.h>#include<stdlib.h>#include<time原创 2018-04-11 15:29:57 · 360 阅读 · 0 评论 -
冒泡排序法
使用冒泡排序法对数组从大到小排列比较挫的代码写法:#include<stdio.h>#include<stdlib.h>int main(){ intarr[10] = { 0,1, 2, 3, 4, 5, 6, 7, 8, 9 }; int i = 0;//比较的趟数 int j = 0;//每个数比较的次数 int sz = sizeof(arr...原创 2018-04-04 19:23:22 · 212 阅读 · 0 评论 -
C语言数组总结
数组使用葵花宝典一维数组一.数组的特点1.数组是一组有序数据的集合2.数组中的每一个元素都属于同一个数据类型二.一维数组的定义1.一般形式一维数组的一般形式为类型符 数组名[常量表达式];Eg.int a[10]; int a[3+4];说明:(1)在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。数组元素的下标是从0开始的。三.数组...原创 2018-04-04 11:37:02 · 521 阅读 · 0 评论 -
编程实现:两个int(32位)整数m和n的二进制表达式中,有多少个位不同
#include<stdio.h>#include<stdlib.h>int main(){ int num1 = 0; int num2 = 0; int arr[32] = { 0 }; int count = 0; scanf("%d%d",&num1, &num2); int tmp = 0; ...原创 2018-04-03 10:32:21 · 250 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
比较挫的代码:#include<stdio.h>#include<stdlib.h>int main(){ int i = 1; int j = 0; int num = 0; int arr[32] = { 0 }; int count = 0; scanf("%d", &num); while(num) { ...原创 2018-04-02 08:42:04 · 381 阅读 · 0 评论 -
写一个函数返回参数二进制中的1的个数
int main(){int ret = 0;int num = 0;scanf("%d",&num);ret = count_onebits(num);printf("ret=%d",ret);system("pause");return 0;}原创 2018-04-02 08:39:31 · 312 阅读 · 0 评论 -
在整形有序数组中查找想要找的数字,找到了返回下标,找不到返回 – 1(折半查找法)
#include<stdio.h>#include<stdlib.h>int main(){ intnum = 0; printf("请输入要查找的数:\n"); scanf("%d", &num); int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int mid = 0; int l...原创 2018-04-02 08:33:34 · 406 阅读 · 0 评论 -
猜数字游戏
#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){ printf("**************************\n"); printf("**********1.start*********\n"); printf("**********0.exit ****...原创 2018-04-02 08:32:11 · 232 阅读 · 0 评论 -
编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都成对的出现
#include<stdio.h>#include<stdlib.h>int main(){ intch = 0; int count = 0; while((ch = getchar()) != EOF) { if(ch == '{') { count++; } if(c...原创 2018-04-02 08:30:42 · 256 阅读 · 0 评论 -
输出0 - 999之间的水仙花数
#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){ inti = 0; for(i = 1; i <= 1000; i++) { intsum = 0; intcount = 1; inttmp = i; wh...原创 2018-04-02 08:27:55 · 271 阅读 · 0 评论 -
在屏幕上打印一个菱形
比较挫的代码写法:#include<stdio.h>#include<stdlib.h>#include<Windows.h> #include<string.h>int main(){ char arr1[] =" "; char arr2[] ="*****************"; char ...原创 2018-04-02 08:27:09 · 291 阅读 · 0 评论 -
编程计算一下从1到100的所有整数中出现多少次数字9
#include<stdio.h>#include<stdlib.h>int main(){ inti = 0; intcount = 0; for(i = 1; i <= 100; i++) { if(i % 10 == 0) { count++; } if(i /...原创 2018-04-02 08:21:27 · 1260 阅读 · 0 评论 -
判断1000-2000年之间的闰年
#include<stdio.h>#include<stdlib.h>int main(){ int year = 0; int count = 0; for(year = 1000; year <= 2000; year++)printf("count=%d\n",count); system("pause"); return0;} ...原创 2018-04-01 09:47:15 · 328 阅读 · 0 评论