C语言入门(2/100)
-
在 Day 1 的了解中,对于C语言的大致背景进行了初步的了解——对于C语言是什么、做什么的、为什么要学等多方面进行了兴趣的铺垫;
-
在今天 Day 2 的学习中,结合
hello world
等经典范例与适宜的案例代码
,对于C语言的初步入门开展了基本的知识面覆盖。-
良好习惯与
规范
; -
编程语言中
注释
的使用; -
C语言的
基本语法
; -
固定结构(
包含头文件
、主函数
).main
函数printf()
语句- C语言
关键字
与数据类型
变量
的定义与赋值(标识符
、变量值)常量
的定义与赋值
-
一、习惯养成:
1.1 规范
- 一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行;
- 函数体内的语句要有明显缩进,通常以按一下 Tab 键为一个缩进;
- 括号要成对写,如果需要删除的话也要成对删除。 当一句可执行语句结束的时候末尾需要有分号;
- 代码中所有符号均为英文半角符号;
- 注意注释的使用。
1.2 注释
- 注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流沟通;
- 注释是用来解释程序的。
C语言注释方法有两种:
单行注释:
//注释一行
- 作用范围: 从第二个斜线到这一行末尾
- 快捷键: Ctrl + /
多行注释:
/* 注释内容 */
- 作用范围: 从第一个/* 到最近的一个*/
- 使用范围:任何地方都可以写注释:函数外面、里面,每一条语句后面
注
:
- 多行注释不能嵌套多行注释
/*
北京欢迎你
/*为你开天辟地*/
北京欢迎你
*/
二、经典范例
The only way to learn a new programming language is by writing programs in it. The first program to write is the same for all languages:
Print the words:
“hello,world”
- 几乎所有程序员入门的第一段代码都是 “Hello World”;
- C语言的作者 Dennis Ritchie(丹尼斯 里奇) 在他的名著 < The C Programming Language > 中第一次引入, 传为后世经典, 其它语言亦争相效仿, 以示敬意。
2.1 hello,world
#include<stdio.h>
int main()
{
/*在双引号中间输入Hello World*/
printf("Hello World");
return 0;
}
三、 C语言的具体结构
简单来说,一个C程序就是由若干头文件
和函数
组成。
#include <stdio.h>
—— 预处理命令,- 作用:
- 找到尖括号
<>
(或者英文双引号)中的文件stdio.h
; - 将它包含到当前文件;
- 被包含的文件中的文本将替换源代码文件(就是我们正在编写的东西)中的
#include
指令
- 找到尖括号
stdio.h
—— 标准输入输出函数(standard input output.header)
- 作用:
简言之,
stdio.h
只是个名字,里面实际是大量代码的集合;
stdio.h
里的这些代码是后续编写所需的,它能帮我们实现某些功能
;
由于后续某个功能
会重复使用很多次,为简化,以#include
一行代码代替了后续的多次重复代码。
printf()
—— 格式输出函数,功能就是在屏幕上输出指定的信息return
—— 是函数返回值\n
—— 转义字符的换行符
四、知识点提取
4.1 主函数 —— main
函数
main 函数
就是程序的入口。- 一个C程序可以有多个函数,但有且只有一个主函数,即
main
函数。- 相当于手机可以有许多功能,“开机”“关机”“打电话”“发短信”等;
- 但必须想使用众多功能,必须先开机
- 如果一个程序没有主函数,则这个程序不具备运行能力。
int main()
{
// 在此插入代码
return 0;
}
int
代表主函数的类型;main
代表这个函数的名字叫做main;()
代表这是一个函数;{}
代表这个程序段的范围;return 0
代表函数执行完之后返回整数0;- 实际代表使程序退出
- 0的意思是程序正常退出;
4.1.1 区分 void
函数
- 一般声明变量时不用void类型声明,而函数通常用void类型声明
void
函数结果无返回值(无return 0
)
void main()
{
// 在此插入代码
}
4.2 变量与赋值
4.2.1 变量名(标识符)、变量值
- 变量就是可以变化的量,变量占据内存中一定的存储单元;
- 每个变量都会有一个名字 —— 标识符 or 变量名;
- 区分变量名和变量值是两个不同的概念。
4.2.2 标识符命名规则:
- 只能由字母(a~z、 A~Z)、数字、下划线组成
- 不能包含除下划线以外的其它特殊字符串
- 不能以数字开头
- 不能是C语言中的关键字
- 标识符严格区分大小写, test 和 Test 是两个不同的标识符
命名规范:
-
见名知意,能够提高代码的可读性:height, num
-
驼峰命名,能够提高代码的可读性
-
当变量名 或函数名是由多个单词连接在一起,构成标识符时,第一个单词以小写字母开始;第二个单词的首字母大写;
-
e.g.
myFirstName
、myLastName
,看上去就像驼峰一样此起彼伏
4.2.3 关键字
- 关键字,也叫作保留字。
- 指一些被C语言赋予了特殊含义的单词;
- 全部都是小写
- 在开发工具中会显示特殊颜色
- 因为关键字在C语言中有特殊的含义, 所以不能用作变量名、函数名等。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
char | short | int | long | float | double | if | else |
return | do | while | for | switch | case | break | continue |
default | goto | sizeof | auto | register | static | extern | unsigned |
signed | typedef | struct | enum | union | void | const | volatile |
4.2.4 定义变量
注意
:
- 使用变量之前必须先定义变量。
- 只有定义了变量才会分配存储空间, 才有空间存储数据
- 为什么要限定类型?
- 用来约束变量所存放数据的类型。
- 一旦给变量指明了类型,那么这个变量就只能存储这种类型的数据
- 内存空间极其有限,不同类型的变量占用不同大小的存储空间
变量定义的一般形式为:数据类型 变量名;
多个类型相同的变量:数据类型 变量名, 变量名, 变量名…;
4.2.5 变量赋值
可以利用=号
往变量里面存储数据
- 在C语言中,利用=号往变量里面存储数据, 我们称之为给变量赋值
int value;
value = 998; // 赋值
C语言中, 变量的第一次赋值,我们称为“初始化”
变量的赋值分为两种方式:
- 先声明再赋值
int value; value = 998; // 初始化
- 声明的同时赋值
int a = 10; int b = 4, c = 2;
注
:
- 在定义中不允许连续赋值,如
int a=b=c=5;
是不合法的。 - 赋值的时候,= 号的左侧必须是变量 (10=b, ×)
- 为了方便阅读代码, 习惯在
=
的两侧 各加上一个 空格 - 如何修改变量值?
- 多次赋值即可
- 每次赋值都会覆盖原来的值
int i = 10;
i = 20; // 修改变量的值
4.3 数据类型
C语言中,数据类型可分为:
-
基本数据类型
-
构造数据类型
-
指针类型
-
空类型四大类
最常用的整型, 实型与字符型(char,int,float,double)
4.4 格式输出语句 —— printf()
- 格式化输出语句(占位输出),是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。
- 最后一个字母 f 表示
format
- 使用 printf 输出一个或多个变量的值
- 格式:
printf(“输出格式符”,输出项)
;
printf("a = %类型",a);
输出单个变量:
int num;
num = 100;
printf("%d\n",num); //打印整型变量num
输出多个变量:
int a = 10, c = 11;
printf("a=%d, c=%d", a, c);
4.5 常量
在程序执行过程中,值不发生改变的量称为常量。
- C语言的常量可以分为直接常量和符号常量
- 直接常量(字面量):
- 整型常量:13、0、-13;
- 实型常量:13.33、-24.4;
- 字符常量:‘a’、‘M’;
- 字符串常量:”I love imooc!”
printf("%d\n",100); //整型常量
printf("%f\n",3.14); //实型常量
printf("%c\n",'A'); //字符常量
printf("I love imooc!");//字符串常量
注
:直接常量是可以直接拿来使用,无需说明的量
- 用一个标识符来表示一个常量,称之为符号常量。
- 符号常量在使用之前必须先定义
4.5.1 定义常量
符号常量:
- 一般形式:
#define 标识符 常量值
#include <stdio.h>
#define POCKETMONEY 10 //定义常量及常量值
int main()
{
// POCKETMONEY = 12; //小明私自增加零花钱对吗?
printf("小明今天又得到%d元零花钱\n", POCKETMONEY);
return 0;
}
符号常量不可以被改变。