一、C语言概念
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易 的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
二、数据类型
1、类型
char | 字符数据类型 | %c | 1字节 |
short | 短整型 | %s | 2字节 |
int(ubsigned) | 整形(无符号整型) | %d(%u) | 4字节 |
long | 长整型 | %d | 4字节 |
long long | 更长整型 | %d | 8字节 |
float | 单精度浮点数 | %f | 4字节 |
double | 双精度浮点数 | %lf | 8字节 |
2、常量与变量
(1)、常量
定义:不能改变的量。
常见常量:
- 字面常量(3.14)
- const 修饰的常变量(const char a = 1;)
- #define 定义的标识符常量(#define SE 4)
- 枚举常量(enum)
(2)、变量
除了常量都是变量。
补:局部变量与全局变量(局部变量优先,但是建议不要使用同一个名称变量)
三、字符串+转义字符+注释
1、字符串
char a[] = "hello";
注:字符串的结束标志是'\0'的转义字符。在计算字符串长度时,'\0'是结束的标志,不算在字符串的内容里。
示例:
int mian()
{
char arr[] = "hello";
printf("%d\n",sizefo(arr));//5
return 0;
}
2、转义字符
转义字符
|
释义
|
\?
|
在书写连续多个问号时使用,防止他们被解析成三字母词
|
\'
|
用于表示字符常量
'
|
\“
|
用于表示一个字符串内部的双引号
|
\\
|
用于表示一个反斜杠,防止它被解释为一个转义序列符
|
\a
|
警告字符,蜂鸣
|
\b
|
退格符
|
\f
| 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd
|
ddd
表示
1~3
个八进制的数字。 如:
\130 X
|
\xdd
|
dd
表示
2
个十六进制数字。 如:
\x30 0
|
3、注释
\\表示注释
示例
#define KEY 100\\表示标识符常量KEY的值为100
四、常见的C语言语句
1、选择语句(if)
int a = 0;
scanf("%d",&a);
if (0 == a)
{
printf("%c\n","hello");
}
else if (1 == a)
{
printf("%c\n","world");
}
else
{
printf("%c\n","您好");
}
2、循环语句
- while
int a = 0; while (10 > a) { printf("%d\n",a); a++; }
- for
int a = 0; for (a = 0;a < 10;a++) { printf("%d\n",a); }
- do...whlie
-
int a = 0; do{ printf("%d\n",a); a++; }while(a<10);
3、函数
int Add(int x,int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int a = 10;
int b = 20;
int c = Add(a,b);\\c=30
return 0;
}
4、数组
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
char ch[5] = {'a','b','c'}\\其余的0填充
5、操作符
单目操作符
逗号表达式
exp1, exp2, exp3, …expN(依次计算,输出最后的结果)
[] () . ->
6、常见关键字
auto break case char const continue default do double else enum
extern float for goto if int long register return short signedsizeof static struct switch typedef union unsigned void volatile while
(1)、typedef 顾名思义是类型定义,这里应该理解为类型重命名。
(2)、static
static 是用来修饰变量和函数的1. 修饰局部变量 - 称为静态局部变量2. 修饰全局变量 - 称为静态全局变量3. 修饰函数 - 称为静态函数void test() { //static修饰局部变量 static int i = 0; i++; printf("%d ", i); } int main() { int i = 0; for (i = 0; i < 10; i++) { test(); } return 0; }
注:1、 static 修饰局部变量改变了变量的生命周期, 让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。2、 一个全局变量被 static 修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。
(3)、define 定义常量与宏
#define Max 100
#define ADD(x,y) ((x)+(y))
7、指针(非常重要)
后面将会详细讲述。
8、结构体
struct stu
{
char name[10];
int age;
}
int main()
{
struct stu zlc = { "张三",20 };
printf("%c %d\n",zlc.name,zlc.age);
struct stu *z = &zlc;
printf("%c %d\n",z->name,z->age);
printf("%c %d\n",(*z).name,(*z).age);
return 0;
}
五、总结
要想学习好C语言,自己还有很长的路需要走。因此,每一个初学C语言的人都应该每天做完自己安排的任务:
1、15道编程基础选择题。
2、2-3道编程题(具体看难度)。
3、定期写一篇博客。
4、温故知新。