「c语言」学习笔记
前言
c语言是万物之源 🤪
语法篇
程序框架
#include <stdio.h>
int main(){
return 0;
}
常量与变量
-
常量
-
整型常量 - 如1,123,0,-7
-
实型变量
- 十进制小数形式 - 由数字和小数点组成,如1.2
- 指数形式 - 以字母e或E为底,如12.345e2(代表12.345乘10的二次方),12.345e-2(代表12.345乘10的负二次方)
-
字符变量
- 普通字符
- 转义字符
-
字符串常量 - 用双引号括起来的若干字符,「单引号只能包含一个字符,双引号可以包含一个字符串」
-
符号常量 - 用
#define
指令#define PI 3.1416
-
-
变量
- 先定义,后使用
-
常变量 - 关键字
const
const int a = 1;
-
标识符
数据类型
- 整数 - char、short、int、long、long long
- 浮点型 - float、double、long double
- 逻辑 - bool
- 指针
- 自定义类型
存储类 - 定义变量/函数的范围(可见性)和生命周期
- auto - 所有局部变量默认的存储类
- register - 用于定义存储在寄存器中而不是 RAM 中的局部变量
- static - 指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁
- extern - 用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的
运算符
算术运算符
+ - * / % ++ --
关系运算符
== != > < >= <=
逻辑运算符
&& || ! (与或非)
位运算符
赋值运算符
= += -= *= /= %= <<= >>= &= ^= |=
杂项运算符
- sizeof() - 返回变量的大小
- & - 返回变量的地址
*
- 指向一个变量?:
- 条件表达式
#include <stdio.h>
int main(){
int a = 1;
double b = 2.12;
int* ptr;
ptr = &a;
printf("变量a的值是:%d\n",a);
printf("变量b的值是:%f\n",b);
printf("变量a的大小是:%lu\n",sizeof(a));
printf("变量b的地址是:%d\n",*ptr);
}
判断
- if 语句
if(){}
- if…else 语句
if(){}else{}
- 嵌套if语句
- switch 语句
switch(){case...case...default:...}
- 嵌套switch语句
- 三元运算符
? :
#include <stdio.h>
int main(){
// if...else...
int a = 10;
if(a<20){
printf("a小于20 - %d\n",a);
}else{
printf("a大于20 - %d\n",a);
}
// switch
int grade = 80;
switch(grade){
case 90:
printf("牛逼,90分!\n");
break;
case 80:
case 70:
printf("不行啊,还要加油!\n");
break;
case 60:
printf("不能再摸鱼了,得支棱起来啊!\n");
break;
default:
printf("无效的成绩\n");
}
// ? =
int num = 5;
(num>10)?printf("这个数大于10\n"):printf("这个数小于10\n");
return 0;
}
循环
- 循环类型
- while循环
while(condition){}
- for循环
for(init;condition;increment){}
- do…while循环
do{}while()
- 嵌套循环
- 无限循环
for( ; ; ){}
- while循环
- 循环控制语句
- break - 终止循环或switch语句
- continue - 立即停止本次循环迭代,开始下次循环迭代
- goto - 将控制转移到被标记的语句
#include <stdio.h>
int main(){
int a = 1;
// while
while(a<5){
printf("a的值:%d\n",a);
a++;
}
// for
for(a;a<5;a++){
printf("a的值:%d\n",a);
}
//do while
do{
printf("a的值:%d\n",a);
a++;
}while(a<5);
// 无限循环
for( ; ; ){
printf("该循环会永远执行下去!\n");
}
return 0;
}
函数
-
每个c程序都至少有一个函数,即主函数main()
-
c语言的函数定义一般形式
return_type function_name(parameter list){ body of the function }
-
函数的组成部分
- 返回类型 - return_type是函数返回值的数据类型,如不返回值,则为void
- 函数名称
- 参数 - 参数可选,可不填入
- 函数主体 - 函数主体包含一组定义函数执行任务的语句
#include <stdio.h>
/*函数声明*/
int max(int num1,int num2){
if(num1>num2){
return num1;
}else{
return num2;
}
}
int main(){
int a = 1;
int b = 2;
int rel;
rel = max(a,b);
printf("%d",rel);
}
输入输出
-
printf()
-
scanf()
-
格式符
#include <stdio.h>
int main(){
float num;
printf("请输入一个数:");
scanf("%f",&num);
printf("%f",num);
return 0;
}