C语言学习记录1
*什么是C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理机(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。【1】目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
*第一个C语言程序
1.创建项目;
2.创建源文件;
(源文件分为.c源文件/.h头文件[head])
右键点击源文件,点击添加,选择c++文件(.cpp),在下方名称处设置名称,注意最后在一个统一的位置放置代码。
3.代码部分:
#include
///库函数 - C语言本身提供给我们使用的函数。
使用库函数需用#include
【注:#一种指令形式,include包含】
#include 调用包含一个叫stdio.h的文件【std-标准 standard input output】
///
int main()//主函数-程序的入口,必须有且只有一个。
//int是整型的意思,main前面的int表示main函数调用之后返回一个整型值。
{
printf("欢迎来到代码世界,这里盛产头发,祝您玩的愉快!\n");
//函数- print function -打印函数:printf("");引号内为输出内容。
//“/n”是换行符
return 0;//返回 0
}
//双右斜杠,单行注释。
//void main()已过时,void的意思是空,不用返回什么。
//注意分号等标点要用英文的。
//运行代码点击最顶部调试,点击开始执行(不调试);也可以使用快捷键Ctrl+F5.
4.使代码结果不一闪而过;
*数据类型
char //字符数据类型(字符,例:A)
short //短整形
int //整形(整数,例:886)
long //长整型
long long //更长的整形
float //单精度浮点数(小数,例:88.6)
double //双精度 浮点数(小数,例:)
//C语言有没有字符串类型?
计算机中的单位:
bit - 比特位(最小);
byte - 字节;(1byte = 8bit)
kb(1kb = 1024byte);
mb(1mb = 1024kb);
gb(1gb = 1024mb);
tb;pb...
计算机硬件--通电,正电1、负电0.一个比特位只能存放一个1或一个0.
进制:
10进制:0 1 2 3 4 5 6 7 8 9
2进制:0 1
8进制:0 1 2 3 4 5 6 7
16进制:0 1 2 3 4 5 6 7 8 9 A B C D E F
进制转换:二进制数,十六进制数可以采用按权展开法转化为十进制数,十进制转化为R进制要分为两部分,其中整数部分要除R取余,直到商为0, 小数部分要乘R取余直到得到整数。
*变量、常量
1.变量(会改变的量),定义变量的方法:
int age = 150;
float weight = 45.5f;
char ch = 'W';
类型 变量名 = 赋值;
(1)局部变量--定义在代码块{}内部
(2)全局变量--定义在代码块{}之外的变量
变量的作用域和生命周期
作用域(scope):程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
(1)局部变量的作用域:变量所在的局部范围
(2)全局变量的作用域:整个工程
生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
(1)局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。
(2)全局变量的生命周期:整个程序的生命周期。
2.常量:
C语言中的常量分为以下几种:
字面常量
const修饰的常变量
#define定义的标识符常量
*枚举常量
*字符串 + 转义字符 + 注释
*选择语句
*循环语句
*函数
*数组
*操作符
*常见关键字
*define定义常量和宏
*指针
*结构体
打的一些简单代码
test.c
//请从最后看起
#define _CRT_SECURE_NO_WARNINGS 1
//不小心关掉左侧项目栏,点击顶栏的视图,点击解决方案管理器
#include
int main()
{
return 0;
}
/*#include
int main()
{
extern int g_val;//extern声明外部符号
printf("g_val = %d\n", g_val);
return 0;
}
//联立sum.c源文件*/
/*#include
int global = 2020;//global全球的
void test()
{
printf("test()--%d\n", global);
}
int main()
{
test();//调用一下上述函数
printf("%d", global);
return 0;
}*/
/*#include
int main()
{
//计算两个数的和
int num1 = 0;
int num2 = 0;
//输入数据-使用输入函数
scanf("%d%d",&num1,&num2);//&取地址符号
int sum = 0;
//C语言语法规定,变量要定义在当前代码块的最前面
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}*/
/*#include
int main()
{
{
int a = 10;//变量a的作用域在此代码块内部
}
printf("%d", a);//报错,局部变量局部使用
return 0;
}*/
/*#include
int num = 11;//全局变量--定义在代码块{}之外的变量
int main()
{
int num = 10;//局部变量--定义在代码块{}内部
//局部变量和全局变量名字最好不要相同,容易误会,产生bug
//局部变量和全局变量名字相同时,局部变量优先
printf("%d\n", num);
return 0;
}*/
/*#include
int main()
{
short age = 20;//想内存申请两个字节,用来存放20
float weight = 96.5f;//向内存申请四个字节,存放小数
char ch = 'G';
return 0;
}*/
/*#include
int main()
{
//sizeof什么什么的大小
//1244848字节(同一类型有符号无符号所占内存的大小一样)
//char向内存申请空间的大小
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));//C语言标准规定sizeof(long)>=sizeof(int)
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}*/
/*#include
int main()
{
char ch = 'A';
printf("%c\n",ch);
//以字符的形式打印输出ch;%c——打印字符格式的数据
int age = 22;
printf("%d\n",age);//%d打印整型十进制数字
//short int;long;long long;
float f = 22.0;
printf("%f\n",f);
double ff = 22.22;
printf("%lf\n",ff);
return 0;
}*/
/* % d打印整型,
% c打印字符,
% f打印浮点型数字 - 小数,
%p以地址的形式打印,
%x打印16进制数字,
%o... */
//“/**/”是块儿注释
/*#include
//库函数 - C语言本身提供给我们使用的函数。
// 使用库函数需用#include
// 【注:#一种指令形式,include包含】
// #include 调用包含一个叫stdio.h的文件【std-标准 standard input output】
int main()//主函数-程序的入口,必须有且只有一个。
//int是整型的意思,main前面的int表示main函数调用之后返回一个整型值。
{
printf("欢迎来到代码世界,这里盛产头发,祝您玩的愉快!\n");
//函数- print function -打印函数:printf("");引号内为输出内容。
//“/n”是换行符
return 0;//返回 0
}
//双右斜杠,单行注释。
//void main()已过时,void的意思是空,不用返回什么。
*/
sum.c
int g_val = 6;
//全局变量的作用域是整个工程,别的源文件也可使用