目录
前言
一、第一个C语言程序:Hello,World
二、数据类型
三、变量与常量
1、变量
1)变量的定义
2)全局变量与局部变量
2、常量
1)字面常量
2)define定义的常量
3)const修饰的常变量
4)枚举常量
前言
这是一篇偏笔记性质的文章,因此在学习C语言过程中可能会遇到的一些问题也会一同列进去。
自学C语言时建议选择一些合适的视频来辅助学习。这里推荐两个,一个是MOOC慕课翁凯的C语言程序设计和B站鹏哥的C语言编程。
C语言程序设计_浙江大学_中国大学MOOC(慕课) (icourse163)
C语言编程2021C语言零基础视频教程C语言入门初学者小白C语言考研C语言专升本C语言期末考试不挂科C语言程序设计C语言期末突击C语言视频教程谭浩强)_哔哩哔哩_bilibili
我自学时选择的是鹏哥的视频,所以这篇文章的大部分内容也都是来源于我听鹏哥课时的笔记。
完成本文章的所有内容会花上一些时间。
一、第一个C语言程序:Hello,World
#include <stdio.h>//头文件
int main()//主函数
{ //花括号内的是函数体
printf("Hello,World");//使用头文件stdio里的库函数printf将Hello,world输出到屏幕上
return 0;//结束程序并返回
}
这是一个大多数C语言初学者的第一个C语言程序,我们可以通过这个程序简单了解C语言并帮助初学者写出自己的第一个C语言程序。
- #include 是一个预处理命令,用于引用头文件。
- //双斜杠指此行在//后的内容为注释。注释是程序员写给自己或别人的,防止看不懂代码。计算机会自动跳过注释,所以你写多长都没关系。(写注释可是一个好习惯,工作了就另说~)
- <stdio.h>表明引用的头文件是stdio。头文件名输入至<>尖括号内,后缀.h表示stdio是头文件。一些常见的库函数(如上方的printf)均包含在stdio.h里面。
- int main() 中的int表示返回类型为整型,可以理解为数学中的整数。main是主函数,一个程序只能有一个main函数。
- {}花括号的里面是函数体。程序大都写在花括号内。
- printf是一个头文件stdio.h中声明的库函数,作用是将双引号里的内容Hello,World输出到屏幕上
- ;分号表示此行代码结束,计算机会立即读取下一行代码。
- return:0表示程序程序结束并返回。因为主函数是返回类型是整型,所以是返回一个整数0;
注意:所使用符号皆为英文符号,否则程序无法运行
现在你可以试着打出你的第一个C语言程序并向世界问好了。
二、数据类型
数据类型主要用于定义合适的变量(后面会讲到什么是变量)。
数据类型 | 中文名 | 大小(单位:字节byte) |
---|---|---|
int | 整型(即整数) | 4 |
short | 短整型 | 2 |
long | 长整型 | >=4 |
long long | 超长整型 | 8 |
char | 字符型 | 1 |
float | 单精度浮点型 | 4 |
double | 双精度浮点型 | 8 |
例如:要定义一个整型变量a,就可以用int数据类型;如果要定义一个浮点型变量就需要用到float浮点型;字符型变量自然就要用到字符型char。
其中浮点型(理解成数学中的小数就可以了)又可以分为单精度和双精度,区别是双精度的位数更多。
整型也有短整型、整型、长整型、超长整型之分,同样是为了方便程序员选用合适的数据类型。
这里浅谈一下计算机中的单位,帮助初学者建立认知。
最小的单位为比特bit,然后是字节byte,kb,mb,gb,tb。
1byte = 8 bit; 1kb = 1024byte;1mb = 1024kb;1gb = 1024mb; 1tb =1024gb。
注:1024即2的10次方
可以用库函数sizeof()来查看各种数据类型的大小。
#include <stdio.h>
int main()
{
printf("int的大小=%d\n",sizeof(int));
printf("short的大小=%d\n", sizeof(short));
printf("long的大小=%d\n", sizeof(long));
printf("long long的大小=%d\n", sizeof(long long));
printf("char的大小=%d\n", sizeof(char));
printf("float的大小=%d\n", sizeof(float));
printf("double的大小=%d\n", sizeof(double));
return 0;
}
- %d是format标签,会被后方附加参数中的指定值替换。d是格式字符,指替换值是整型。不同数据类型使用的格式字符不同。
格式字符 | 对应类型 |
---|---|
d | 整型 |
f | 单精度浮点型 |
lf | 双精度浮点型 |
c | 单个字符 |
s | 字符串(后面会讲) |
- \n是转义字符,表示换行。
三、变量与常量
1、变量
1)变量的定义
变量即可变的量,它的值是可以改变的。
- 定义变量的一般格式为:数据类型 变量名 = 所赋值
- 可以不赋值直接定义:数据类型 变量名
int i = 1;//定义一个整型变量i,赋值1
float f = 0.1//定义一个单精度浮点型变量f,赋值为0.1
char ch = 'a';//定义一个字符型变量ch,赋值为a
int b;//不赋值,直接定义
注意:定义字符型变量时所赋的值需用''单引号括起来
变量名,常量名和函数名等统称为标识符。标识符的命名需遵循以下规则:
- 标识符名只能由英文字母,下划线和数字组成,且只能由下划线和字母开头
- 英文字母区分大小写
- 标识符名不可以是关键字,像printf和int这种在C语言中有特殊含义的单词就是关键字,在命名时不可与它们相同
下面用scanf函数来简单说明变量的值可以被改变的好处:
#include <stdio.h>
int main()
{
int a = 1;//定义一个变量
printf("原变量为%d\n", a);
scanf("%d", & a);//输入3(或者其他整数)
printf("改变后的变量为%d\n", a);//变量值被改变
return 0;
}
scanf函数的使用与printf类似,但注意需要在附加参数前加一个&
注意:scanf函数具有缺陷,所以有一些编译器会弹出警告,可以用如下方法解决:
- 在代码第一行添加 #define _CRT_SECURE_NO_WARNINGS 1来屏蔽警告。
#define _CRT_SECURE_NO_WARNINGS 1//要写在第一行
- 如果是VS编译器可以用scanf_s来代替scanf,但是scanf_s函数只能在VS编译器中使用,其他编译器无法使用。
2)全局变量与局部变量
全局变量即定义在main函数之外的变量,局部变量即定义在main函数之内的变量。
#include <stdio.h>
int q = 1;//全局变量
int main()
{
int j = 2;//局部变量
return 0;
}
全局变量在整个.c源文件中都可以使用,不同的源文件则需要用extern声明一下。
int a = 0;//在一个源文件中定义一个全局变量
extern int a;//在另一个源文件中声明一下即可在该源文件中使用此全局变量
2、常量
常量即不可变的,无法修改的量。
常量有以下几种
1)字面常量
字如其名是直接打在程序里的常量。
233//字面常量
aaaa//字面常量
2)define定义的常量
同样可以赋值或不赋值。
#define d 1//赋值
#define e//不赋值
3)const修饰的常变量
在定义的变量前加一个const就是常变量。但需注意const修饰的的常变量只是让变量具有了常属性,其本质仍然是一个变量。
const int a = 1;//const修饰的常变量
4)枚举常量
枚举常量用来定义可被一一列举的量。
枚举常量的值从0开始递增。
#include <stdio.h>
int main()
{
enum Three//定义3个枚举常量
{
first,
second,
third
};
printf("first的值=%d\n", first);//first的值为0
printf("second的值=%d\n", second);//second的值为1
printf("third的值=%d\n", third);//third的值为2
return 0;
}
可以用创建好的枚举常量进一步创建变量
enum Three one = first;//进一步用它创建变量
更多推荐
C语言基础(一)
发布评论