0
点赞
收藏
分享

微信扫一扫

[C笔记]P1

奋斗De奶爸 2022-03-17 阅读 53
c语言

1、C语言擅长什么?

c语言广泛应用于底层软件开发。单纯买一个电脑(硬件)是无法正常工作的,需要给它装操作系统(系统软件),操作系统通过驱动层的驱动程序(软件)操作硬件工作。在操作系统之上的应用层可装应用软件,而c语言是擅长写操作系统之下的底层(操作系统和驱动程序)。

2、ANISI C

美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。为所有人定制一个标准,让所有人交流起来时表达的意思更加准确。每隔几年就会更新一次,使用最广泛的标准是C89/C90。

3、C项目良好习惯

C语言项目中一般创建.c(源文件,函数实现)和.h(头文件,函数声明)

4、关于main函数

c语言代码是从主函数的第一行开始执行的,main函数是程序的入口。

一个工程中可以有多个.c源文件,但是在这多个.c文件中只能有一个main函数.执行性代码必须写在主函数内,变量的定义可以写在主函数外部。

5、库函数

库函数是已经写好的函数,这些函数的功能是简单而且又经常会用到的,所以当我们需要它的功能时可以直接调用,调用库函数时要包含对应的头文件。

6、数据类型

C语言提供的类型叫内置类型。我们也可以创造类型(即自定义类型)。数据类型是定义变量类型的。

char(1字节)

short(2字节)

int(4字节)

long(4字节/8字节)

long long(8字节)

float(4字节)

float weight=55.5f //加f就是明确告诉编译器这是个float型变量

double(8字节)

7、sizeof操作符

计算数据类型或者变量大小(单位字节)

8、输出函数的格式控制符

%u 以十进制形式输出无符号数

%d 以十进制形式输出有符号数

9、关于VS中scanf报错的问题

#include<stdio.h>
int main()
{
    char arr[5]; 
    scanf("%s",arr);//输入abcdefghijk
    printf("%s\n",arr);//输出abcdefghijk,并出现越界访问报错。
    return 0; 
}

让scanf能在VS中正常使用的办法:

在VS中创建的.c文件其实是从newc++file.cpp文件中拷贝过来的。

用everything找到这个文件,把它复制到桌面,用vs将#define _CRT_SECURE_NO_WARNINGS 1

放到第一行,然后保存,再把桌面这个文件拖回原来文件所在位置,并替换掉原来的文件。

#define _CRT_SECURE_NO_WARNINGS 1类似于开头声明scanf是安全的。

10、局部变量

局部变量:定义在{}内部,作用域是变量最近的{}内。

11、全局变量

全局变量:定义在所有{}外,作用范围是整个工程。

全局变量使用起来方便,但是为了防止冲突和安全性,尽量避免定义使用全局变量

12、变量与全局变量名字相同冲突时,局部优先。

#include<stdio.h> 
int a=1000;//全局变量 
int main() 
{
    int a=100;//局部变量 
    printf("%d",a);
    return 0; 
}
  • 这里不能理解为a变量被覆盖,本质上是main函数优先使用局部变量。
  • 不建议把局部变量和全局变量的名字写成一样。
  • 全局作用域中的a和main中的a可以同时存在,不会冲突并可以通过编译,因为不是同一个作用域。在main函数中访问a时,采用就近原则,因此访问的是main中的a,相当于将全局作用域中的a屏蔽了

13、extern

全局变量和函数都有外部连接属性,在其他文件用extern声明之后就能使用他们。

局部变量就没有外部连接属性,即使在外部文件用extern修饰它,外部文件中也不能拿来使用。

14、作用域

作用域表示变量起作用的范围,具体范围看变量在哪个(最近的){}内定义。

只要是在这个{}内,那这个变量就是存在的,出了{}后变量就会被销毁。

#include<studio.h>
int main() 
{ 
    { 
        int a=10;//只要放在大括号内部,就是局部变量。所以出了下一行的大括号范围变量a就会被销毁。 
    } 
    printf("%d",a);//变量a在这里就是未声明的标识符 
    return 0; 
}

15、生命周期

指该变量存在的时间范围。

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

全局变量的生命周期:整个程序的生命周期。

举报

相关推荐

0 条评论