C语言学习(详细版)一:概述

C语言学习(详细版)一:概述,第1张

目录
  • 什么是C语言
  • C语言的数据类型
  • 变量
  • 常量
  • 字符串
  • *** 作符
  • 转义字符
  • 语句
  • 常见关键字
  • static静态变量
  • define 宏定义
  • 指针
  • 结构体

什么是C语言
  • C语言是一门面向过程、广泛应用于底层开发的计算机编程语言。
  • 常用的编译器有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
C语言的数据类型
  • 字符数据类型:char
  • 短整型:short int
  • 整型:int
  • 长整型:long
  • 更长的整型:long long
  • 单精度浮点数:float
  • 双精度浮点数:double
变量
  • C语言中,变量要定义在当前代码块的最前面,否则编译会报错。
  • 变量的作用域
    – 局部变量的作用域是变量所在的局部范围
    – 全局变量的作用域是整个工程
  • 变量的生命周期
    – 局部变量的生命周期从进入作用域开始,离开作用域结束
    – 全局变量的生命周期是整个程序的生命周期
常量
  • 字面常量
  • const修饰的常变量
#include 

int main()
{
	//字面量
	34
	//const-常属性,修饰常变量
	const int num =4;
	printf("%d\n",num)
	
	return 0;
}
  • #dedine定义的标识符常量
#include 
//define定义的标识符常量
#define MAX 10

int main()
{
	int arr[MAX] = {0};
}
  • 枚举常量
#include 
//枚举:一一列举
//枚举关键字enum
enum Sex
{
	MALE,
	FEMALE,
	SECRET
}
//MALE,FEMALE,SECRET为枚举常量
int main()
{
	enum Sex s = FEMALE;
	printf("%d\n",MALE);//0
	printf("%d\n",FEMALE);//1
	printf("%d\n",SECRET);//2
	return 0;
}
字符串

由双引号引起来的一串字符串称为字符串字面量,字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容。

"hello bit.\n"
*** 作符
  • 算数 *** 作符
  • 移位 *** 作符
  • 位 *** 作符
  • 赋值 *** 作符
  • 单目 *** 作符
  • 关系 *** 作符
  • 条件(三目) *** 作符
  • 逗号表达式
转义字符
转义字符释义
\?在书写连续多个问号时使用,防止他们被解析成三字母词
\’用于表示字符常量’
\"用于表示一个字符串内部的双引号
\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1-3个八进制的数字,如0X
\xdddd表示2额十进制数字,如\x30 0
语句
  • 选择语句
  • 循环语句
  • 函数
常见关键字

auto break case char const continue default do double else enum extern float for goto if int long redister return short signed sizeof static static struct switch typedef union unsigned void volatile while typedef

static静态变量
  • 修饰局部变量:局部变量的生命周期变长

  • 修饰全局变量:改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用

  • 修饰函数:改变了函数的链接属性

define 宏定义
  • 定义标识符常量
#define MAX 100
  • 定义带参数的宏
#include 
//函数的实现
int Max(int x,int y)
{
	if(x>y)
		return x;
	else
		return y;
}
//宏的定义
#define MAX(X,Y) (X>Y?X:Y)

int main()
{
	int a=10;
	int b=60;
	//函数的方式
	int max = Max(a,b);
	printf("最大值为%d\n",max);
	//宏的方式
	max = MAX(a,b);
	printf("最大值为%d\n",max);
}
指针
int main()
{
	int a =10;//4个字节
	int* p =&a;//取地址
	*p = 20;//*-解引用 *** 作符
	printf("a=%d\n",a);
}

PS:指针大小在32位平台是4个字节,64位平台是8个字节。

结构体
//创建结构体类型
struct Book
{
	char name[20];
	short price;
};

int main()
{
	//利用结构体类型创建一个该类型的结构体变量
	struct Book b1 = {"C语言基础知识",34};
	struct Book* pd = &b1;
	
	//.   结构体变量.成员
	printf("书名:%s\n",b1.name);
	printf("价格:%d\n",b1.price);

	printf("书名:%s\n",(*pd).name);
	printf("价格:%d\n",(*pd).price);
	
	//->  结构体指针->成员
	printf("书名:%s\n",pd->name);
	printf("价格:%d\n",pd->price);
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/2991822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存