C语言基础知识

       今天是开始认真学习C语言的第一天,打算以后每次学习以后都来这里整理一下学习的内容。使用的软件是Visual Studio2022,今天主要学习内容是郝斌老师C语言教学视频的P1-P30,笔记囊括老师上课所用大纲内容和我吸收到的知识。

       tip0: 如果使用Visual Studio2022时无法正确使用scanf函数该怎么做:

       使用过程中会遇到'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.的情况,译为:'scanf':该函数或变量可能不安全。可以考虑改用scanfs_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。详细信息请参见在线帮助。

 方法一:为解决该问题应该第一行上(注意独立的第一行)加上 :  #define  _CRT_SECURE_NO_WARNINGS 1           (注意define后面是两个空格)加完以后就可以正确使用了

方法二:※※※源文件.c的创建时都拷贝自newc++file.cpp文件,在该文件中加上上述就会彻底解决该问题。搜索newc++file.cpp文件(可以使用everything软件加快搜索速度),注意路径是下面的样子,不要选错了。

       

 右键打开路径,将该文件拷贝一下,可以放在桌面上,打开该拷贝后的文件,输入:

#define  _CRT_SECURE_NO_WARNINGS 1 (注意define后面是两个空格)再保存退出,再将该拷贝后文件复制粘贴回原文件夹,点击覆盖文件即可解决该问题,从此以后再新建源文件既可自动在第一行显示上述代码,并不会提示scanf不可用了。

       tip1:cpu 内存条 硬盘 显卡 主板 显示器之间的关系:

       数据首先存储在硬盘上,当调用数据时,操作系统将数据从硬盘调用到内存条中,cpu再去处理内存条的数据,将一些数据处理成图像、声音等。图像通过显示器,声音通过声卡显示出。主板提供了各硬件的传输。

       tip2:C语言程序如何运作的:

       c语言程序通过编译.c文件和链接.obj文件生成后缀是.exe的可执行文件,软件请求操作系统执行exe文件,操作系统调用cpu执行exe文件,后将结果显示到显示器上。(现在程序不能直接访问硬件,只能通过操作系统来操纵。)

       tip3:数据类型:

       基本类型数据       

              整数

                     整形:      int              -4字节

                     短整型:  short int     -2字节

                     长整型:  long int      -8字节

              浮点型(实数)

                     单精度浮点数 float     -4字节

                     双精度浮点数 double -8字节

              字符

                     char                            -1字节

       复合类型数据

              结构体

              枚举

              共用体

(C语言中用整形变量可以存放实数,会警告,但不会报错,也无法输出)

(一般用n、m、i、j、k等表示int类型变量;c、ch等表示字符类型变量;a等表示数组;p等表示指针;i、j、k等可以表示循环变量,其他字符变量名尽量不要使用。)

       tip4:变量:

       变量的本质就是内存中一段存储空间。

       tip5:cpu 内存条 软件 操作系统的关系:

       定义变量后,软件请求操作系统在内存中找到空闲的存储空间,将变量分配到该存储空间,地址一一对应关联起来,赋值后,将赋值结果存放在该地址的存储单元中,以后使用变量就是使用内存中对应的存储空间。

       tip6:变量为什么必须初始化:

       所谓初始化就是赋值的意思。

       当变量使用完毕后,会释放该存储空间,即可以让其他变量使用该空间,其空间内的数据并不会被清除。未初始化的变量的存储空间可能之前被其他软件使用过,可能存在遗留的数据即垃圾值,有的软件发现变量的数据时垃圾值时会显示填充数字提示操作者,有的软件会直接报错。

       (硬件的设备一定是1、0或1和0的组合)

       tip7:定义变量:

                     数据类型 变量名 = 要赋的值

       等价于   数据类型 变量名;

                     变量名 = 要赋的值;

       int i = 3 ; 等价于 int i ; i = 3 ;

       int i =3 , j = 5 ; 等价于 int i ; int j ; i = 3; j = 5;

       tip8:进制:

       进制就是逢几进一。(几进制就是没有几,如八进制没有八,最多就是七)

      1234B为二进制数1234,也记为

      2345O为八进制数2345。

      3456D为十进制数3456。

      5678H为十六进制数5678。

      十进制:逢十进一 基数 0 1 2 3 4 5 6 7 8 9 

      二进制:逢二进一 基数 0 1

      八进制:逢八进一 基数 0 1 2 3 4 5 6 7

      十六进制:逢十六进一 基数 0 1 2 3 4 5 6 7 8 9 a b c d e f

      计算的时候,最后第几位就是进制数的(几-1)次幂,如八进制的123就是3*8的零次幂+2*8的一次幂+ 1*8的二次幂

       tip9:常量在C语言中的表示:

      1、整数

              十进制:传统写法

              十六进制:前面加0x或0X(区别是后面是a-f还是A-F)

              八进制:前面是0 (数字零)

      2、浮点数

              传统写法

                     float x = 123.45

              科学计数法

                     float x = 123.45e2     值为12345

                     float x = 123.45e-2     值为1.2345

       3、字符

              单个字符用'单引号'括起来   'A'正确      'AB'错误

              字符串用"双引号"括起来     “AB”正确   "A"正确代表'A' '\0'的组合

       tip10:常量以怎么样的二进制代码存储在计算机中:

       整数是以补码的形式转化为二进制代码存储在计算机中的

       实数是以IEEE754标准转化为二进制代码存储在计算机中的

       字符的本质实际也是与整数的存储方式相同

       tip11:代码规范化:

       1、(){}等等成对敲,敲完再添加括号内的内容

       2、地位相等不缩进,如果在其他代码内部要缩进

       3、定义变量、对变量进行操作、输出值三个功能间换行

       4、运算级别最低敲空格

       tip12:字节:

       字节就是存储数据的单位,并且是硬件所能访问的最小单位。(最小的存储数据的单位是位)

       1字节 = 8位

       1K = 1024字节

       1M = 1024K

       1G = 1024M

       1T = 1024G

       

       tip13:不同类型数据之间相互赋值的问题

       int i = 12;

       long j = 12345;

       i = j;(C语言可以转换)

       C语言的强制转换后续学习(补码)

       tip14:ASCII

       ASCII规定了不同的字符是使用哪个整数值去表示 

       'A' -- 65;    'B' -- 66;    'a' -- 97;    'b' -- 98;    '0' -- 48

       tip15:字符的存储

       字符本质上与整数的存储方式相同。

     

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值