我是靠谱客的博主 动人蓝天,最近开发中收集的这篇文章主要介绍C语言--菜鸟基本概念梳理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

程序执行过程

.c源文件——预编译——编译——汇编——链接——.exe的可执行文件

数据类型

数据类型定义符号32位下所占字节数备注
char字符数据类型%c1
short短整型%d2
int整形%d4在16位操作系统中为2字节,32、64都为4字节
long长整型%ld4在linux64位操作系统中为8字节
long long更长整型%lld4
float单精度浮点型%f4
double双精度浮点型%lf8

存储单位

BitByteKbMbGbTbPb

1Pb = 1024Tb
1Tb = 1024Gb
1Gb = 1024Mb
1Mb = 1024Kb
1Kb = 1024Byte
1Byte = 8bit

变量

变量分为局部变量和全局变量,用static修饰的变量叫静态全局变量,和静态局部变量。

生命周期作用域
普通局部变量进入函数创建,出函数后消失函数体内
静态局部变量进入函数创建,程序结束后消失函数体内
普通全局变量程序开始到结束整个工程
静态全局变量程序开始到结束所在.c文件内

(注:1、全局变量用到extern关键字,可使作用域扩展至整个工程
2、局部变量与全局变量同名时,局部变量优先)

常量

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
#include <stdio.h>
//举例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
3.14;//字面常量
1000;//字面常量
const float pai = 3.14f; //const 修饰的常量
pai = 5.14;//ok?
#define MAX 100 //#define的标识符常量
return 0;
}

字符串

字符串的结束标志是一个 的转义字符。在计算字符串长度的时候 是结束标志,不算作字符串的内容。
例如:

#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出''的重要性)
int main()
{
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
char arr3[] = {'a', 'b', 'c'''};
printf("%sn", arr1);
printf("%sn", arr2);
printf("%sn", arr3);
return 0;
}

打印结果为
在这里插入图片描述

因为数组中装的是

arr1a b c
arr2a b c …等别的字符
arr3a b c

转义字符

转义字符释义
?在书写连续多个问号时使用,防止他们被解析成三字母词
用于表示字符常量’
用于表示一个字符串内部的双引号
用于表示一个反斜杠,防止它被解释为一个转义序列符
a警告字符,蜂鸣
b退格符
f进纸符
n换行
r回车
t水平制表符
v垂直制表符
dddddd表示1~3个八进制的数字。 如: 130 X
xdddd表示2个十六进制数字。 如: x30 0

注释

  • C语言风格的注释 /* xxxxxx */
    缺陷:不能嵌套注释
  • C++风格的注释 //xxxxxxxx
    可以注释一行也可以注释多行
  • 注释快捷键:ctrl+k+c
  • 取消注释快捷键:ctrl+k+u

关键字

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

typedef 顾名思义是类型定义,这里应该理解为类型重命名
例子:

//将unsigned int 重命名为uint_32, 所以uint_32也是一个类型名
typedef unsigned int uint_32;
int main()
{
	//观察num1和num2,这两个变量的类型是一样的
	unsigned int num1 = 0;
	uint_32 num2 = 0;
	return 0;
}

#define

  1. 定义标识符常量
    #define MAX 1000
  2. 定义宏
    #define ADD(x, y) ((x)+(y))
    (注:每一个字母都加上括号(),以防运算中出麻烦)
    例如:
//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x, y) ((x)+(y))
#include <stdio.h>
int main()
{
	int sum = ADD(2, 3);
	printf("sum = %dn", sum);
	sum = 10*ADD(2, 3);
	printf("sum = %dn", sum);
	return 0;
}

sizeof是一个关键字:用来返回字节数,包含
而strlen(参数)是string.h包中的一个库函数:求当前参数(字符串)的长度,但不包含

最后

以上就是动人蓝天为你收集整理的C语言--菜鸟基本概念梳理的全部内容,希望文章能够帮你解决C语言--菜鸟基本概念梳理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部