以下为自己的学习总结与学习笔记,可能有不全面不到位的地方,也欢迎大家一起分享指正。
C语言是世界上最流行、使用最广泛的高级程序设计语言之一,其主要的用途包括
1、编写系统软件、图形处理、单片机程序、嵌入式系统开发
2、编写游戏外挂
3、编写android程序
4、编写iOS程序
任何一个C语言的程序都是由一个或者多个程序段组成的,而这些有着自己功能的程序段就是函数了,说到函数,就不得不提main函数了,main函数似乎在计算机语言里是个常客,之前学过的C++,Java,可能这也就是计算机语言相通的地方。C语言的程序执行,首先是通过main函数,并且也只会执行main函数。
main函数中调用其他函数,printf函数往屏幕上输出信息,#include <stdio.h>调用系统自带的函数。
在C语言中执行程序为:1、编写代码 2、编译,即用clang编译器把代码编译为计算机能识别的0和1(指令:cc -c) 生成.o文件 3、链接,即把.o的目标文件跟系统自带的函数库合并在一起生成一个可执行文件 (链接器,指令:cc 文件名.o)
注:编译会检查语法是否正确,不会管程序是否能正常运行。链接时会考虑程序是否会正常运行(是否有main函数)
第一讲 C语言的基础知识
(一)关键字(较常用的)
int double float char short long unsigned signed void if while do case switch for continue break else enum typedf return default sizeof static
(二)标识符
在程序中自定义的一些符号和名称,用来和关键字区分开来。
命名规则:
1. 只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成
2. 严格区分大小写
3. 不能以数字开头
4. 不可以使用关键字做标识符
5.尽量起有意义的名称,并使用驼峰标识
(三)数据类型
1. 基本数据类型
整型:int 浮点型:double(双精度) float(单精度) 字符型:char
2. 空类型:void
3. 指针类型:void *
4. 构造类型
数组:str[] 结构体:struct 枚举:enum
(四)变量
变量的基本定义
1. 定义变量的目的:在内存中分配一块存储空间给变量,方便以后存储数据。
2. 格式:变量类型 变量名;例:int a;
实例:int main()
{
int a;
double b;
char c;
return 0;
}
第二讲 变量的作用域问题
变量的作用域问题:
变量的作用域在学习变量的知识时是需要格外注意的,变量的作用域是从定义变量的那行代码开始,一直到函数结束。
1 #include <stdio.h>
2
3 int test()
4 {
5 int a = 100; //变量a在test函数中定义,作用域到test函数中结束
6 return 0;
7 }
8
9 int main()
10 {
11 test();
12 a = 200; //这么写不行,变量a作用范围从定义开始到test函数结束,不可访问test函数里的变量a
13 return 0;
14 }
随着学习的深入,重新理解变量的作用域是从定义变量的那行代码开始,一直到所在的代码块结束,而代码块的作用则是及时回收不再使用的一些变量,为了提升性能。
对于变量的作用域问题的一个例子:
1 #include <stdio.h>
2 int main()//main函数中多个代码块
3 {
4 int a = 20;
5 int score = a + 100;
6 printf("%d\n", score);//输出120
7
8 {
9 int score = 50;
10 {
11 score = 10;//在此代码块中未定义变量score,因此会在其外层代码块中寻找并将其值赋值10.
12 printf("%d\n", score);//此处输出10.
13 }
14 a = 10; //此处同上,将外层代码块中的a赋值为10
15 }
16
17 {
18 score = a + 250;//上层代码块执行完就销毁了,a=10,因此外层代码块中score现在赋值为260.
19 int score = 30;
20 printf("%d\n, score");//此处就近输出30
21 }
22 printf("%d\n", score);// 虽然上层代码块已经销毁但赋值了score为260,此处输出260.
23 return 0;
24 }
本章学习总结:
C语言作为一门计算机语言跟之前所学的java有很多的相通的地方,但是C语言是一门弱语言,可能在编程写代码时不像java有那么多的规范,也很严谨,稍有不慎就会报错,C语言不会这样,这就需要我们平时多做总结,并且加强学习和练习来巩固知识。本章学习了C语言的一些基础知识,包括在C语言程序的编译链接的一些基础原理,以及C语言的关键字,标识符,数据类型,变量等基础知识,其中变量的作用域是重点,所以单独拿出来作为一讲,需要注意变量的作用域在其定义变量的那行开始到所在的代码块结束,一定要领会变量作用域的范围,若要深入体会这就需要今后的多加练习。