C语言学习笔记系列—第三章

 2024-02-17 04:01:43  阅读 0

在第 2 章之后继续学习。在上一章中,您学习了一些最简单的 C 程序。 第3章将是基于C数据类型的笔记学习。 和之前一样,这篇文章是从重新学习的角度来理解C语言,所以文章只会涉及到需要的数据类型的介绍。 所有类型不会像其他C语言教程那样直接堆起来(在最后的总结中列出,仅供参考)。

学习参考书《C Plus》

1.数据类型1.1、int类型(整数类型)

C语言中最常用的数据类型,可以表示不同的取值范围和正负值。 但必须是整数,可以是正整数,也可以是0,也可以是负整数,只要是整数就行。 现在是 2022 年了,使用的操作系统基本都是 64 位的,所以我不用担心存储整数的问题。

之前,在第 1 章和第 2 章中,使用了声明 int 的操作:

int a,b,c;
int n;
int n2; 
int n3;

不过,上面只是声明了变量类型,并没有给变量赋值。 赋值方法可以使用a = 3; 或者后面章节会介绍输入法(scanf())给变量赋值。 C 语言将没有小数点和指数的数字视为整数。 因此,24和-56都是整型常量,但24.0和2.2E1不是整型常量。

1.2、输出(打印)int值

使用()函数打印int类型值时,使用%d表示打印整数的位置。 %d 称为转换规范,它指定应该使用什么格式()来显示一个值。 格式字符串中的每个 %d 与要打印的变量列表中相应的 int 值匹配。 例如,第 2 章程序中的以下 ():

("a 和 bc 的乘积 = %d\n",c);

特别注意的是,如果()中没有参数(即没有为%d提供值),那么程序将打印程序(内存)中的任意值。 例如以下操作:

("a 和 bc 的乘积 = %d\n"); //默认参数

那么输出将是:

a 和 bc 的乘积 = -

1.3、float 和 type(浮点数据类型)

1.1 中引入了整数类型,不包含小数点。 那么带小数点的数据类型就用float和,所以在写程序的时候,按照要求声明一下。 这两种浮点类型的主要区别在于它们的取值范围,如下表所示:

类型

位数

有效数量

数值范围

漂浮

32

6-7

-3.4*10(-38)~3.4*10(38)

64

15-16日

-1.7*10(-308)~1.7*10(308)

C语言程序中声明浮点变量及赋值方法(与之前整数类型的赋值方法类似):

float noah, jonah;
double trouble;
float a=0.1f;

1.4、输出(打印)float和value

与整数类型 int 不同,() 函数使用 %f 转换规范以十进制表示形式打印 float 和类型浮点数。 C语言中,float类型数据默认保留小数点后6位,不足6位的用0补齐。 例子:

int b;  
float a=0.1f;   //float类型赋值时 补充f
b = 6 ;
printf("a与b的乘积c = %f",a*b);
printf("a与b的乘积c = %.2f",a*b);      //补充一句如果觉得默认保留6位小数点看着烦可以使用(%.2f)保留两位小数

2. 方案案例

错误版本:

#include 
int main(void)
{
    int n = 3;
    int m = 2;
    float f = 9.0f;
    float g = 5.0f;
    
    printf("%d\n", n, m);    
    printf("%d %d %d\n", n); 
    printf("%d %d\n", f, g); 
    
    return 0;
}

输出结果为:

版本输出错误

其实可以看出问题都出现在最终输出环节(()):第9行变量太多,第10行变量太少,第11行的数据类型为f 和 g 被声明为浮点型。 类型,所以输出时应该使用%f来表示输出的浮点变量值。 所以正确的版本应该是:

#include 
int main(void)
{
    int n = 3;
    int m = 2;
    float f = 9.0f;
    float g = 5.0f;
    
    printf("%d %d\n", n, m);   
    printf("%d\n", n);
    printf("%f %f\n", f, g); 
    
    return 0;
}

输出是:

c语言中格式化输入函数是什么_格式化数据c语言_格式化的语言

正确的版本输出

3.字符数据类型-char类型

char类型用于存储字符(例如字母或标点符号),因此char类型的变量的声明方式与其他类型的变量相同。 但实际上,char类型在程序中也被视为整型数据,所以如果在()中使用%d,则答案输出为90。这是因为大写的Z在ASCII码中存储为十进制的90 。 这很有趣。 如果读者有兴趣,可以尝试更多的输出方法或者声明方法。 例如,如果将 char 声明为 90 并尝试使用 %c 进行输出,则结果将为 Z。

char KingZsf;
char wca, ltcb;
char KingZsf = 'Z';   //通过初始化把字母A赋给KingZsf
printf("%c", KingZsf);   //输出结果为 Z
printf("%d", KingZsf);   //输出结果为 90

4. 总结

添加一些内容以便于记忆,包括第2章中没有详细介绍的\n(字符转义序列)

C语言数据类型关键字

关键字最初由 K&R 给出

C90标准添加的关键字

C99标准添加的关键字

整数

_Bool(布尔类型)

短的

空白

(复数)

长的

(虚数)

字符

漂浮

字符转义序列(粗体字体更常用)

姓名

转义序列

姓名

转义序列

换行符

\n

后备角色

\b

水平制表符

\t

垂直制表符

\v

撇号

\'

换页

\F

双引号

\"

问号

回车

\r

报警(响铃)符号

\A

反斜杠

\\

本章主要介绍程序的数据类型(整数、浮点和字符)。 对知识点和很多细节感兴趣的读者可以参考C语言参考书。 很多概念没有写详细。

如果有什么不足或者问题,欢迎大家指正。 也希望非IT专业的同学也能感受到C语言的魅力。 如果对您有帮助,请点赞并收藏!

[1]《C+》

标签: 类型 声明 变量

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码