一.什么是c语言?
C语言是一种用途广泛的过程性编程语言
1.特性又是什么
- 源代码的可移植性
- 提供”非常接近硬件“的操作能力
- 高效率
2.C语言结构?
-
第一个c语言程序
int main() //main有且仅有一个,程序的入口;
{
printf("Hello Word");
return 0;
}
二.数据类型
数据类型 | 名称 | sizeof 大小()字节 |
int | 整形 | 4 |
short | 短整型 | 2 |
long | 长整形 | 4 |
long long | 更长整形 | 8 |
char | 字符型 | 1 |
float | 单精度浮点型 | 4 |
double | 双精度浮点型 | 8 |
- C语言没有字符串类型!
- C语言也可以自己定义类型
自定义类型
结构体---sturct
枚举----enum
typedef
三,变量与常量
变量是变化的数据
常量是不变化的数据
变量:
全局变量
局部变量
- 定义一个相同的局部变量和全局变量,输出什么?
#include <stdio.h>
int a = 2019;// a就是定义了一个int型变量 全局变量
int main()
{
int b = 2018;//局部变量
int a = 2020;//局部变量
printf("a = %d\n", a);//a=2020;局部变量优先被使用
return 0;
}
作用域:
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期:
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。
常量
- 字面常量
- const 修饰的常变量
- #define 定义的标识符常量
- 枚举常量
#include <stdio.h>
//举例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
//字面常量演示
3.14;//字面常量
1000;//字面常量
//const 修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14;//是不能直接修改的!
//#define的标识符常量 演示
#define MAX 100
printf("max = %d\n", MAX);
//枚举常量演示
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//注:枚举常量的默认是从0开始,依次向下递增1的
return 0;
}
- 上面的pai本身是个变量,经过const修饰本质上还是变量,曰常变量
四,字符串
- ”Hello Word“ -双引号引起来为字符串
- ’A‘----单引号为字符
字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = {'b', 'i', 't'};
char arr3[] = {'b', 'i', 't', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);//无\0打印出来的的啥也不是;
printf("%s\n", arr3);
return 0;
}
转义字符
转义字符 | 释义 |
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\' | 用于表示字符常量 |
\“ | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符。 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个八进制的数字。 |
\xdd | dd表示2个十六进制 |
语句:
选择语句
if--else
循环语句
while
do ... while
for
函数
#include <stdio.h>
int Add(int x, int y)
{
int z = x+y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
printf("sum = %d\n", sum);
return 0;
}