第一节:什么是C语言?
人和人是通过汉语、英语、日语等进行交流的。而计算机语言就是人与计算机交流的语言,常见的有C / C++/ JAVA/ python/ Go等。而所学的C语言也是有国际标准的,如C89,C90,C99,C11等。计算机语言刚开始还不成熟用的是所谓的二进制语言,后来发展到了汇编语言,再后来是B语言,到现在的C语言,早期是有很多不成熟的,发展到现在可以说是技术的进步。
对于我们所买的电脑就是所谓的计算机是分为应用层,就是电脑所安装的应用软件,其次是操作系统分为Windows/Linux操作系统,操作系统驱动我们的电脑(硬件),由这些构成我们所使用的计算机;那么对于C语言的编译需要什么呢?编译器主要有:Clang、GCC、WIN-TC、SUBLIME、MSVC、TUrbo C等。怎样编写呢?1、创建一个项目 2、创建一个源文件 3、写代码 4、编译代码
C语言中常见的数据类型有:字符数据类型(char)、短整型(short)、整形(int)、长整型(long)、更长的整形(long long)、单精度浮点数(float)、双精度浮点数(double)等。它们所占空间大小依次是1、2、4、4、8、4、8字节。对于字节(byte)的感念,就不得不提到计算机中的单位了,最小的是bit——比特位,一个字节等于8个比特位,再就是1kb=1024byte、1mb=1024kb、1gb=1024mb、1tb=1024gb、1pb=1024tb....通过这些基础的了解和认识,我们就能够写出第一个我们自己写出的代码,在屏幕上打印“hello world"
int main()
{
printf("hello world");
return 0;
}
一个工程中有且仅有一个main函数,可以有多个.c文件但多个.c文件中只能有一个main函数。
字符串+转义字符+注释
注释:是来解释复杂的代码的,在C语言中,用/* */ 来使用,而在C++中常用双斜杠(//)来用。
转义字符:就是转变了它原来的意思,有了新的使用意思。例如想要打印打印一串字母ab\ncd: printf("ab\ncd");那么这里\n就转移成了C语言中换行的意思,所以打印出来的就是abcd。
字符串:字符串是由数字、字母、下划线等组成的一串字符。这里要提的是字符串在结尾的位置都隐藏了一个/0的字符。而/0是字符串的结束标志。
C语言中的变量与常量
常量:就是不能改变的量。 变量:能被改变的量。而变量分为局部变量和全局变量。
创造一个变量,首先是( 类型 变量的名字 = 0;——int age =20;)也可以直接写( 类型 变量的名字 ;——int age;)但是这种写法不推荐。为了便于理解下面我们用一串代码来说明
//int a = 100 就是全局变量-{}外部定义的
int a = 100 ;
int main ( )
{
//int a =10 就是局部变量-{}内部定义的
//当局部变量和全局变量名字冲突的情况下,局部优先。
//不建议把局部变量和全局变量的名字写成一样的。
int a = 10 ;
printf ("%d\n",a);
return 0;
}
操作符:
算术操作符:+ 、-、*、/、%(加、减、乘、除、取模)
移位操作符:<< 、>>(左移操作符、右移操作符)
位操作符:&、^、|(按位与、按位异或、按位或)
单目操作符:!逻辑反操作 & 取地址
- 负值 sizeof 操作数的类型长度
+ 正值 ~
-- 前置后置减减 ++ 前置后置加加
(类型) 强制类型转化
关系操作符:> 大于 < 小于
>= 大于等于 <= 小于等于
!= 不等于 == 用于测试相等
逻辑操作符:&& 逻辑与 || 逻辑或
条件操作符:exp1?exp2:exp3
逗号表达式:exp1,exp2,exp3, expn
常见的关键字
auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while
auto——是自动的(每个局部变量都是auto修饰的)。 extern——是用来声明外部符号的。
register——寄存器关键字。signed——有符号的(10、-20)。unsigned——无符号的。
static——静态的。 union——联合体(共同体)。 void——无、空。
static关键字:
- static修饰局部变量。
- static修饰全局变量。
- static修饰函数。
- static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,其他源文件不能使用!
- 全局变量在其他源文件内部可以使用,是因为全局变量有外部连接属性,但被static修饰后,变成内部连接属性,其他源文件就不能连接到这个静态的全局变量了!
- static修饰函数,使得函数只能在自己所在的源文件内使用,不能在其他源文件内部使用。本质上:static是将函数的外部连接属性变成了内部连接属性!(和static修饰全局变量一样)
define关键字:
#define定义常量和宏,define是一个预处理指令。
#define MAX 1000
int main()
{
//这里的MAX就被定义成了数字1000
printf("%d\n",MAX)
return 0;
}
C语言是结构化的程序设计语言!从而可以分为三类:一种是顺序结构、其次是选择结构、结循环构。对于所有的C语言编程,无疑都离不开这三种结构。
首先我们先看分支语句和循环语句,对于分支语句和循环语句想必大家都不陌生,从他们的字面意思可知,分支就像是一颗大树,有一颗总的树干,其他都是他的枝干,大树吸收营养使,是由树干将营养传送到各个枝干。这就形如我们的选择分支语句。而循环语句就是一直往返循环进行。那么在C语言中它们的语法结构式是什么呢?
if语句
1. if(表达式) 2. if(表达式) 3. if(表达式)
语句; 语句1; 语句1;
else else if(表达式2)
语句2; 语句2;
else 语句3;
switch语句
switch语句也是一种分支语句,常常用于多分支的情况。
switch(整形表达式)
{
语句项;
}
循环语句(while、for、do while)
1. while(表达式) 注:在while循环中,break用于永久的终止循环,continue的作用是跳过本
循环语句; 次循环continue后面的代码,直接去判断部分看是否进入下一次循环。
2. for(表达式1;表达式2;表达式3)
循环语句;
在for循环中表达式1代表的是初始化,而表达式2是判断,表达式3则是调整部分!
3. do
循环语句 do....while循环是先执行再判断;
while(表达式)
通过对语句的简单认识,下面我们实现在屏幕上打印从两端到中间的打印。
int main()
{
char arr1[]=" welcome to my home!!!";
char arr2[]="######################";
int left=0;
int right=strlen(arr1)-1;
while(left<=right)
{
arr2[left]=arr1[left];
arr2[right]=arr1[right];
printf("%s\n",arr2);
Sleep(1000);
system("cls");
left ++;
right--;
}
printf("%s\n",arr2);
return 0
}
对于C语言我只做了简单的叙述,使我们初步认识C语言,对于C语言还有更多知识等着大家去学习去思考去发掘。学习是一个循循渐进的过程,其中可能有迷茫,有失落,想放弃,但是我们要学会一步一个脚印踏踏实实,这样才能在学习的这条路上行稳至远。最后,希望所有学者都能更上一层楼。
cc