百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

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

yund56 2025-05-24 22:06 10 浏览

继续第二章之后的学习,上一章学习认识了一些最简单的C程序。第三章将基于C的数据类型进行笔记学习,和之前一样本文还是已一个重新学习角度去认识C语言,所以文中只会引用到需要数据类型介绍。不会像其他C语言教程中直接将所有类型都堆积上(在最后总结部分列出来了仅供参考)。

学习参考书籍《C Primer Plus》

1,数据类型

1.1,int类型(整型)

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

之前在第一章和第二章中都是用声明int的操作:

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

但是以上都只是声明变量类型并没有给变量赋值,赋值方式可以使用a = 3;或是以后章节会介绍输入方式(scanf())的方式给变量赋值。C语言把不含小数点和指数的数作为整数。所以说,24和-56都是整型常量,但是24.0和2.2E1则不是整型。

1.2,输出(打印)int值

使用printf()函数打印int类型的值时使用%d来表示打印整数的位置。%d称为转换说明,它指定了printf()应使用什么格式来显示一个值。格式化字符串中的每个%d都与待打印变量列表中相应的int值匹配。就比如下列来自第二章程序中的printf():

printf("a与b的乘积c = %d\n",c);

特别注意,如果在printf()中缺少参数(也就是说没有给%d提供任何值的话),那么程序就会打印程序(内存)中的任意值。比如下列操作:

printf("a与b的乘积c = %d\n"); //缺省参数

那么输出结果将会是:

a与b的乘积c = -1163170912

1.3,float和double类型(浮点型数据类型)

在1.1介绍了整型,也就是不包含小数点类型。那么带小数点的数据类型就是使用float和double,所以在写程序的时候根据需求声明,这两种浮点类型主要区别在于它们的取值范围,如下表所示:

类型

比特数

有效数字

数值范围

float

32

6-7

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

double

64

15-16

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

在C语言程序中声明浮点型变量以及赋值方式(与之前整型的赋值方式大同小异):

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

1.4,输出(打印)float和double值

与整型int不同的是printf()函数使用%f转换说明打印十进制记数法的float和double类型浮点数。在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 <stdio.h>
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;
}

输出的结果为:

其实是可以看出问题均出现在了最后的输出环节(printf())中:第九行中变量过多、第十行中变量过少、第十一行由于f和g声明数据类型为浮点型,所以在输出时应该使用%f来表示输出浮点型变量值。所以正确版本应该是:

#include <stdio.h>
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;
}

这样输出结果为:

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

char类型用于存储字符(如,字母或标点符号),所以char类型变量的声明方式与其他类型变量的声明方式相同。但其实char类型在程序中也算是一个整型数据,所以如果在输出printf()中使用%d的话,答案输出为90,这是因为大写的Z在ASCII码中十进制存储是90。比较有意思,读者如果有兴趣可以多尝试一些输出方式或者声明方式,比如将char KingZsf声明为90输出尝试使用%c同样得出结果是Z。

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

4,总结

补充一些内容便于记,包括在第二章没有详细介绍的\n(字符转义序列)

C语言的数据类型关键字

最初 K&R 给出的关键字

C90标准添加的关键字

C99标准添加的关键字

int

signed

_Bool (布尔型)

short

void

_Complex(复数)

long


_Imaginary(虚数)

unsigned



char



float



double



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

名称

转义序列

名称

转义序列

换行符

\n

回退符

\b

水平制表符

\t

垂直制表符

\v

单引号

\'

换页符

\f

双引号

\"

问号

?

回车符

\r

报警(响铃)符

\a

反斜杠

\\



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

如有不足或有疑问欢迎各位大佬们指正,同时也希望非IT专业的小白们能感受到C语言的魅力。如果对你有帮助的话点赞收藏哦!


[1] 《C Primer Plus》

相关推荐

分享|最美色彩!40张纯迷彩高清原图壁纸送给你

最美的色彩是什么?对于军人来说是迷彩那是青春的本色是理想、使命的颜色40张纯迷彩高清原图壁纸送给你so快来收图!!军报记者微信发布作者:剑客小吉;编辑:王旭;编审:曲延涛;投稿邮箱:jfjbwx@16...

你还在用百度搜图?推荐5个图片素材库,你要的图片都有!

自媒体运营人每天都需要进行内容创作,所以少不了图片、视频、文案素材等,那么这些自媒体素材哪里找呢?今天,就给大家分享5个图片和视频素材库,文案素材下期再给大家详细介绍。图片和视频素材现在已经是做短视频...

《2》图片原创无版权素材

粉樱于雨中轻轻摇曳,花瓣飘呀飘的,落在小径上、湖面上,将世界晕染成柔和的粉色。雨滴似银线,串联起天空与湖水,古亭在一旁静静凝望,连空气都透着甜意。我们一直在寻觅“诗意”的模样,原来就是这般——有落花纷...

太美了!100个令人窒息的绝美风景摄影照

全网最全的图片素材网站分享!任意下载!值得收藏!

自媒体时代,很多内容创作者都需要高清的图片资源。因为图片不清晰会带来不好的用户体验~众所周知,从网上下载的图片一般都是有版权的!如果你直接下载使用,可能会有侵权的风险!今天为了帮助大家解决图片问题,今...

中秋节素材(海报+插画)!绝景良时难再并

部分预览随机选取中秋节素材(海报+插画)(仅供会员下载)...

10张早上好美图,早安祝福语和祝福图片选集

每天准时分享接收:早安问候图片、漂亮的早安图片、问候祝福语、动态聊天表情包等等每日的祝福准时送达,愿你用满满的正能量开启新的一天。美满,是日常的点点汇聚;情谊,是时光的悠悠长卷;一声招呼,穿越五湖四海...

晚安心语正能量经典素材带图片,让你一见倾心

一、没事的,每个人大概都会经历一些情绪崩溃或者极端的时刻,会好的,会熬过来的。二、以后,只对两种人好,一种是对我好的人,一种是懂得我的好的人,一个人的温暖也是有限的啊,一点都不能浪费。三、要钱,就要努...

太厉害了,52种科幻画主题创意素材,极其脑洞大开,科技创新未来

图片来自网络,仅作分享,如有侵权请联系删除哦...

综合绘画素材—29张冬天主题绘画素材,一起来画你心中的冬天呀

图片来自,仅作分享,如有侵权请联系删除哦...

20张彩色线描装饰画素材!一起欣赏线条带来的艺术美呀!

图片来自网络,仅作分享,如有侵权请联系删除哦...

国外的免费素材网站!这3个大神私藏款,你还没用过?

做PPT没素材?去网上找了半天,浪费时间不说,大部分还收费,等于白忙活!不少小伙伴也问我有没有免费好用的素材网站,这不就来了。今天和大家分享3个国外的素材网站,关键是免费又高质量。不管是PPT设计还是...

8个高清无版权的图片资源网站,质量高又免费,够你用一辈子

很多时候我们找素材总是要花费很多时间,今天就给大家分享8个,高清无版权的图片资源网站,质量高又免费,够你用一辈子。01*Logosc链接:https://www.logosc.cn/so/这是一个免版...

100种超萌手帐素材简笔画,小白看一遍也能学会

手帐素材集中营:天气、美食、植物花草、动物、人物、乐器都在这里。一次画个够,转存轻松做手帐~爱画画,爱生活~...

超治愈萌系手帐素材大全 美食旅游花草人物花边都备齐了

现代人每天都生活在一个充满焦灼感的空气中,成年人的世界里,每个人都不容易。不论是生活还是工作,都充满了各种挫折。很少有人能一帆风顺,为学习、为工作、为家庭、为感情、我们总会在坎坎坷坷中成长,难免会觉得...