一. 什么是C语言?
c语言是一种计算机编程语言,广泛应用于底层开发。
二. 认识第一个c语言程序
#include<stdio.h>
int main()
{
printf("Hello World\n"); // \n是换行的意思
//在屏幕中打印一个Hello World
return 0;
}
printf是c语言中的标准输出函数,属于c语言的库函数,使用这个函数需要引入头文件 <stdio.h>
main是c语言中的主函数,只能有且仅有一个main函数。
三. c语言中的数据类型
short 短整型 大小为2个字节
int 整形 大小为4个字节
long 长整型 大小为8个字节
char 字符数据类型 大小为4个字节
float 单精度浮点型(就是小数) 大小为4个字节
double 双精度浮点型 大小为8个字节
ps:一个字节大小为8个bit位
四. 变量、常量
4.1 常量:不变的量称为常量。
常量分为: 1.字面常量
2.const修饰的常变量
3.#define定义的标识符常量
4.枚举常量
#include<stdio.h>
#define max 100 //#define定义的标识符常量,可以直接用
enum sex
{
MALE, //男
FEMALE, //女
SECRET //保密
};
//enum 枚举关键字 用来定义枚举常量
int main()
{
3.14;//字面常量
100;//字面常量
const int a=10; //const修饰的常变量
//a=20; //err const修饰的常变量不能直接被修改
printf("%d\n", max); //打印max的值结果为100
return 0;
}
4.2 变量:变化的量称为变量。
4.2.1 如何定义变量?
#include<stdio.h>
int main()
{
int a=10;//数据类型+自己定义的名字
return 0;
}
4.2.2 变量的分类
1.局部变量
2.全局变量
简单来讲,局部变量是定义在main函数之内的变量,全局变量是定义在main函数之外的变量
#include<stdio.h>
int b=20;//全局变量
int main()
{
int a=10;//局部变量
return 0;
}
4.2.3 如何使用变量
#include<stdio.h>
int main()
{
int a=0;
int b=0;
scanf("%d %d", &a,&b);
//scanf标准输入函数,库函数的一种,用来输入a,b的值,%d的含义是输入一个整数
printf("a=%d b=%d", a, b);
//在屏幕中打印a和b的值,%d是将a和b的值以整数的形式打印出来
return 0;
}
若全局变量定义的名字与局部变量定义的名字相同,以局部变量为先
#include<stdio.h>
int a=20;
int main()
{
int a=10;
printf("%d\n", a); //打印的结果为10
return 0;
}
4.2.4 变量的作用域和生命周期
一.作用域
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
二.生命周期
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。
#include<stdio.h>
#include<string.h>
int main()
{
//"abcdef"; //字符串
// 用单引号引起来的是一个字符 'w'
char ch1[]="qwert"; //c语言规定字符串末尾有一个 '\0','\0' 是字符串结束的标志
//实际上 ch1中存储的是 "qwert\0"
printf("%s\n", ch1); //输出出来的是qwert。%s用来输出字符串,遇到'\0'结束
printf("%d\n", strlen(ch1));
//strlen库函数,用来求字符串长度,遇到'\0',结束包含strlen的头文件是 <string.h> 输出的结果是5
char ch2[]={'q','w','e','r','t'};
//ch2是由多个、单个字符组成的一串字符,不属于字符串
printf("%s\n", ch2); //输出的是qwert后面还有一堆东西(找到'\0'才会结束)
printf("%d\n", strlen(ch2)); //输出的是一个随机值(找到'\0'才会结束)
char ch3[]={'q','w','e','r','t','\0'};
printf("%s\n", ch3);//输出的是 qwert
printf("%d\n", strlen(ch3));输出的是 5
return 0;
}
2.转义字符
#include<stdio.h>
int main()
{
//如何打印一个单引号/双引号 '/"
//%c用来输出一个字符
printf("%c\n", '\''); // 用转移字符 \'
printf("\""); //双引号同理 注:字符可以直接printf("打印内容")打印
return 0;
}
3.注释
注释是将代码中不需要的部分通过注释来让他们不被编译器编译,c语言中有两种注释方式:1. /*..... */ 2. //
#include<stdio.h>
int main()
{
/*zxcv*/
//qwert
return 0;
}
1./*.....*/缺点
若使用多个/*...*/
例如/*........
../*.....
...*/......
...*/
第一个 */ 后面的内容不会被注释掉,因为/*遇到*/就结束了