C语言从入门到进阶
夜寐_
把复杂问题简单化,把简单问题极致化。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第几天?(C语言)
https://acm.hdu.edu.cn/showproblem.php?pid=2005#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int Leap_year(int y){ if((y%4==0 && y%100!=0) || (y%400==0)) return 1; return 0;}int main(){ int mon[] = {31,29,31,30,31,30,31.原创 2021-08-29 14:50:15 · 165 阅读 · 0 评论 -
VS环境-C语言调试技巧
调试快捷键(调试时才能看到)F9——设置断点(代码执行后,停在断点处),和F5(跳到下一个断点处)连用。F10——逐过程,不进入函数内部F11——逐语句,进入函数内部(像printf这样的库函数不一定能看),shift+F11跳出函数内部。CTRL+F5——开始执行不调试shift+F9——快速监视shift+F5——停止调试窗口自动窗口——不用手动添加变量名,但是有些变量名会自动消失,不能自行添加变量名。局部变量——不用手动添加变量名,只能观...原创 2021-09-30 10:14:09 · 633 阅读 · 0 评论 -
求绝对值(C语言)
https://acm.hdu.edu.cn/showproblem.php?pid=2003#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ float a = 0; while(scanf("%f", &a) != EOF) { if(a < 0) a = -a; printf("%0.2f\n", a); } return 0;}原创 2021-08-29 14:00:39 · 2130 阅读 · 2 评论 -
小学生也能看懂的海伦公式推导
1.长方形面积的推导数学家规定:边长是一厘米的正方形面积是一平方厘米。边长是一分米的正方形面积是一平方分米。边长是一米的正方形面积是一平方米。图上的小格都为1cm的小格子,则长为7cm,宽为4cm。以宽来看,4个为一组,有七个这么一组,那就是 4*7 = 28个小格子都是1cm*1cm的正方形,一个小正方形的面积为一平方厘米,28个则为28平方厘米。 所以长方形的面积公式为:2.平行四边形面积的推导平行四边形能通过移动变成我们熟知的长...原创 2021-09-06 20:25:37 · 4283 阅读 · 2 评论 -
1.初识指针(C语言)
指针是个变量,存放内存单元的地址(编号)。感觉这边不是太透彻,先暂放。#include <stdio.h>int main(){ printf("%d\n", sizeof(char*)); printf("%d\n", sizeof(short*)); printf("%d\n", sizeof(int*)); printf("%d\n", sizeof(double*)); return 0;}指针类型...原创 2021-09-14 14:31:06 · 835 阅读 · 0 评论 -
C语言实现扫雷
https://www.bilibili.com/video/BV1oi4y1g7CF?p=20笔记基本框架-test.c#define _CRT_SECURE_NO_WARNINGS 1void menu(){ printf("***********************************\n"); printf("****** 1.play ***************\n"); printf("****** 0.exit ***********原创 2021-09-03 15:51:09 · 109 阅读 · 0 评论 -
鸡兔同笼抬腿法(C语言)
#include <stdio.h>int main(){ int x = 0;//x为个数 int y = 0;//y为脚的个数 scanf("%d%d", &x, &y); y = y - x*2; y /= 2; x -= y; printf("%d %d\n", x, y); return 0;}原创 2021-09-06 14:44:54 · 603 阅读 · 0 评论 -
C语言关于double的问题
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ double a = 5 / 2; printf("%lf\n", a); return 0;}double a = 5 / 2;为什么不是2.500000,是因为 5 和 2 都是整型,它们两个先除了才给了double类型a。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio..原创 2021-09-03 16:16:23 · 975 阅读 · 0 评论 -
C语言操作符(1)
易错点1)对于取模%操作符来说,两边必须是整型。2)对于 / 操作符如果两个操作数都为整数,执行整数除法;而只要有一个浮点数,执行的就是浮点数除法。一、移位操作符<< 箭头指向左手:左移操作符>>箭头指向右手:右移操作符注:移动的是二进制位,位数看数据类型。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int a = -1; int b = a原创 2021-09-05 20:14:43 · 855 阅读 · 0 评论 -
C语言操作符(2)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ short s = 0; int a = 10; printf("%d\n", sizeof(s = a + 5)); printf("%d\n", s); return 0;}sizeof()括号内部是不参与运算的,所以s还是0,它的类型是short,所以占2个字节。#define _CRT_SECURE_NO_WARNINGS 1.原创 2021-09-12 21:38:14 · 676 阅读 · 0 评论 -
成绩转换(C语言)
https://acm.hdu.edu.cn/showproblem.php?pid=2004#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int t = 0; while(scanf("%d", &t) != EOF) { if(t>=90 && t<=100) printf("A\n"); else if(t>=80 &&原创 2021-08-29 14:11:16 · 963 阅读 · 0 评论 -
计算两点间的距离(C语言)
https://acm.hdu.edu.cn/showproblem.php?pid=2001#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <math.h>int main(){ int x1 = 0; int x2 = 0; int y1 = 0; int y2 = 0; float d = 0; while(scanf("%d %d %d %d", &x1, &原创 2021-08-29 12:37:00 · 1867 阅读 · 0 评论 -
计算球体积(C语言)
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#define PI 3.1415927int main(){ float r = 0; float V = 0; while(scanf("%f", &r) != EOF) { V = 4*PI*r*r*r/3; printf("%.3f\n", V); } return 0;}球的体积公式推导暂放原创 2021-08-29 13:04:37 · 1212 阅读 · 0 评论 -
ASCII码排序(C语言)
https://acm.hdu.edu.cn/showproblem.php?pid=2000#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ char a = 0; char b = 0; char c = 0; char d = 0; char tmp = 0; while(scanf("%c%c%c", &a, &b, &c) != EOF) { if(a原创 2021-08-29 11:30:28 · 3126 阅读 · 7 评论 -
数据的存储(C语言)
整型和浮点型在内存中的存放有差异。原创 2021-11-25 08:53:09 · 570 阅读 · 0 评论 -
牛客网编程初学者入门训练讲解(C语言)
以十进制显示数字,使用%d;以八进制 显示数字,使用%o;以十六进制显示数字,使用%x。另外,要显示各进制数的前缀0、0x和0X,必须使用%#o、%#x、%#X。 ——《C Primier Plus》第六版#include<stdio.h>int main(){ printf("%#o %#0X", 1234, 1234); return 0;}...原创 2021-11-20 15:06:33 · 2128 阅读 · 0 评论 -
关于判断质数只需要到n/2或到根号n的原理
这个问题从我接触为止就成了我的心头结,现将其证明整理,感谢那些我为提供思路的同学,比如煌星。 首先1不是质数,1原本被数学家作为质数,但是有些特殊的数可以被几个质数相乘得到的结果相同,如果1是则有多解,任何答案它都可以插一脚,所以被数学家忍痛剔除。 质数的定义即为除1和本身外不能被其他数整除的数,带有特殊性质(质数)。 那么判断质数只要从2到本身前进行试除,能整除即不是。这是最基本的判断。 那么为什么只要判断到n/2呢?...原创 2021-11-23 10:14:10 · 5148 阅读 · 1 评论 -
关于void类型的指针
这里第 8 行,我们不需要进行显示的类型转换,这是合法的,不会报错。由于这种类型的指针没有映射到任何选定的类型的指针,所以我们不能直接对它进行解引用操作。如果我们对它进行算术运算,这会造成编译错误。...原创 2022-02-12 21:53:12 · 302 阅读 · 0 评论 -
刷力扣犯的一个愚蠢的错误
一个数组的中括号中是变量,这点我现前是知道的,但是,这个形参让我迷了眼。形参是会接收一个值的,但是这个值依旧是变量,不是常量。如果m+n = 0,就不有进行初始化。在力扣这边经过过理,只要把初始化的语句去掉就行。但是在vs2019中是不行的,这边是用C语言写的。...原创 2022-02-04 19:16:26 · 5430 阅读 · 0 评论 -
结构体(C语言)
#include <stdio.h>struct Stu{ char name[20]; short age; char tele[12]; char sex[5];};int main(){ struct Stu s; return 0;}struct:结构体关键字Stu:结构体标签struct Stu:结构体类型注意定义了一个结构体类型之后要加上分号。struct Stu s:创建结构体变量定义结构体类型——图纸创建结...原创 2022-01-24 14:22:02 · 242 阅读 · 0 评论 -
内存函数使用和剖析
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>#include <errno.h>#include <ctype.h>int main(){ int arr1[] = { 1, 2, 3, 4, 5 }; int arr2[5] = { 0 }; memcpy(arr2, arr1,...原创 2022-01-19 21:55:08 · 134 阅读 · 0 评论 -
2.初识指针(C语言)
如果你真的真的不知道指针指向什么,那么你可以这样~int* p = NULL;看我们把0强制类型转换成空指针.指针用完之后,指向空!原创 2021-12-04 17:48:35 · 634 阅读 · 0 评论 -
指针详解(C语言)
二维数组的数组名为第一行的地址,是一个一维数组的地址,而int*只能存一个整型的地址。OK原创 2021-12-04 17:48:03 · 581 阅读 · 0 评论 -
字符串函数的使用和剖析
1.strlen自己写#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>int my_strlen(const int* str){ assert(str != NULL); int count = 0; while (*str) { count++; str++; } return count;}原创 2022-01-10 12:30:05 · 3512 阅读 · 0 评论 -
字符函数&内存函数使用和剖析
strncmp#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>int main(){ const char* arr1 = "abcdef"; const char* arr2 = "abcccc"; int ret = strncmp(arr1, arr2, 4); printf("%d\n", ret); r原创 2022-01-19 11:32:36 · 478 阅读 · 0 评论
分享