C语言初学者笔记1

本文详细介绍了C语言的基础知识,包括软件概念、文件类型、进制转换、数据类型(如整型、浮点型、布尔型)、变量的分类(全局、局部、块变量)、常量类型、取余操作的应用、指针的使用以及结构体的定义。此外,还讨论了关键字的作用,如`sizeof`、`typedef`等,并列举了部分C语言的关键字。
摘要由CSDN通过智能技术生成

C语言前置知识

一、概念

1.软件

软件是一系列按照特定顺序组织的计算机数据和指令的集合,即程序加文档的集合体。
软件被划分为:系统软件、应用软件和介于两者之间的中间件。

2.文件

文件时一个外存(硬盘、U盘、网盘)的概念,文件由两部分构成:文件名和文件主体。
文件可分为(用C语言的文件举例):
(1)可执行文件:扩展名为.exe的文件为可执行文件。
(2)不可执行文件:.c/.cpp源文件(文本)、.h头文件(文本)、.i预编译文件(文本)、.s汇编文件、.o/.obj二进制目标文件。

3.进制及其转换

X进制的意思就表示每一位置上的数运算时逢X进一。
计算机中的进制分为二进制、八进制、十进制、十六进制。
二进制:0、1
八进制:0、1、2、3、4、5、6、7
十进制:0、1、2、3、4、5、6、7、8、9
十六进制:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f
二进制数、八进制数、十六进制数转换成十进制数的规律是相同的,按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”。
(10100)2 -> 1 * 24+0 * 23+1 * 22+0 * 21+0 * 20 -> (20)10
(245)8 -> 2 * 82+4 * 81+5 * 80 -> (165)10
(1F2)16 -> 1 * 162+15 * 161+2 * 160 -> (498)10
要把十进制转换成二进制(八进制或者十六进制),也可以用这种方法,把十进制数拆成对应的多项式和的和形式。

4.定义和声明

定义:为这个变量分配一块内存并给它一个名字(变量名)。注:名字和内存绑定后,无法改变或再定义。
声明:(1)告诉编译器,这个名字已经匹配一块内存了;(2)告诉编译器,这个名字被预定了,其它地方不能再用了。
区别:定义的对象有一块内存,声明的对象没有内存。

二、数据类型

1字节=1存储单元=8二进制位(byte)

1.整型

char:占1字节
short:占2字节
int:占4字节
long int:占4字节
long long:占8字节

2.浮点型

float:占4字节
double :占8字节
long double:占8(12或16)字节

3.bool型

bool:占1字节,但是只能存放0或1

4.无类型

void(不重要)

三、变量

变量:是以某标识符为名字,其数值可以改变(可读,可写)。
变量分为三种:
(1)全局变量:在代码内、函数外定义的变量。
(2)局部变量:在函数内定义的变量。
(3)块变量:在块内定义的变量。

#include<stdio.h>
int a = 10;     //全局变量

int main()
{
	int b = 20;     //局部变量(main()主函数内的变量)
	
	for (;;)
	{
		int c = 30;     //块变量(for循环内的变量)
	}
	return 0;
}

四、常量

常量:数值不能改变(只可读,不可写)。
常量分为:
1.字面常量
2.用#define定义的宏常量
3.用const关键字修饰的变量,称为常变量。
4.枚举常量
5.字符常量和字符串常量

#include<stdio.h>
//宏常量
#define PI 3.14
//枚举常量
enum week {Mon = 1,Tues = 2,Wed = 3,Thurs = 4,Fri = 5,Sat = 6,Sun = 7};

int main()
{
	const int a = 10;     //用const修饰的常变量
	20;                   //字面常量
	char b = 'a';         //字符常量,b=97
	char c[] = { "a" };   //字符串常量
	return 0;
}

五、常用转义字符、含义及ASCII码值

转义字符用来将普通字母转换成控制字符,或将控制字符转换成普通符号。

转义字符意义ASCII码值
\n换行符10
\t水平制表符9
\0空字符0

使用转义字符时需要注意:
1.转义字符只能用小写字母。
2.\t移动四格还是八格,在编译器里面设置

六、可见性和生存期

作用域(可见性)值标识符能够被使用的范围,只有在作用域内标识符才可以被使用。
生存期也叫生命期,此阶段针对的是程序的执行过程。

七、取余

取余符号:%
取余在C语言中的作用:
1.判断是否能够整除某个数。
2.判别奇偶数,判别质数(或者素数)。
3.计算范围,形成循环。
4.求最大公约数。
求最大公约数代码:

#include<stdio.h>

int main()
{
	int a;
	int b;
	int c = 1;

	scanf_s("%d%d", &a, &b);
	while (c != 0)
	{
		c = a % b;
		a = b;
		b = c;
	}
	printf("最大公约数为:%d \n", a);

	return 0;
}

八、指针

定义的变量在计算机中存储,占有一定的内存,每一处内存都有与其对应的地址,而存放这地址的变量,称为指针变量。

#include<stdio.h>

int main()
{
    int a = 10;    //将10存放在名字为a的区域中
    int *b;        //定义一个区域名为b,类型为指针变量
    b = &a;        //取地址符:&,把a 的首地址存放在b里
    *b = 100;      //把100存放在b所指向的地址(a)里
    return 0;
}

注意事项:
1.b里面存放的是a的首地址(因为a是int型变量,占4字节,每个字节都有自己的地址,所以统一存放首地址)。
2.指针变量(b)的类型和所指向变量(a)的类型保持一致。
3.对b的操作就是对地址的操作(b的改变只影响b所指向的地址,而不会改变a的地址)。
4.对*b的操作就是对a数值的操作(经常与数组一块用)。

九、结构体

程序开发人员可以使用结构体来封装一些属性,设计出新的类型。

#include<stdio.h>
//定义一个学生类型,包含id、name、sex、age属性
struct Student
{
    char s_id[10];
    char s_name[10];
    char s_sex[5];
    int s_age;
};
int main()
{
    struct Student stud={"3170811047","mengfanjian","man",21};    //定义一个变量,名字叫stud,类型为Student
    return 0;
}

十、关键字

C语言的关键字共有32个,根据关键字的作用,可以分为数据类型关键字和控制语句关键字。

1.数据类型关键字

void char short int long float double
signed(字符型:正数还是负数) unsigned(非字符型)
truct union enum auto static register
typedef sizeof extern const volatile

2.流程控制关键字

if else switch case default for do while return continue break goto

3.比较重要的关键字

1.sizeof:计算类型的大小或者变量的大小,也就是字节个数。

printf("size of int:%d \n",sizeof(int));    //输出int类型的大小

2.typedef:为复杂的声明定义一个简单的别名。

typedef unsigned int   8;    //定义8代表无符号的int型

3.extern:说明此变量或函数在别处定义了的,要在此处引用。
4.static:用static修饰变量和函数,变成静态变量。
5.const:用来定义只读变量的关键字。被const定义的变量为常变量,从定义起,无法再被改变,只能读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值