目录
第一个C语言程序
一个标准的C语言程序
#include<stdio.h>
int main()
{
int a=0;
scanf("%d",&a);
printf("%d\n",a);
return 0;
}
上述代码是我们最经常用的代码,但是有些童鞋总是丢三落四,这里提醒大家几点:
1.写代码前如果用到了库函数,一定要先写它的头文件。比方说你要用scanf和printf函数,那你就要先写包含stdio.h的头文件。注意前面的#不能丢。
2.一句代码写完了一定要加上分号,因为加上分号电脑才知道这句话写完了,就像我们写完一句话要写句号一样。
3.scanf函数的使用,一定要在变量前面加一个取地址符&。因为scanf函数是把你输入的数据放在你开辟好的空间,所以给变量一个取地址符他就能知道你开辟的空间在哪里。
4.printf函数打印变量的格式一定要注意,标准的格式是printf("指定的数据类型",待打印的数据)
如果直接把变量a放到引号里,那计算机就只打印一个a,而不会打印a储存的值。。
5.函数要注意有没有返回值,如果是void类型的函数那就不需要返回值,如果是其他类型的函数则需要返回值,比方说上方代码的int main函数就需要一个整形作为返回值。经常有同学会把return 0忘掉。
6.main函数有且只能有一个。
C语言中需要注意的,和易错的地方还有很多,上面只是列举了一小部分,接下来会给大家更为详细的C语言各个章节的总结和期末易错题型的整理。
数据类型
整形 | char | 字符型数组 |
short | 短整型 | |
int | 整型 | |
long | 长整型 | |
long long | 更长的整型 | |
实型 | float | 单精度浮点型 |
double | 双精度浮点型 |
不同的数据类型用于存放不同的数据,比如你要计算小数那就要用到实型数据,那为什么实型数据后面还要分单精度和双精度呢,因为双进度比单精度更加精确同时占用的内存也更大。
说到内存,这里就要谈到数据类型与储存占用空间的关系了。我们用sizeof函数来计算每个类型占用的内存空间,这里不必深究sizeof函数,我们只需要知道它是用来计算内存大小的。
我们内存的单位是字节,所以char占用的空间是1字节,以此类推。
有些同学对字节的大小没有概念,我们再来详细的说一下内存的单位。
计算机能够识别的是二进制,在二进制中我们只有0 1两个数字,那么比方说我们用一个小小的格子在存放一个二进制数字,要么是0,要么是1,那这个格子就叫一个比特(bit),比特是计算机中最小的储存单位。
后来有人发现1和0两个数可以储存的东西太少了,所以我们有了字节(byte),比特和字节的关系是一个字节=8个比特,字节之上就是kb了,1KB=1024byte,再往上就是我们熟悉的MB了,同样的1MB=1024KB,后面还要GB,1GB=1024MB,依次类推。
研究他的大小是非常有必要的,如果存放的数据比他的储存空间大,那就会导致溢出,而储存的数据比储存空间小很多,又会导致内存浪费。所以要在适合的类型里存放适合的数据,就要知道他们的储存大小。
类型的使用:
int num=20;
char ch='b';
double pie=3.141;
注意用char类型存放单个字符要用单引号,但是用char类型存放字符串或者汉字要用双引号。
变量、常量
变量:
1.变量的命名
上一个代码写的num,ch,pie就是我们说的变量,顾名思义,变量就是可以改变的量,但是变量的命名是有一定章法的:
只能由字母(包括大小写)、数字、下划线组成
不能以数字开头
长度不能超过63个字符
变量名中区分大小写
变量名不能使用关键字
变量不能以数字开头这是经常考的知识点,怎么记呢?我举个例子,你能叫一个人2b吗,和谐社会你怎么能叫人2b呢?所以我们给变量命名也不能叫它2b,不能叫他2b就是不能说以数字开头。
2.局部变量
顾名思义,局部变量就是局部范围内的,也就是我们大括号内部定义的变量
#include<stdio.h>
int a1=1000;
int main()
{
int a2=10;
printf("%d\n",a2);
return 0;
}
大括号里的a2就是我们说的局部变量,因为它在一个大括号里。
3.全局变量
全局变量就是在大括号外定义的变量
#include<stdio.h>
int a1=1000;
int main()
{
int a2=10;
printf("%d\n",a2);
return 0;
}
第一个a实在大括号外定义的,那么它就是全局变量,而第二个a实在大括号内部定义的,那么他就是局部变量。
但是有些同学看到定义了两个a会有