c语言笔记

基础

语句以分号结束

区分大小写

1 ****.****注释

|---------------------|
| //单行注释 /* 多行注释 */ |

2 ****.****头文件

扩展名为.h的文件,包含c函数声明和宏定义

3 ****.****输入输出

输出: printf() 、 putchar() 、

输入: scanf() 、 getchar()

|--------------------------------------------------------------------------------------|
| //Hello World ! #include<stdio.h> int main(){ printf("Hello World !"); return 0; } |

格式化输入输出:

printf(格式控制 ,输出表列);

scanf(格式控制 ,地址表列);

|------|----------------------------------|
| 格式控制 | 含义 |
| %d | 整型数据 |
| %c | 字节型数据 |
| %s | 字符串数据 |
| %f | 浮点型数据 |
| %i | 整型,在scanf中可以匹配八进制、十进制、十六进制表示的整数。 |
| %e | 指数形式 |
| %o | 八进制形式 |

|-------------------------------------------------------------------------------------------------------------------------|
| //比大小 #include<stdio.h> int main(){ int a,b,c; scanf("%d %d",&a,&b); c=a>b?a:b;//条件运算符 printf("%d",c); return 0; } |

****4.****变量常量

常量定义:

变量定义:

#define 标识符 常量

类型名 变量名

|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| //圆面积 #include<stdio.h> #include<math.h> #define PI 3.1415926 int main(){ int r; double s; scanf("%d",&r); s=PI*pow(r,2); printf("%.4f",s); return 0; } |

变量作用域

局部变量------在函数或语句块内定义的变量,只在范围内有效

全局变量------在main外定义,在整个程序有效

变量的存储方式

自动变量------auto,在调用结束时自动释放

auto int a=0; 默认声明变量的方式为auto

静态变量------static,保留原值,占有的存储单元不释放,并且静态变量有初值

static int a=0;

****5.****数据类型

整型: int 、 long int 、 short int

浮点型: float 、 double

字符型: char

6 ****.****运算符

算术运算符: + - * / %

赋值运算符: =

关系运算符: > < == >= <= !=

逻辑运算符: ! && | |

自增自减运算符: ++ --

条件运算符: ? :

求字节数运算符: sizeof()

|---------------------------------------------------------------------------------------------------------------------------------|
| //华氏温度-摄氏温度 //公式:c=5/9(f-32) #include<stdio.h> void main(){ float c;//华氏温度 int f=99;//摄氏温度 c=5.0/9*(f-32); printf("%f",c); } |

****7.****转义字符

|------|----------|
| 转义字符 | 含义 |
| \n | 换行 |
| \t | 用于对齐 |
| \b | 退格 |
| \\ | 代表一个"\" |
| \' | 代表一个单撇号 |

8 .ASCII

|----|---------------|
| 字符 | ASCII |
| 0 | 48 |
| 9 | 57 |
| a | 97 |
| z | 122 |
| A | 65 |
| Z | 90 |
| 空格 | 32 |

基本语句

1 .if语句

|------------------------------------------------------------------------------------------------------------------------------|
| //简单格式 if(表达式) 语句; //非真即假 if(表达式) 语句1; else 语句2; //多层判断 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; ...... else 语句n; |

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| //成绩判断 #include<stdio.h> int main(){ int num; scanf("%d",&num); if(num>=90) printf("优秀!"); else if(num>=70) printf("良好"); else if(num>=60) printf("合格"); else printf("继续努力,不要放弃!"); } |

2.s witch语句

|------------------------------------------------------------------------------------------------------------|
| //格式 switch(表达式){ case 常量表达式1:语句1;break; case 表达式2:语句2;break; ...... case 表达式n:语句n;break; default:语句n+1; } |

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| //成绩判断 #include<stdio.h> void main(){ int num; scanf("%d",&num); num=num/10; switch(num){ case 10: case 9:printf("优秀!");break; case 8: case 7:printf("良好");break; case 6:printf("合格");break; default:printf("继续努力,不要放弃!"); } } |

3 ****.****循环语句

while循环

|-------------------------------------------------------------------------------------|
| //先判断表达式,后执行循环体 while(表达式){ 循环体语句 } //先执行循环体,在判断表达式,循环体至少执行一次 do{ 循环体语句 }while(表达式) |

for循环

|------------------------------|
| for(表达式1;表达式2;表达式3){ 循环体语句 } |

相关推荐
RuoZoe2 小时前
重塑WPF辉煌?基于DirectX 12的现代.NET UI框架Jalium
c语言
AI软著研究员4 小时前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish4 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱5 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者21 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮21 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者1 天前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考1 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx1 天前
CART决策树基本原理
算法·机器学习
Wect1 天前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript