
C
文章平均质量分 70
一朵花花
女孩子也可以好好敲代码丫
展开
-
用C语言实现一个简单的猜数字游戏
猜数字游戏代码实现二级目录三级目录代码实现#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>#include<time.h>void Game() { printf("开始一局猜数字游戏!!\n"); int Guess = rand() % 100 + 1; while (1) { int num = 0; printf("请输入一个范围在[1,100]的整原创 2021-09-06 10:24:42 · 344 阅读 · 13 评论 -
C语言 - 预处理
C语言中编译流程:预处理 编译 汇编 链接预定义符号__FILE __进行编译的源文件__LINE __文件当前的行号__DATE __文件被编译的日期__TIME __文件被编译的时间__STDC __如果编译器遵守C语言标准,其值为1,否则未定义或为0__DATE__和__TIME__最大的用途就是用来区分当前程序的版本 预处理指令代码中 # 开头的都是预处理指令,例:#define #include…#define此指令用于创建一个宏定义原创 2021-07-21 16:05:00 · 156 阅读 · 3 评论 -
文件操作详解
文件介绍:文件主要是存储在磁盘(外存)上而在程序里,文件一般和外存相联系,因为直接操作外存不像操作内存那样方便,需通过“文件”方式来进行外存的操作~如图:由于磁盘上文件很多,需通过文件的路径来确定文件文件类型一般情况下,使用记事本打开,看打开后的内容即可判断文件类型,和文件后缀(扩展名)关系不大1.文本文件像 .c 文件,就是一个文本文件2.二进制文件像 .exe文件,就是一个二进制文件内存和外存的区别:内存比较小,外存比较大内存访问速度快,外存访问速度慢内存比较贵, 外存原创 2021-07-12 18:46:20 · 379 阅读 · 4 评论 -
动态内存管理详解
申请内存的方式最简单的申请内存方式:创建变量(1)局部变量:出了当前代码块就释放内存(2)全局变量:程序运行结束就释放内存(3)静态变量:程序运行结束就释放内存动态内存管理(内存管理,即内存的申请和释放 )目的:程序运行过程中,更灵活的进行内存的申请和释放~即:随时需要就申请,随时不要就释放(一般这样理解)动态往往是和“运行时”相关~静态往往是和“编译器”相关~申请 / 释放操作由C语言提供的几个库函数完成1.申请内存:malloc函数函数原型:void* malloc原创 2021-07-10 21:18:20 · 545 阅读 · 8 评论 -
筛选法求素数
题目用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数输入描述:多组输入,每行输入一个正整数(不大于100)输出描述:针对每行输入的整数n,输出两行,第一行:输出n之内(包括n)的素数,用空格分隔,第二行:输出数组中2之后0 的个数。每行输出后换行示例:输入:20输出:2 3 5 7 11 13 17 1911分析过程:要求n原创 2021-06-21 23:37:58 · 3015 阅读 · 4 评论 -
C语言 内存函数
上篇讲解了头文件<string.h>中的第一组以str开头的函数,此篇讲解以mem开头的第二组函数mem开头的函数,是和内存相关的,与字符串没有关系mem开头的函数,操作内存,故是以字节为单位的1.复制内存块 memcoy函数原型:void * memcpy ( void * destination, const void * source, size_t num )将num个字节的值从source指向的位置拷贝到destination指向的内存块把一块内存中的数据拷贝到另外一原创 2021-06-18 16:28:49 · 368 阅读 · 7 评论 -
C语言 字符串函数
此篇介绍处理字符和字符串的库函数和注意事项~字符串函数介绍1.求字符串长度 strlen函数原型:size_t strlen ( const char * str ),此处的const限制的是地址对应的内存空间不能进行修改size_t是无符号类型的整数,在标准库中用来表示"个数",在进行size_t进行相减时,特别容易溢出,故一般不适用size_t.作用是从字符串起始位置开始向后找,找到’\0’就结束,返回该C字符串的长度strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(原创 2021-06-18 13:33:05 · 407 阅读 · 12 评论 -
超详细理解数组和指针
一维数组int a[ ] = { 1,2,3,4 };1.printf("%d\n", sizeof(a)); //162.printf("%d\n", sizeof(a + 0)); //43.printf("%d\n", sizeof(*a)); //44.printf("%d\n", sizeof(a + 1)); //45.printf("%d\n", sizeof(a[1])); //4sizeof,是一个运算符,它的作用是取一个对原创 2021-06-08 00:56:17 · 1090 阅读 · 10 评论 -
字符串逆序问题
题目1将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割输出示例:输入:I like beijing.输出:beijing. like I思路:1.整体进行逆序 I like beijing. → .gnijieb ekil I2.再对每一个单词进行逆序.gnijieb原创 2021-06-05 12:34:42 · 507 阅读 · 7 评论 -
最大公约数和最小公倍数
1.最大公约数 greatest common divisor(GCD)定义:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。 a,b的最大公约数记为(a,b)方法1 暴力求值思路: 求a,b的最大公约数,找到两个数中较大的值tmp,从tmp到1,a、b依次对其求余,若都能整除,则该数就是最大公约数函数代码int GCD1(int x,int y) { //先找到两个数中较大的数 tmp int tmp = x > y ? x : y; for (int原创 2021-06-03 23:05:45 · 4545 阅读 · 12 评论 -
C语言 数据在内存中的存储
本篇主要讨论:整数、浮点数在内存中是怎么保存的!数据类型详细介绍在前面C语言基础概览中,已经提到过了基本的C语言内置类型,但C语言的数据类型有无数种~ 但是可以把这些类型分为几个大类:类型的归类:存整数的char,short,int,long,long long及所配套的unsigned,int*,int[]…2.存浮点数的float,double,float[]…结构体(结构体在内存中的存储后面在进行讨论~)整数在内存种的存储:1.字节序2.补码整形在内存中的存储:原码、反码、原创 2021-06-02 16:14:52 · 1398 阅读 · 21 评论 -
打印各种图案~
题目1.线段图案2.正方形图案3.直角三角形图案4.翻转直角三角形图案5.带空格直角三角形图案6.金字塔图案7.翻转金字塔图案8.菱形图案9.K形图案10.箭形图案11.反斜线图案12.正斜线图案13.X形图案14.空心正方形图案15.空心三角形图案1.线段图案输入描述:多组输入,一个整数(1~100),表示线段长度,即“ * ”的数量输出描述:针对每行输入,输出占一行,用" * "组成的对应长度的线段输入示例:102输出示例:************代码实现int mai原创 2021-05-24 23:05:39 · 3427 阅读 · 33 评论 -
字符串左旋问题
题目1字符串左旋实现一个函数,可以左旋字符串中的k个字符。例如:ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB思路分析创建一个临时变量用来存放字符串的第一个字符,利用for循环遍历字符串,实现将后一位赋值给前一位,最后将第一个字符赋值给最后一个元素即可。代码实现//实现一个函数,可以左旋字符串中的k个字符。void leftturn(char* str,int length,int k) { //循环实现 字符左旋 for (int i = 0; i < k原创 2021-05-23 22:53:12 · 2264 阅读 · 15 评论 -
C语言指针初阶--详解
文章目录定义指针和指针类型指针语法野指针常见导致野指针的情况指针运算指针和数组数组中正确使用指针二级指针指针数组定义指针实质上就是一个变量,是用来存放另一个变量的地址,就像其他变量或常量一样,必须在使用指针存储其他变量地址之前,对其进行声明。举实例来理解指针:指针必须结合内存来理解!把内存想象成很长很长的大走廊,走廊上有很多很多房间,每个房间的大小都是一个字节。每个房间都有一个门牌号,门牌号是从0开始,依次递增,房间号就叫“地址”,可以用另外的一块内存空间来保存这个地址,这样的内存空间就称之为“指原创 2021-05-16 21:45:16 · 3097 阅读 · 29 评论 -
rand函数和srand函数详解
引言在C语言中,rand函数可以用来产生随机数,但并不是真正意义上的随机数。它是返回介于 0 和 RAND_ MAX 之间的伪随机整数。这个数字是由一个算法生成的,该算法每次调用它时都返回一个显然不相关的数字序列。该算法是使用一个种子来生成序列,当计算机正常开机后,这个种子的值是固定的,因此产生的伪随机整数也是固定的,除非你为了改变这个值破坏了系统。为了初始化的值不同,C语言提供了srand函数。srand函数原型void srand(unsigned seed);rand函数代码示例调用ran原创 2021-05-02 00:21:24 · 28551 阅读 · 12 评论 -
C语言 打印整数二进制的奇数位和偶数位
题目获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列思路分析打印一个整数的二进制位中的偶数位和奇数位,可以对整数进行移位操作,再将移位的二进制位与1进行&操作。二进制的序列在计算机的存储中有32位,故在不考虑负数的符号位的情况下,奇数位和偶数位分别有16个。对奇数和偶数分别进行讨论~~10的二进制序列就是0000 0000 0000 0000 0000 0000 0000 1010代码实现int main() { int num = 0; printf("请输入一个原创 2021-04-29 23:46:56 · 5360 阅读 · 26 评论 -
C语言实现 扫雷小游戏
文章目录一、游戏规则二、设计思路三、程序设计+分段解析游戏基本流程+功能函数1.创建地图并初始化 init函数两个二维数组 ShowMap&MineMap2.打印地图 Print函数3.玩家确认要排查的位置4.判断是否踩雷5.更新排查后的地图 Update6.判定输赢一、游戏规则二、设计思路三、程序设计+分段解析游戏基本流程+功能函数1.创建地图并初始化 init函数两个二维数组 ShowMap&MineMap2.打印地图 Print函数3.玩家确认要排查的位置4.判断是否原创 2021-04-27 23:23:32 · 1357 阅读 · 6 评论 -
C语言实现 三子棋小游戏
三子棋小游戏设计思路:创建一个3*3的二维数组,每个元素都是一个char类型创建棋盘,并且初始化棋盘,把棋盘所有位置都设置成空格;打印空白棋盘;玩家落子,让玩家输入一组坐标(行row,列col);判断输赢;电脑落子,电脑随机生成一组坐标,进行随机落子;判断输赢;代码实现#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#defi原创 2021-04-26 15:47:29 · 550 阅读 · 4 评论 -
C语言中 * 的三种含义
C语言中 * 的三种含义相乘:符号两边都是两个变量。 例:x*y;x=2;y=3;z=x*y=2*3=6;指针类型:左边是类型。例:int*x;(定义了一个名字叫x的变量,能够存放int数据类型的地址)int* x;(定义了指针变量 x ,x 是指向整数类型的指针)解引用操作(间接访问操作):左边没啥,右边是一个指针类型变量。例如:y= *x; 如果x是一个已经定义好的指针变量,则(*x)表示以y的内容为地址的变量y= * x;(指针x指向的值赋值给y(此处*为指向运算符,*原创 2021-04-22 21:21:15 · 24471 阅读 · 8 评论 -
输出1000到2000之间的闰年
输出1000到2000间的所有闰年闰年定义:公历年份是4的倍数,且不是100的倍数的,为闰年分析:要想用C语言实现该程序,我们只需一一判断该年份是否为闰年,然后循环1000次就可以了。 而判断某个年份是否为闰年,至少需要满足两个条件的其中一个:1.该年份可以被4整除但不能被100整除;2.该年份可以被400整除。故可以使用if条件语句来实现代码实现:#include<stdio.h>#include<stdlib.h>int main() { int year原创 2021-04-15 14:39:48 · 6912 阅读 · 0 评论 -
概览C语言基础<二>
概览C语言基础<二>文章目录注释语句1.选择语句2.循环语句函数数组常见关键字文章目录注释语句1.选择语句2.循环语句函数数组常见关键字原创 2021-04-13 22:18:34 · 274 阅读 · 0 评论 -
C语言 求n的阶乘及阶乘和
题目随机输入一个整数n,求出n的阶乘思路阶乘,每次乘的数依次递增,直到第n个数,因此我们可以设置一个变量result,用于储存每一次的运算结果。且每次乘的数都依次递增,可以使用for循环语句,所以需引入一个新变量i 来控制for循环。源代码输出结果(以5!为例)注意事项用int类型时,n≤12因为 13!已经62亿+, 会使int溢出!...原创 2021-04-12 18:38:16 · 28999 阅读 · 13 评论 -
概览C语言基础<一>
文章目录一、人生中第一个C语言程序二、基础数据类型三、变量1、全局变量2、局部变量四、常量五、字符串六、转义字符一、人生中第一个C语言程序二、基础数据类型Char字符型 int 整型short短整型 long长整型longlong更长的整形 float 反精度浮点型double双精度浮点型 long double多精度浮点型sizeof在C语言中,是判断数据类型长度符的关键字输出:三、变量创建变量就是申请了一个内存空间变量的使用主原创 2021-04-08 22:28:16 · 327 阅读 · 1 评论