- 博客(18)
- 收藏
- 关注
原创 可变参数列表剖析
一、什么是可变参数列表?在C语言中,我们知道当我们去实现一个函数时,它可以接受的参数是固定的,例如strcmp字符串比较函数,它有两个参数,传参时不能多传也不能少传。但是要想使我们的定义的函数可以接受多个参数,我们可以通过可变参数列表来实现。 可变参数列表可以通过宏来实现,这些宏是定义在头文件stdarg.h中的,它属于标准库的一部分。这些头文件中声明了一个类型va_list和三个宏,这三个宏
2018-04-19 17:16:40 190
原创 函数的调用--栈帧
对于函数的调用过程的了解层面你是否还停留在仅仅如下图所示的程度: 只知道大致过程而对于具体过程还不够了解,没有关系通过这篇博客,希望我们彼此都可以更深一层的了解函数具体的调用过程。一. 什么是栈帧?C语言中,每个栈帧对应着一个未运行完的函数,栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录,是编译器用来实现函数调用的一种数据结构。从逻辑上讲,栈帧就是一个函数执行的环境。 栈是从高
2018-04-16 12:48:15 451 2
原创 用C语言实现扫雷游戏
用C语言实现扫雷游戏—扫雷游戏的基本思路 1.打印游戏的菜单 2.为了便于后面排查周围雷的个数,初始化两个二维数组,一个作为向玩家显示的面板,一个作为布雷的面板。两个数组嵌套在一起。如下图所示: 3. 将初始化的两个数组打印出来 4. 在布雷的数组里面随机放入雷 5. 玩家扫雷 .输入要排查的区域的坐标 .如果第一次遇到雷,将雷移走,继续游戏 ....
2018-04-11 16:21:02 713 2
原创 用C语言实现简单的三子棋游戏
简单的三子棋游戏设计思路:打印游戏的菜单选择是否玩游戏定义一个二维数组作为棋盘并初始化电脑下棋显示棋盘判断输赢玩家下棋显示棋盘判断输赢 现在就用代码实现我们的想法 新建一个文件夹:三子棋.h#ifndef _SANZIQI__H__#define _SANZIQI__H__#include<stdio.h>#include<stdlib.h>#include<time
2018-04-11 15:29:57 326
原创 冒泡排序法
使用冒泡排序法对数组从大到小排列比较挫的代码写法:#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 193
原创 C语言数组总结
数组使用葵花宝典一维数组一.数组的特点1.数组是一组有序数据的集合2.数组中的每一个元素都属于同一个数据类型二.一维数组的定义1.一般形式一维数组的一般形式为类型符 数组名[常量表达式];Eg.int a[10]; int a[3+4];说明:(1)在定义数组时,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,即数组长度。数组元素的下标是从0开始的。三.数组...
2018-04-04 11:37:02 472
原创 编程实现:两个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 214
原创 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
比较挫的代码:#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 354
原创 写一个函数返回参数二进制中的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 287
原创 在整形有序数组中查找想要找的数字,找到了返回下标,找不到返回 – 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 379
原创 猜数字游戏
#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 210
原创 编写一个程序,它从标准输入读取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 236
原创 输出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 234
原创 在屏幕上打印一个菱形
比较挫的代码写法:#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 266
原创 编程计算一下从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 1231
原创 判断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 303
原创 打印九九乘法表
#include<stdio.h>#include<stdlib.h>int main(){ inti = 0; intj = 0; for(i = 1; i <= 9; i++) { for(j = 1; j <= i; j++) { printf("%d*%d=%d\t", i, j,...
2018-04-01 09:38:26 1050
原创 打印100 - 200之间的素数
#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){ inti = 0; intj = 0; inttmp = 0; intcount = 0; for(i = 101; i <= 200; i+ = 2) { for(j = 2; j...
2018-04-01 09:35:24 240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人