C语言笔记

一.什么是C语言

1.是人与计算机交流的语言,广泛应用于底层的开发,就是操作系统 及以下的开发

2.C语言有国际标准 ANSIC

3.计算机语言:计算机语言-> 汇编语言(助记符)->B语言->C语言

二、数据类型 

1.类别以及长度

之所以会有不同的数据类型,是为了节省空间 ,提高空间的利用率。

char 字符数据类型

short 短整型

int 整形

long 长整型

long long 更长的整形

float 单精度浮点型

double 双精度浮点型

计算数据类型的长度 sizeof()  计算出来的单位是byte (字节,1字节8个bit位)(下图附上计算机中的单位)

#include<stdio.h>
int main()
{
	printf("%d\n", sizeof(char));
	printf("%d\n", sizeof(short));
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(long long));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(double));


}

 

2^10=1024 

数据类型长度
类型字节bit
char18
short216
int432
long432
long long864
float432
double864

2.数据类型是用来创建变量  

三、常量和变量

1.创建变量 

类型名 变量名 = 一个值;

#include<stdio.h>
int main()
{
	//定义变量,
	//类型 变量名 = 0;最好要初始化
	int age = 20;
	int a; 
	double weight = 46.2;
	//变量可以变化
	age = age + 1; 
	printf("%d\n", age);
	printf("%lf\n", weight);
	
	return 0;	
} 

易错点:输出的时候,float 用%f,double用%lf 。

2.变量的分类 全局变量 和局部变量 局部优先

#include<stdio.h>


int a = 20;//全局变量,定义在{}外面的变量,作用范围是整个工程
int main()
{
	
	int a = 19; //局部变量,定义在{}里面的变量
	printf("%d\n", a);//当 全局变量和 局部变量名字冲突时,局部优先 
	return 0;	
} 

再述: 

 3.变量的生命周期

局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束;

全局变量的生命周期是:相当于程序的生命周期; 

4.常量 

用来表示一些不变的量 

1.字面常量

2.const定义的常变量

3.define定义的标识符常量

4.枚举常量enum

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define Max 200

enum Color
{
	RED,
	GREEN,
	BLUE
};
int main()
{
	//1.字面常量 
//	20;
//	33.9;
//	'l';
//	"licongcong";

	//2.const定义的常变量
	const int a = 10;
	//a = 20;//上一行使用const之后,这一行编译时会报错 
	printf("%d\n", a);

	//常变量还是一个变量,只不过是具有常量的属性
	const int t = 10;
	int arr[10] = { 0 };

	//3.define定义的标识符常量
	printf("%d\n", Max);
	//Max = 300;它的值不能再被改变 
	printf("%d\n", Max);

	//4.枚举常量 ,日常生活中可以枚举出来的,颜色、性别
	enum Color c = RED;
	return 0;
}

5.字符串+转义字符+注释 

5.1字符串 

 字符串  以\0作为结束标志,不计算在字符串的长度里面(c语言没有字符串类型,有字符类型char  ,单引号引起来的 ‘a’)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <string.h>
int main()
{
	//那么怎么来存字符串呢,可以用数组
	char arr[7] = "abcdef";
	char arr1[] = "abcdef";//可以不指定长度
	char arr2[] = {'a','b','c','d','e','f','\0'};//在后面加上'\0',可以输出abcdef
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	//strlen是计算字符串长度的函数
	int a = strlen(arr1);//6
	int b = strlen(arr2);//6
	printf("%d\n", a);
	printf("%d\n", b);
	return 0;
}

 数组arr1里面有隐藏的\0,而arr2里面没有的。

 

5.2.转义字符 

 

转义字符的类型
转义字符释义
\?在书写连续多个问号时使用,防止他们被解释成三字母词,三字母词(比如以前将??)控制台输出式可以是],但现在已经没有三字母词)
\'用于表示字符常量’
\"用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。如:\130X
\xdddd表示2个十六进制数字。如:\x30 0
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <string>
int main()
{
	//\?
	// printf("%s\n", "I am a sweet girl\?\?)");
	//I am a sweet girl]
	// %c 打印字符类型
	// %s 打印字符串类型
	// %zu 打印sizeof类型
	 
	//\'
	//printf("%c\n",'\'');
	
	//\"
	//printf("%c\n", "\"");

	//\\
	printf("abc\\0def");//abc\0def

	//电脑发出的一个声音
	//printf("\a");

	//\t 就是Tab键的作用
	//printf("D:\test\test1");

	//\ddd 表示八进制数
	//printf("%c\n", '\130');
	//输出X,将\130所表示的八进制数转化成10进制数(88),
	//再输出这个十进制数所对应的字符

	//\xdd 表示16进制的数
	//printf("%c\n", '\x61');
	//输出a,同理,将\x61所表示的16进制的数转化成10进制,
	//并输出这个十进制数所对应的字符
	//16进制转化成10进制的数字的范围
	// (也就是ASCII码的范围)应在0-127

	//一个计算题
	printf("%d\n", strlen("D:\test\628\test.c"));//14
	//记得引入头文件
	//\t算一个字符,但是输出的效果相当于4个字符
	return 0;
}

 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值