![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言成长之路
Lee Neo
稚晖的小迷弟。
展开
-
C语言总结
数组数组变量a==指针;指针也可以进行数组[]运算;#include<stdio.h>int main() { int a[3]={0,1,2}; /int a[]相当于int *const a int *p=a; / 数组变量本身a表示地址,取地址时无需& int *pi=&a[1]; / 数组单元表示变量,取地址需要& printf("p[0]%d\npi[0]%d\n",p[0],p原创 2022-04-09 22:03:24 · 1381 阅读 · 1 评论 -
价值15元的C语言项目-学生管理系统2(Manage)
* 收获:* 1:建立双向链表套路:创建节点空间->节点赋值->在链表尾部插入节点* 2:遍历链表:参数合法性检查;定义临时节点pTemp;while()遍历;* 3:链表查询,搜索:遍历链表中配合if实现查询,搜索等。* 4:删除链表:节点数减一,记录链表头,删除节点,释放节点空间,恢复pT;* 5:链表写入文件,从文件读取链表;* 6:释放链表:释放除head外的所有节点*7:产生任意范围的随机数:参见“考试指令”中随机数的生成;原创 2021-09-09 22:28:41 · 137 阅读 · 0 评论 -
价值15元的C语言项目-学生管理系统1(Login)
收获:1:return可跳出当前程序,break跳出当前循环2:读入数据与设定的类型不同,需清空输入缓存区;办法参见default;3:文件遍历操作:fopen_s,while((!feof(pFile)){fread},fclose;4:写文件:fwrite;5:sleep()暂停函数,头文件为Windows.h6:光标位置函数;7:字符串不能直接赋值与比较,需strcpy_s,strcmp;原创 2021-09-09 22:23:18 · 365 阅读 · 0 评论 -
return 与break
输入非法值时;输入正常值return 函数会直接跳出当前程序,不会执行下面的程序,具有终止,跳出的效果;例如下面程序中return可以跳出while(1)死循环;#include<stdio.h>#include<stdbool.h>bool f(void);int main(void) { if(f()) { printf("真"); } else printf("假"); return 0;...原创 2021-09-07 21:24:11 · 411 阅读 · 0 评论 -
win32窗口 搭建
//-------win32 窗口项目--------// 头文件#include<Windows.h>#include <TCHAR.h>LRESULT CALLBACK WinProc(HWND hWnd, UINT uID, WPARAM wParam, LPARAM lParam);//主函数int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPreInstance, _In_ L.原创 2021-08-29 23:22:14 · 170 阅读 · 0 评论 -
c进阶-函数的指针
指向函数的指针变量定义:类型说明符 (*指针变量名)(函数参数表列)int (*pf)(int,int);通过指针变量调用函数(*指针变量名)(实参表)c=(*pf)(a,b);用指向函数的指针作为函数参数#include<stdio.h>int plus(int a,int b){ return a+b;}int minus(int a,int b){ return a-b;}void cal(int(*f)(int,int).原创 2021-08-24 22:56:56 · 83 阅读 · 0 评论 -
c进阶-全局变量、静态本地变量、编译预处理指令、 大程序结构
静态本地变量:static具有全局的生存期,函数内的局部作用域宏定义:内置的宏定义__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严格遵循ANSIC标准时该标识被赋值为1;宏定义可以构建的复杂,甚至产生函数;#define PI 3.14 //不带参数的宏定义;#define...原创 2021-08-23 23:17:48 · 126 阅读 · 0 评论 -
c进阶——链表介绍及综合操作
动态链表所需的一些函数malloc函数(类型说明符*)mallco(size)函数功能是在内存的动态存储区分配出一块长度为size的连续空间;函数返回值为指向该空间起始地址的指针;函数原型的指针类型为void,若未能成功执行则返回空指针,NULL;(类型说明符*)用于将指针强制转换类型;p=(struct *)mallco(sizeof(struct student));//申请“struct student"类型长度的空间,并把该空间的起始地址赋值给p;free函原创 2021-08-20 23:51:36 · 153 阅读 · 0 评论 -
c进阶-结构数组、结构中的结构、typedef
结构数组:struct date dates[100];struct date dates[]={{4,5,2015},{2,4,2005}};#include <stdio.h>struct point { int x; int y;};struct rectangle{struct point p1;struct point p2;};void printrect(struct rectangle r){ printf("&l原创 2021-08-16 22:10:21 · 85 阅读 · 0 评论 -
c进阶-结构体
**目的:**将不同类型的数据组合成一个有机整体定义:形式1struct point{ int x; int y;};struct point p1,p2;形式2struct point{ int x; int y;}p1,p2;形式3struct { int x; int y;}p1,p2;初始化:#include<stdio.h>int main() { struct point {原创 2021-08-13 23:15:33 · 137 阅读 · 0 评论 -
C进阶-day1-枚举
目标:制作一个游戏枚举:z原创 2021-08-09 22:50:40 · 109 阅读 · 0 评论 -
c-day13-期末小结
常识:// 注释一行 ; /* */ 可跨行-Ctrl-/ 行注释掉/取消行注释-Ctrl-shift-/ 块注释/取消块注释数组变量本身是特殊的指针编程习惯类:if和else后面总是用{},即使只有一条语句时。抛弃一切用void main编写C程序的习惯!初级算法:if:找零钱程序的基本结构#include <stdio.h>int main(){ // 初始化 int price = 0; int bill = 0; /原创 2021-07-15 09:44:28 · 81 阅读 · 0 评论 -
c-day12-字符
char %c 'a'char buffer[]空字符串没法放任何字符。原创 2021-07-14 20:52:37 · 105 阅读 · 0 评论 -
c-day11-指针
运算符sizeof :可以给出某个类型或者变量在内存中所占据的字节数。sizeof(a)sizeof(double)运算符&:获取变量的地址int i;printf("%p",&i);**指针 *p ** :保存地址的变量int i=6;int *p=&i;//把i的地址传递给指针变量p*p=10;//访问i的地址p,对i直接进行读写操作函数参数表中的数组是指针下面两种方式等价:void min_max(int a[], int length)原创 2021-07-12 21:49:07 · 76 阅读 · 0 评论 -
c-day10-二分法检索算法
二分法:二分法搜索极其具有效率。n个数的搜索次数为log2n二分法算例:#include<stdio.h>int search(int key, int a[], int length); //声明int search1(int key, int a[], int length);int min_max(int a[], int length);int main() { int a[] = { 0, 1, 5, 4, 2, 7, 50, 8, 6, 11原创 2021-07-11 23:07:50 · 144 阅读 · 0 评论 -
c-day9-数组
二维数组定义int a[3][5];//通常理解为a是一个3行5列的矩阵; 初始化int a[][5]={ //列数必须给出,行数可以省略 {1,2,3,4,5}, {2,5,4,6,8}, //每行一个{},后面,分割};数组大小:sizeof (a)/sizeof(a[0]);搜索算法#include<stdio.h>int search(int key, int原创 2021-07-10 21:55:53 · 78 阅读 · 0 评论 -
c-day8-函数
int main ()与void main():按照新的C99标准,即使函数本身没有定义返回值,编译器也会加上,以返回给激发程序,运行状态。很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* … * / } is not and never has been C++,原创 2021-07-09 21:35:42 · 96 阅读 · 3 评论 -
c-day7-数组与函数
三大热门编程语言:C:系统底层,驱动,嵌入式开发Java:网页,企业级开发,普通应用软件,游戏后台Python:动态解释型,开发效率高,开源灵活,入门门槛低如何记录很多数?数组定义:数组特点:注意:数组从 0开始编号有效的下标范围(编译器查不出来,会造成程序有时可以运行有时崩溃。)算例:#include<stdio.h>int main() { int i; int num[10]; int x; for(i原创 2021-07-08 23:31:44 · 98 阅读 · 0 评论 -
c-day6-循环控制
一、判断素数:#include<stdio.h>int main(){ int x,i; int isprim=1; scanf("%d",&x); for(i=2;i<x;i++) { if(x%i==0) { isprim=0; break; } } if(isprim==1) printf(原创 2021-07-07 21:17:30 · 81 阅读 · 0 评论 -
c-day6-编程快捷键
编程快捷键: - Ctrl-tab 切换页面 - Cmd-j 合并一行 - Ctrl-L 选择当前行 - Ctrl-d 选中当前单词,继续敲可以选中多个 - Ctrl-/ 行注释掉/取消行注释 - Ctrl-shift-/ 块注释/取消块注释 - Ctrl-]/[ 缩进 - Tab 向前缩进 - Shift+Tab 回退一个制表符 - Ctrl-enter/Shi原创 2021-07-07 15:28:56 · 90 阅读 · 0 评论 -
c-day5 2021-07-06
书籍《夜深人静写算法》 和 《C语言入门100例》原创 2021-07-06 22:33:08 · 117 阅读 · 0 评论 -
c-day3
条件判断if和else后面要用{}(可以明确区分判断条件以及在相应条件下的执行程序,使程序结构更加清晰。)c语言注释:// /* */#include <stdio.h>int main(){ // 初始化 int price = 0; int bill = 0; // 读入金额和票面 printf("请输入金额:"); scanf("%d", &price); printf("请输入票面:"); scanf("%d", &bill); // 计算原创 2021-07-05 22:54:10 · 77 阅读 · 3 评论 -
c-day4
逻辑类型和运算tip:{if和else后面总是用{},即使只有一条语句时。}级联else if:正常:#include<stdio.h>int main(){ int x,y; scanf("%d",&x); if(x<0) { y=4*x; } else { if(x<5) { y=5*x; } e原创 2021-07-05 22:27:56 · 89 阅读 · 0 评论