坚持学习c语言 第2天 c语言数据类型与变量 笔记整理(简)

本文介绍了C语言中的数据类型,包括内置的字符、整型、浮点数和布尔类型,以及外置的数据类型如数组、枚举和结构体。讨论了signed和unsigned修饰符对整型的影响,以及不同数据类型的取值范围。此外,还涵盖了变量的创建、初始化和作用域,算数运算符的使用,以及赋值操作符。最后提到了强制类型转换和输入输出函数scanf与printf的基本用法。
摘要由CSDN通过智能技术生成

1.数据类型

定义:有共同特征的相似数据的集合。

作用:使编译器能够识别数据类型,进而操作数据。

数据类型的分类:内置数据(字符,整形,浮点数,布尔类型)

                          外置数据(数组,枚举enum,结构体struct,联合体union)

内置数据:字符(char=signed char,unsigned char)signed可省略

                  整型【短整型(short int= signed short int,unsigned short int) signed,int可省略

                             整型(int=signed int,unsigned int)signed可省略

                             长整型(long int=signed long int,unsigned long int) signed,int可省略

                             长长整型(long long int=signed long long int,unsigned long long int)]

                                                                                                              signed,int可省略

                            布尔类型:由来:从c99开始专门引入表示(true)真与(false)假的,

                                              c语言传统中是用“1”代表真,“0”代表假。

                                              头文件名:<stdbool.h>

                                              取值:true,false

2.signed与unsigned

c语言用signed与unsigned分别修饰字符型与整形。

signed表示一个类型带正负号,包括所有正负整数,与0。

unsigned表示一个类型不带正负号,包括正整数,与0。

相对于signed,unsigned的整数变量声明,在相同长度的内存中内表示更大的取值范围,数值为一倍(例:同为16为内存,signed short int取值范围为:-32768~32768,unsigned short int为;0~65535)

3.查找取值范围:everything:直接搜limits.h与float.h

                            vs2022:解决方案资源管理器/外部依赖项

                            找整型类型取值范围的头文件名:limits.h,而浮点型为float.h

                            整数类型极限值的代码:

                            SCHAR_MIN , SCHAR_MAX :signed char 的最⼩值和最⼤值。

                            SHRT_MIN , SHRT_MAX :short 的最⼩值和最⼤值。

                            INT_MIN , INT_MAX :int 的最⼩值和最⼤值。

                            LONG_MIN , LONG_MAX :long 的最⼩值和最⼤值。

                            LLONG_MIN , LLONG_MAX :long long 的最⼩值和最⼤值。 

                            UCHAR_MAX :unsigned char 的最⼤值。

                            USHRT_MAX :unsigned short 的最⼤值。

                            UINT_MAX :unsigned int 的最⼤值。 

                            ULONG_MAX :unsigned long 的最⼤值。

                            ULLONG_MAX :unsigned long long 的最⼤值。

4.变量

类型作用:创建变量

创建变量的语法形式:数据类型 变量名(int age整型变量,char ch字符变量,double weight浮点型变量;打印:%d整型,%c字符,%s字符串,%f浮点型)

初始化:创建变量时赋值(例:int a=0)

分类:全局变量:大括号定义外部的变量,整个工程均可使用;

           局部变量:大括号定义内部的变量,仅在局部范围中使用。

全局变量与局部变量相同时,优先使用局部变量。

区域:栈区,堆区,静态区都位于内存中。

局部变量放在栈区中,全局变量放在静态区中,堆区用来动态内存管理的

5.算数运算符(+,-,*,/,%)

单目运算符:+(正),-(负)

双目运算符:+(加),-(减),*(乘),/(除),%(余数)

/(除):除号两边均为整型,结果为整型;而两边至少有一个浮点数,结果为浮点数

%(余数):仅用于整型的相除,结果的正负号由第一个运算符的正负号决定

6.赋值操作符:=

连续赋值:从右到左

优先级:低于算术运算符

复合赋值符:+=,-=,*=,/=,%=;>>=,<<=,&=,l=,^=

7.单目操作符:++,--,+(正),-(负)

前置++(--):先+(-)1,后用

后置++(--):先用,后+(-)1

8.强制转换运算

 int a = (int)3.14;(意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分)

9.scanf与printf

9.1,printf() 作⽤:将参数⽂本输出到屏幕

printf()的占位符:        %a :⼗六进制浮点数,字⺟输出为⼩写。

                                    %A :⼗六进制浮点数,字⺟输出为⼤写

                                    %c :字符。

                                    %d :⼗进制整数。

                                    %e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。

                                    %E :使⽤科学计数法的浮点数,指数部分的 E为大写。

                                    %i :整数,基本等同于 %d 。

                                    %f :⼩数(包含 float 类型和 double 类型)。

                                    %g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e 为⼩写。

                                    %G :等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写。

                                    %hd :⼗进制 short int 类型。

                                    %ho :⼋进制 short int 类型。

                                    %hx :⼗六进制 short int 类型。

                                    %hu :unsigned short int 类型。

                                    %ld :⼗进制 long int 类型。

                                    %lo :⼋进制 long int 类型。

                                    %lx :⼗六进制 long int 类型。

                                    %lu :unsigned long int 类型。

                                    %lld :⼗进制 long long int 类型。

                                    %llo :⼋进制 long long int 类型。

                                    %llx :⼗六进制 long long int 类型。

                                    %llu :unsigned long long int 类型。

                                    %Le :科学计数法表⽰的 long double 类型浮点数。

                                    %Lf :long double 类型浮点数。

                                    %n :已输出的字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中。  

                                    %o :⼋进制整数。 

                                    %p :指针。

                                    %s :字符串。

                                    %u :⽆符号整数(unsigned int)。

                                    %x :⼗六进制整数。

                                    %zd : size_t 类型。

                                    %% :输出⼀个百分号。

                                    基础:%d,%c,%s,%f,%lf,%i,%n,%p

 限定宽度: printf() 允许限定占位符的最⼩宽度  格式:%数字字母  

 整数 :%5d 表⽰这个占位符的宽度⾄少为5位。

             如果不满5位,对应的值的前⾯会添加空格。

             输出的值默认是右对⻬,即输出内容前⾯会有空格;

             如果希望改成左对⻬,在输出内容后⾯添加空 格,在占位符的 % 的后⾯插⼊⼀个 - 号。  

 小数:%12d表⽰这个占位符的宽度⾄少为12位,限制所有数字的最⼩显⽰宽度。

            如果不满12位,对应的值的前⾯会添加空格。

            输出的值默认是右对⻬,即输出内容前⾯会有空格;

            如果希望改成左对⻬,在输出内容后⾯添加空 格,在占位符的 % 的后⾯插⼊⼀个 - 号。   限定⼩数位数:格式:%.数字字母

                          %.2f表示⼩数点后⾯只保留两位,而默认的保留为小数点后6位

输出部分字符串:%s 占位符⽤来输出字符串,默认是全部输出。

                             %.[m]s 指定输出 的⻓度,其中 [m] 代表⼀个数字,表⽰所要输出的⻓度。

9.2,scanf

作用:scanf() 函数⽤于读取⽤⼾的键盘输⼊。

           scanf的常用占位符:%c :字符(包括空白字符) 

                                             %d :整数。

                                             %f : float 类型浮点数。

                                             %lf : double 类型浮点数。

                                             %Lf : long double 类型浮点数。

                                             %s :字符串。

                                             %[] :在⽅括号中指定⼀组匹配的字符(⽐如 %[0-9] ),遇到不在集合之中的字符,匹配将会 停⽌。

  

                                             

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值