C语言
文章平均质量分 56
C
13KB
这个作者很懒,什么都没留下…
展开
-
分支与循环语句2
1.do while循环它的循环过程如下:来,继续分析一下break,continue的作用很明显,和while,for循环的一样!2.有序数组的二分查找,必须是有序数组,无序就emo了。#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 0; scanf("%d", &k);原创 2022-04-10 15:26:23 · 351 阅读 · 4 评论 -
分支与循环语句1
1分支语句:1.1if语句if(表达式) {语句}。if最常用的是和else联用。那我问个问题:能不能写成6<n<18?如果这样写,判断条件又是怎样的呢?为啥还是这情况呢?分析一下(6<n<18) 括号内是从左往右依次计算的输入10,6<10为真,返回1所以把6<n这部分换成1,1<18为真,所以打印“青少年”这里挺有意思的。注意if的表达式中0表示假,非0表示真,如-1也是非0,所以它也表示真。1.2悬空else看一下.原创 2022-04-09 18:06:23 · 860 阅读 · 4 评论 -
找单身狗与与“atoi”函数的模拟实现
1找单身狗一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。例如{1,2,3,4,5,1,2,3,4,6}找两条单身狗这题最难的是咋分组?不知道各位听过按位异或没?就是两个二进制数进行异或,相同为0,相异为1。#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>void fingle_dog(int a2[], int sz){ int i = 0; int原创 2022-04-12 19:18:50 · 568 阅读 · 8 评论 -
动态内存管理
1.为啥存在动态内存开辟?在c/c++语言中,编写程序有时不能确定数组应该定义为多大,因此这时在程序运行时要根据需要从系统中动态多地获得内存空间。所谓动态内存分配,就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就是程序要求的大小。动态内存管理:malloc,calloc,realloc,free。都存放在堆区。头文件都可以是<stdlib.h>2.mal原创 2022-04-05 10:45:32 · 1337 阅读 · 8 评论 -
库函数续写(strtok,memcpy,memmove)
1.strtok函数的作用是实现切割返回类型是char*,char*strtok(char*str,char*sep)原创 2022-03-27 20:11:09 · 139 阅读 · 20 评论 -
结构体,枚举,联合
1.结构体目录1.匿名结构体2.结构体自引用3内存对齐4.嵌套对齐5.位段2.枚举3.联合1. 1.匿名结构体 :就是不起名的意思,注意匿名结构体只能用一次。如果两个匿名结构体的成员类型一样在编译器看来也是不同类型。看见报错了吧,所以只能用一次,这不是重点,一般很少用。2.结构体自引用:结构体中自己调用自己呗3.结构体内存对齐(重点知识)内存对齐原因:1.平台原因:一些资料上是这样说的,“不是所有的硬件平台都能访问任意地址上的任意数据...原创 2022-04-03 20:33:13 · 2700 阅读 · 21 评论 -
结构体初阶
初识目录初识结构体1.结构体声明2.结构体初始化与定义3.两大结构体访问操作符4.结构体传参结构体原创 2022-04-02 18:28:12 · 286 阅读 · 6 评论 -
递归函数1
1.将9,8,7,6,5,4,3,2,1,0十个数字从小到大升序排列》原创 2022-03-30 22:46:46 · 556 阅读 · 13 评论 -
求最大公倍数三大通解
1.常规求解法·(求5,7的最小公倍数)#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>//求两个数的最小公倍数//5,7int main(){ int a = 0; int b = 0; int i = 0; scanf("%d %d", &a, &b); for (i = a; i <= a * b; i++) { if ((i % a == 0) && (i % b原创 2022-02-28 21:53:52 · 585 阅读 · 4 评论 -
string类型库函数自定义实现
strlen函数实现#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>int my_strlen(char*p)//返回类型是int型的{ int count = 0;//来计数的 while (*p)//有些人不理解这个()里啥意思,*p不为零,下面p往后走直到p为零,循环停止 { p++; count++; } r原创 2022-03-24 16:00:17 · 453 阅读 · 16 评论 -
回调函数实现冒泡排序及其模拟实现
1.对于一组数实现冒泡排序最普通操作#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int a[7] = { 0 }; int tmp = 0; while (scanf("%d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6]) != EOF)原创 2022-04-04 21:18:38 · 1085 阅读 · 13 评论 -
简洁版通讯录实现
1.结构体,枚举,联合体目录1.结构声明2.特殊声明3.结构体自引用4.结构体内存对齐5.结构体传参6.位段定义7.位段开辟空间8.枚举,联合关键字9枚举10 联合体1结构体声明原创 2022-03-31 23:54:39 · 322 阅读 · 10 评论 -
常见的一些易错点
1.输入n个数并输出最大的。此类题目有两大难点:1.1 n个数如何比较大小·?;比较完大小如何输出最大的?如此代码理由如下:首先输入的n的真实作用是给b赋值,而且for循环少了一次。最难理解的是本来要输入的a个数在循环前先输入一个所以循环输入的值就从1到a-1.2.注意此题与上一题最显著的区别是不用输入n表示输入n个数,所以用whlie循环最绝的一出是竟然输入了两次x,第一次仍然是赋值,第二次是比较大小,如果实在想不通再定义·一个变量a令第一个x改为...原创 2022-01-02 16:54:47 · 378 阅读 · 8 评论 -
PTA----字母子集合
最近刷题遇见一个不错的题,分享一下!这题啥意思呢?先写一个数组存A-Z,输入一个数,输出它的所有子集(包括空集)如果输入3,代表A, B, C的所有子集,并用他们三个表示。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>void my_print(char a1[], int count){ int i, j, tmp; int Sum = 1 << count; /.原创 2022-05-02 16:32:03 · 248 阅读 · 7 评论