![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
文章平均质量分 52
C语言
graceyun
低头赶路,敬事如仪,自知其心,其路则明~
展开
-
C语言初阶——7结构体
声明类型的同时定义变量p1int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化结构体嵌套初始化int data;//结构体嵌套初始化//结构体嵌套初始化。原创 2024-07-18 13:44:39 · 172 阅读 · 0 评论 -
C语言初阶——6指针
(2^ 32Byte = 2^ 32/1024KB = 2 ^ 32/1024/1024MB = 2 ^ 32/1024/1024/1024GB = 4GB) 4G的空闲进行编址。指针是指编程语言中的一个对象,利用地址,它的值指向存在电脑存储器中的另一个值。指针变量也是变量,是变量就有地址,那指针变量的地址存放在哪里?概念: 野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)1、 指针是用来存放地址的,地址是唯一标示一块地址空间的。指针数组是指针还是数组?指针类型的意义是什么?原创 2023-07-06 14:29:36 · 21 阅读 · 0 评论 -
C语言初阶——5操作符
一个16进制数是4个比特位,两个16进制数是8个比特位(一个字节),四个16进制是2个字节 也就是一个short。表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度。因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长。把int强转为short的时候,前面高位的两个字节,就直接舍去不要了。把short强转为int的时候,前面高位两个字节,填充的都是符号位;一般就是int的字节长度,同时也是CPU的通用寄存器的长度。原创 2024-05-24 08:59:33 · 1091 阅读 · 0 评论 -
C语言初阶——4数组
二维数组本质上也是一维数组,只不过每个元素又是一个一维数组,所谓的数组,可以理解成一种特殊的类型,int arr[4];数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。冒泡排序的核心思路,比较两个相邻元素的大小,看看是不是符合排序的要求.(例如,要求进行升序排序,就看前一个元素是不是比后一个元素小)如果不符合排序要求,就进行交换~不管是几维数组,本质都是一维数组. 操作/语法都是和一维数组一 样的。本质上也是一个-维数组, 只不过每个元素又是一个二 维数组~~只要连成一条线就赢了。原创 2023-07-07 08:56:17 · 54 阅读 · 0 评论 -
C语言初阶——3函数
如果库函数能干所有的事情,那还要程序员干什么?所有更加重要的是自定义函数。自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间。函数组成:statement;//语句项 } ret_type 返回类型fun_name 函数名para1 函数参数eg:写一个函数,找出两个整数中的最大值告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体是不是存在,无关紧要。函数的声明一般出现在函数的使用之前。原创 2023-04-24 13:46:36 · 35 阅读 · 0 评论 -
C语言初阶——2分支语句和循环语句
三种语法结构:第一种:if(表达式)语句;第二种:if(表达式)语句1;else语句2;第三种://多分支if(表达式1)语句1;else if(表达式2)语句2;else语句3;原创 2023-04-19 13:58:09 · 37 阅读 · 0 评论 -
C语言初阶——1C语法概览
批量创建一组相同类型的变量:C语言中要求数组中的变量是相同类型~类似于Java、C++、Go这样的语言和C语言一致(称这类为静态类型,一个变量在运行过程中类型是固定的,不能变)类似于Python、PHP、JavaScript、的语言不要求数组中是相同类型。(称这类为动态类型,一个变量在运行过程中类型可以改变)原创 2023-04-15 17:18:54 · 19 阅读 · 0 评论 -
C语言刷题学习知识点1_20240219-
sizeof 是C语言中的一个操作符,就和+ - * 、/ 一样,它是用来计算变量或者类型所占空间大小的~计算结果的单位是字节,1字节是8个bit位。==很开心,这是自己独立完成的代码,虽热很low,但是真的很开心!开始考虑使用循环了。scanf 是为了获取你键盘输入的字符,使用主要有两点需要注意。getchar() 获取一个字符或者输入一个字符。1.需要一个 变量来存储我们输入的数据。eg:scanf如何实现两个输入。求两个数的最小公约数。原创 2024-05-24 09:01:05 · 323 阅读 · 0 评论 -
C语言初阶习题【13】交换数组
题目内容将数组A中的内容和数组B中的内容进行交换。(数组一样大)代码实现void swapArr(int arr[], int arr2[]){ for (int i = 0; i < 4; i++) { int tem = arr[i]; arr[i] = arr2[i]; arr2[i] = tem;} }typedef int* intPtr;int main(){ //将数组A中的内容和数组B中的内容进行交换。(数组一样大) int arr[] =原创 2021-09-05 17:51:04 · 153 阅读 · 0 评论 -
C语言初阶习题【12】递归实现n的k次方
递归实现n的k次方题目内容编写一个函数实现n的k次方,使用递归实现。题目分析主要还是拆分的思想:代码实现#include<stdio.h>#include<stdlib.h>int kN(int n,int num){ if (num == 0) { return 1; } return n * kN(n,num - 1);}int main(){ printf("%d\n", kN(2, 3));结果:...原创 2021-09-05 15:27:00 · 188 阅读 · 0 评论 -
C语言初阶习题【11】计算一个数的每位之和(递归和非递归实现)
计算一个数的每位之和(递归实现)题目内容写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19输入:1729,输出:19题目分析非递归实现取出这个数的每一位,然后相加。递归实现对问题进行拆分代码实现非递归实现#include<stdio.h>#include<stdlib.h>int DigitSum(unsigned int num)//{原创 2021-09-05 15:15:45 · 256 阅读 · 0 评论 -
C语言初阶习题【10】字符串逆序(递归和非递归实现)
字符串逆序(递归实现)题目内容编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列,不是逆序打印。要求:不能使用C函数库中的字符串操作函数。比如:char arr[] = “abcdef”;逆序之后数组的内容变成:fedcba题目分析逆序打印:字符串本身不变,你反着输出即可反向排列:修改字符串的本身,把自妇产给倒过来不用递归实现先创建一个 left= 0;在创建一个right = size-1;交换 left 和原创 2021-09-05 14:21:22 · 206 阅读 · 0 评论 -
C语言初阶习题【9】斐波那契数列 递归和非递归实现
1.递归实现1.1解题思路1.2代码实现#include<stdio.h>#include<stdlib.h>int fib(int n){ if (n == 1 || n == 2) return 1; return fib(n-1) + fib(n - 2);}int main(){ printf("%d\n", fib(5)); return 0;}1.3 结果展示2.非递归实现2.1代码实现#include<s原创 2021-08-31 09:51:01 · 143 阅读 · 0 评论 -
C语言初阶习题【8】输出乘法口诀表
输出乘法口诀表题目内容在屏幕上输出9*9乘法口诀表解题思路两个循环进行控制,外层循环控制打印多少行。内部循环控制每行打印多少个表达式以及表达式内容。代码实现#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() { //屏幕上打印九九乘法表 int i,j; for (i = 1; i <=9; i++) { for (int j = 1; j <= i; j++) {原创 2021-08-27 11:24:27 · 264 阅读 · 0 评论 -
C语言初阶习题【7】求最大值
求最大值题目内容求10个整数中的最大值思路采用循环的方式输入一个数组使用max标记数组中的最大值,采用循环的方式依次获取数组中的每个元素,与max进行比较,如果arr[i]大于 max,更新max标记的最大值,数组遍历结束后,max中保存的即为数组中的最大值。代码实现#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() { //求最大值 int arr[10] = { 0 }; int i =原创 2021-08-27 11:13:47 · 122 阅读 · 0 评论 -
C语言初阶习题【6】分数求和
分数求和计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果思路从上述表达式可以分析出a. 该表达式主要由100项,基数项为正,偶数项为负设置一个循环从1~100,给出表达式中的每一项:1.0/i, 注意此处不能使用1,否则结果全部为0。 然后使用flag标记控制奇偶项,奇数项为正,偶数项为负。 然后将所有的项相加即可。代码实现#include<stdio.h> int main() { //分数求和 int i = 0;原创 2021-08-27 11:03:53 · 431 阅读 · 0 评论 -
C语言初阶习题【5】打印素数
打印素数题目内容写一个代码:打印100~200之间的素数思路素数:即质数,除了1和自己之外,再没有其他的约数,则该数据为素数。代码实现int isPrime(int num){ if (num == 0||num == 1) { return 0; } for (int i = 2; i < num; i++) { if (num % 2 == 0) { return 0;原创 2021-08-27 10:47:41 · 80 阅读 · 0 评论 -
C语言初阶习题【4】打印闰年
打印闰年题目内容打印1000年到2000年之间的闰年思路要求1000年到2000年之间的闰年,只需要知道求解闰年的方法即可。闰年的条件:如果N能够被4整除,并且不能被100整除,则是闰年。或者:N能被400整除,也是闰年。即:4年一润并且百年不润,每400年再润一次代码实现int isLeapYear(int year){if (year % 100 == 0){ //世纪闰年 if (year % 4 == 0) { return 0; }原创 2021-08-27 10:42:09 · 70 阅读 · 0 评论 -
C语言初阶习题【3】最大公约数
最大公约数题目内容给定两个数,求这两个数的最大公约数例如:输入:20 40输出:20解题思路辗转相除法思路:例子:18和24的最大公约数第一次:a = 18 b = 24 c = a%b = 18%24 = 18循环中:a = 24 b=18第二次:a = 24 b = 18 c = a%b = 24%18 = 6循环中:a = 18 b = 6第三次:a = 18 b = 6 c=a%b = 18%6 = 0循环结束此时b中的内容即为两个数中的最大原创 2021-08-27 10:36:03 · 127 阅读 · 0 评论 -
C语言初阶习题【2】打印3的倍数的数
打印3的倍数的数题目内容:写一个代码打印1-100之间所有3的倍数的数字代码实现#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>#include<stdlib.h>//写一个代码打印1-100之间所有3的倍数的数字 printf("1-100之间所有3的倍数的数字有:"); for (int i = 1; i < 100; i++) { if (i % 3 == 0) { printf("%d原创 2021-08-27 10:30:09 · 221 阅读 · 0 评论 -
C语言初阶习题【1】从大到小输出
从大到小输出写代码将三个整数数按从大到小输出。例如:输入:2 3 1输出:3 2 1int main(){//将三个数按从大到小输出int a, b, c, t;scanf("%d %d %d", &a, &b, &c);if (a < b){t = a;a = b;b = t;}if (a < c){t = a;a = c;c = t;}if (b < c){t = b;b = c;c = t;}p原创 2021-08-27 10:24:33 · 122 阅读 · 0 评论