【前言】本文主要是为了记录我学习C语言一路走下来的 心得笔记,在勉励自己的同时希望可以为刚入门的小极客提供一定的帮助。编程人人皆可学!
【编译器】个人推荐:
①Dev-C++ 5.11:入门产品,对于刚刚学写代码的萌新还是比较友好的。下载与安装很方便,且完全免费。
②Visual Studio 2019:功能与体积一样强大,有一定熟练度后用起来会非常舒服。
【提示】本文部分知识点参考:C语言编程入门指南–电子工业出版社。
博主还是萌新,不足之处请多多指正
一、C语言开发流程
二、C语言的关键字
三、C语言的标识符
用来标识变量名、常量名、函数名和数组名的“名字”,被称为标识符。
规定:
①标识符必须以字母或下划线开头,不能以数字或符号开头。除开头外其他位置都可以由字母、数字或下划线组成。
②标识符不能是关键字。
③标识符区分大小写,英文字母大小写代表不同的标识符
④标识符的命名建议由一定的含义。
四、数据类型
(其中整型变量存在无符号数,例如:[signed] int,编写时signed关键字省略,对应无符号的 unsigned int 中 unsigned关键字,使用时不可省略)
不同类型在内存中占据不同字节大小,此处不作详解。
五、变量的存储类别
(1)auto 变量
auto修饰一个局部变量为自动的,每次执行到定义该变量的代码时,都会产生一个新的变量,并且对这个变量初始化。例:
#include <stdio.h>
void Addone(){ //定义加一函数
auto int i = 1; //定义auto型的整型变量
i = i + 1;
printf("%d\n", i);
}
int main(void){
printf("第一次调用:");
Addone(); //调用Addone函数
printf("第二次调用:");
Addone(); //调用Addone函数
return 0; //结束程序
}
程序运行结果:
(2)static 变量
static变量为静态变量,作用域仅限于声明变量的函数里,但在语句块执行期间,static修饰的变量将始终保持它的值,并且初始化操作只在第一次执行时有效,在随后的运行中,变量将保持上一次执行时的值。例:`
#include <stdio.h>
void Addone(){ //定义加一函数
static int i = 1; //定义static型的整型变量
i = i + 1;
printf("%d\n", i);
}
int main(void){
printf("第一次调用:");
Addone(); //调用Addone函数
printf("第二次调用:");
Addone(); //调用Addone函数
return 0; //结束程序
}
程序运行结果:
(3)register 变量
register变量称为寄存器存储类变量。使用register变量的目的在于让程序员把指定的某个局部变量存放在计算机的某个硬件寄存器中,而不是放在内存中。好处是可以提高程序的运行速度,但用户无法获得寄存器变量的地址。例:
#include <stdio.h>
int main(void){
register int i = 100; //定义
printf("i = %d", i);
/*
printf("%p", &i);
显示变量i的地址,这里会报错,地址缺失
*/
return 0; //结束程序
}
程序运行结果:
(4)extern 变量
一个工程是由多个C源文件组成的。这些源文件分别编译,然后链接成一个可执行模块。extern变量称为外部存储变量,声明了程序中将要用到但尚未定义的外部变量。通常,外部存储类都用于声明在另一个转换单元中定义的变量。例:
源文件代码块1:
#include <stdio.h>
int My_Extern = 100; //初始化My_Extern变量
源文件代码块2:
#include <stdio.h>
extern int My_Extern; //声明外部整型变量
int main(void){
printf("My_Extern = %d", My_Extern);
return 0; //结束程序
}
程序运行结果:
六、C语言中的运算
(1)算术运算
注意:
①取模运算符“%”仅用于计算两个整数相除得到的余数,并且取模运算后结果也为整数。
②不同类型的数据运算会先进行类型转换,再进行运算
(2)自增/自减运算符
例1:
#include <stdio.h>
int main(void){
int b = 0;
int a = 1;
b = a++;
printf("b = %d\n", b);
printf("a = %d", a);
return 0;
}
运行结果:
例2:
#include <stdio.h>
int main(void){
int b = 0;
int a = 1;
b = ++a;
printf("b = %d\n", b);
printf("a = %d", a);
return 0;
}
运行结果:
(注意:自减运算符与自加运算符同理)
(3)关系运算符
(判断成立若为真,即是1;反之若为假,即是0)
(4)逻辑运算符
(5)位逻辑运算符
(6)运算优先级
附1:
C语言中常用输入输出格式及转义字符