C语言基础
文章平均质量分 58
C语言基础+进阶
小白的Soda
厚德弘毅,求是笃行。
展开
-
12指针与main函数
文章目录指针与main函数一、函数指针二、typedef 的用法三、main 函数参数指针与main函数一、函数指针int (*add)(int, int); // 函数指针变量typedef int (*add)(int, int); // 函数指针类型二、typedef 的用法内建类型的重命名:(与宏定义看着有相似之处,但是本质上是有差异的)typedef long long lint; // 给long long 取别名为 linttypedef char * pchar;结构体类型原创 2021-10-31 18:49:46 · 114 阅读 · 0 评论 -
11复杂结构与指针
文章目录复杂结构与指针一、字符串二、字符串相关操作三、结构体四、共用体五、变量的地址六、等价形式转换复杂结构与指针一、字符串定义字符数组:char str[size];初始化字符数组:char str[] = “hello world”; // sizeof(str)为12char str[size] = {‘h’, ‘e’, ‘l’, ‘l’, ‘o’};字符串数组的大小需要比字符串大小大1,因为最后以为需要存储字符‘\0’;‘a’ —> 97, ‘A’ —> 65, ‘0’原创 2021-10-31 14:49:33 · 82 阅读 · 0 评论 -
10预处理命令
文章目录预处理命令一、宏定义二、预定义宏三、条件式编译四、预处理命令预处理命令一、宏定义定义符号常量:#define PI 3.1415926#define MAX_N 10000定义傻瓜表达式:#define MAX(a, b) (a) > (b) ? (a) : (b)#define S(a, b) a * b定义代码块:#define P(a) { \ printf("%d\n", a); \}" \ " 表示连接符,一行代码最好不要超过 80 个字符,超过的原创 2021-10-23 19:46:26 · 117 阅读 · 0 评论 -
09二分查找
文章目录二分查找一、折半查找(二分查找)二分查找一、折半查找(二分查找)前提:当前待查找元素具有单调性min 是头指针;max 是尾指针;mid = (min + max)/ 2调整: (终止条件:min > max)如果 arr[mid] < x, min = mid + 1如果 arr[mid] > x, max = mid - 1如果 arr[mid] == x, 找到结果随堂练习-1请完成如下函数,实现一个数组 arr 中查找数字 x 是否原创 2021-10-18 21:36:43 · 77 阅读 · 0 评论 -
08线性筛算法
文章目录线性筛算法一、线性筛线性筛算法一、线性筛标记一个范围内的数字是否是合数,没有被标记的就是素数算法的空间复杂度为 O(N), 时间复杂度为 O(N)总体思想是用一个整数 M 去标记合数 N,其中 N 和 M具有如下性质:N 中最小的素数为 pN 可以表示成为 p * Mp 一定小于等于 M 中最小的素因子利用 M * P’ (所有不大于 M 中最小素因子的集合)标记 N1, N2, N3…线性筛实例代码:#include <stdio.h>#define原创 2021-10-10 22:02:31 · 186 阅读 · 0 评论 -
07数组与预处理命令
文章目录数组与预处理命令一、数组声明与初始化二、素数筛数组与预处理命令一、数组声明与初始化数组可以理解为相同类型变量的集合。数组声明: 类型 数组名[数组大小]; 如:int b[2];数组声明并初始化:类型 数组名[数组大小] = {数组内容初值}; 如:int b[2] = {3, 5};数组的访问按下标进行访问,数组下标从 0 开始。变量可以用 sizeof(变量名) 函数来获取变量所占内存空间大小。数组在内存上所占的是一片连续的空间。数组支持随机存储和随机访问。数组名可以代表数原创 2021-10-09 00:09:52 · 200 阅读 · 0 评论 -
06扩展欧几里得&简版printf函数实现
文章目录扩展欧几里得&简版printf函数实现一、扩展欧几里得二、简版 printf 函数实现扩展欧几里得&简版printf函数实现一、扩展欧几里得欧几里得算法可以快速求解 a * x + b * y = 1 方程的一组整数解。当 b = 0 时,可得 a * x = 1,当 a = 1,x = 1,y = 任意值 时满足条件。欧几里得算法最后一步也是 b = 0 时,返回 a 的值。求解一组解的过程与欧几里得算法的流程类似,属于递归和回溯的应用。#include <stdi原创 2021-10-07 18:55:32 · 55 阅读 · 0 评论 -
05函数Part-2
文章目录函数_Part2一、PE-05 欧几里得算法二、变参函数函数_Part2程序 = 算法 + 数据结构程序设计 = 算法 + 数据结构 + 编程范式一、PE-05 欧几里得算法又名辗转相除法迄今为止已知最古老的算法用于快速计算两个数字的最大公约数还可以用于快速求解 a * x + b * y = 1 方程组的一个解算法其实是一种聪明人的做事方法。gcd(a, b) ==> gcd(b, a % b)#include <stdio.h>int gcd(in原创 2021-10-06 19:22:04 · 89 阅读 · 0 评论 -
04函数part-1
文章目录函数_Part1一、函数说明二、 K & r 风格的函数定义三、递归程序四、函数指针函数_Part1代码封装函数的好处:提高了代码的可读性,且能有效降低 bug 率,简化思维逻辑。一、函数说明函数的声明:通俗的来说就是宣布一个声明 :int is_prime(int x);函数的定义:通俗的来说就是实现一个功能int is_prime(int x) { for (int i = 2; i <= x / 2; ++i) { if (x % i == 0) {原创 2021-10-05 18:54:32 · 78 阅读 · 0 评论 -
03流程控制
文章目录C语言-流程控制一、C语言关系运算符二、分支结构1. if 语句(选择语句)2. switch 语句三、循环结构1. while 循环2. for 语句C语言-流程控制一、C语言关系运算符运算符说明例子==等于a == b!=不等于a != b<、>小于和大于a > b, a < b<=(=<)、=>(>=)小于等于和大于等于a <= b, a >= b!非!(0)、!原创 2021-10-01 12:07:36 · 188 阅读 · 0 评论 -
02数学运算
文章目录C语言-数学运算一、C 语言基本运算符二、C语言中的数学函数1)pow 函数说明2)sqrt 函数说明3)ceil 函数说明4)floor 函数说明4)abs 函数说明5)fabs 函数说明6)acos 函数说明C语言-数学运算一、C 语言基本运算符运算符说明例子=赋值运算符a = b;+、-、*、/、()基本四则运算a = (b + c) * d;%求余运算a = b % 2;&、|、^、~位运算a = ~ b | c;&原创 2021-10-01 07:58:40 · 127 阅读 · 0 评论 -
01入门基础
文章目录**C语言入门基础**一、汇编与C语言二、输出函数说明三、输入函数说明C语言入门基础学习参考手册:cppreference一、汇编与C语言开发效率、程序可移植性。最简单代码示例:#include <stdio.h>int main() { printf("Hello World!"); return 0;}C 语言的缺点:执行效率低于汇编编程范式:面向过程。C++ 编程范式:面向过程、面向对象、泛型编程、函数式编程。二、输出函数说明printf原创 2021-10-01 07:56:21 · 57 阅读 · 0 评论