C语言的入门学习(下)

​​​​目录

一、注释

二、关键字

三、数据类型

四、变量和常量(初识)


一、注释

注释:用于注明解释一行或一段代码作用的一种方法

为什么要注释?首先,代码一方面是给自己看的,对于一个工程量庞大的程序来讲,注释可以让自己更清晰的理解并记忆代码的意义,或者之后自己回顾代码时,注释可以快速帮助你回忆起来;其次,代码在另一方面上也需要给其他人看,一个好的程序一定有必要的注释,帮助他人快速理解你的想法,有助于与他人专业知识及编程思路的交流。

在C语言中,博主星客用到的有两种注释方式:

单行注释

第一种,单行注释,也是最常用的一种注释方式,用于解释代码语句的作用,思路。

bc9a1b98fd334909b620d0cb3255f4fe.png

段落注释

第二种,段落注释,也很常用,经常用于注释代码段,使不必要的代码不参与编译。

f1aecaf9df194794ac007bc74afe330e.png

这只是博主的使用习惯,大家可以根据自己情况选择合适的注释方式和用途。注释也没有很多要说的了,就先到这里咯。


二、关键字

C语言标准定义的32个关键字可以分为如下四类:

6bad6eb502b64a98b9d78efd0ea09ad5.png

1.数据类型关键字a18918c42aff4e10bcb26d607a971001.png

其中对于前期初学者常用char double float int 做练习使用,后面也会经常用到struct,而void顾名思义是空类型,多用于定义和声明函数时使用。其次数据类型常常与其所占字节数所挂钩。最有争议的是int 类型,但有一点功底的人都知道它的大小是跟机器有关的,感兴趣的可以查看其它文章。如果你想知道自己的机器的int 类型占几个字节的话,可以使用sizeof运算符查看。

# include <stdio.h>

void main()
{
	printf("char类型变量大小为%d字节\n",sizeof(char));
	printf("short类型变量大小为%d字节\n",sizeof(short));
	printf("int类型变量大小为%d字节\n",sizeof(int));
	printf("long类型变量大小为%d字节\n",sizeof(long));
	printf("float类型变量大小为%d字节\n",sizeof(float));
	printf("double类型变量大小为%d字节\n",sizeof(double));	
}

博主的运行结果是:

3de9e0989ff047f2beaf66e2cecf144f.png

2.控制语句关键字

①循环语句666337765ee94038a54f04c90558b491.png

②条件语句af520fb17c0649f884dcba28feced7b2.png

PS:goto一般不建议使用,因为它会使程序混乱,逻辑不够清晰,简短的程序可以用一下玩一玩。而if else常搭配使用,当然if也可以单独使用,这就是典型的单分支语句,后面再讲,今天主打一个了解认识,后面忘了也可以再过来看看。使用时特别要注意悬空else问题,有兴趣可以看看别的文章,上网查一查。

③开关语句013f79f19bb94b49acc9847be4ee12a8.png

PS:switch、case组合语句可以看作为if、else语句的加强版。后者适用于二分支或嵌套较少的分支,前者则在面对多分支情况时有更高的效率。而且最主要的区别是switch语句的判断条件限制大,没有if else用起来灵活,但在一些情况下是非常好用的,这个我们后面讲条件分支语句的时候再说。

④返回语句680e220b86e2401a8e09a91f9fcd764d.png

PS:return用于终止一个函数,并返回其后面跟着的值。

3.存储类型关键字

04a9ce725db8466f9426ffebd408e52f.png

PS:这里博主要告诉大家static有许多相关的知识点哦,以后学习要重点掌握。extern也有了解的必要。register和auto仅供了解即可(也可能是博主也是刚刚学习的缘故,还没有应用的地方,相信后面学C++的时候一定可以了解的更为清晰)

4.其他类型关键字

d60b327e7d4c4890990f67e0b5fee9ab.png

PS:其中sizeof其实是一个运算符,上面我们也用了,千万不要当成函数哦,概念要分清。const作用是将一个变量当作常量对待,被const修饰的变量的值不能被改变。typedef的作用是起别名,后面讲结构体的时候用起来会非常舒服。

最后,博主给大家把32个关键字放在这里,想了解的可以参考其他文献深入学习。

a6df6563e5f54010addfcb564856b2b6.png


三、数据类型

上面我们讲关键字的时候也对数据类型有了一定的认识。

int:存储整型变量,存储数据范围略过;

float:存储单精度浮点型变量,存储数据范围略过;

double:存储双精度浮点型变量,存储数据范围略过;

char:存储字符型变量,存储范围略过;

short:短整型;long:长整型;(特殊情况下会有long long);

struct:构造结构体类型,可以由上面的基本类型或指针类型或综合使用,构建出一个新的数据类型, 一般情况下,结构体所占内存大小是其成员所占内存之和。但空结构体的内存大小在不同编译器里有0有1,读者可以试一试。。另外typedef 可以为数据类型的关键字起别名。例如:

#include <stdio.h>

int main()
{
    typedef int myINT;
    myINT a=10; //等价于int a=10;
    return 0;
}

signed 和 unsigned用于修饰整数类型,signed一般省略不写,而被unsigned修饰后,数据的无法存储负数,但正数范围上限会被扩大一倍。另外,char共有三种不同的类型:char、signed char、unsigned char。char类型是真正的字符类型,用来声明字符;而signed char和unsigned char是用来声明数值的。因此不要将三者混用。

C语言全部占位符

%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:已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中。
%0:八进制整数。
%p:指针。
%s:字符串。
%u:符(unsigned int)。
%x:十六进制整数。
%zd: size_t类型。
%%:输出一个百分号。

 C语言常用占位符

%c:字符。
%d:十进制整数。
%i:整数,基本等同于%d。
%f:小数(包含 float 类型和 double类型) 。
%hd:十进制 short int型。
%ho:八进制 short int型。
%hx:十六进制 short int类型。
%Lf: long double类型浮点。
%0:八进制整数。
%p:指针。
%s:字符串。
%u:符(unsigned int)。
%x:十六进制整数。
%%:输出一个百分号。

四、变量和常量(初识)

变量:能储存计算结果或者表示值或其他数据的一种抽象概念。变量在计算机中其实是内存,对应有变量名和地址,这也正是我们操作内存的两种方式,通过变量名访问,通过地址访问。

当然,初学变量,就简单的理解为可改变的量。

#include <stdio.h>

int main()
{
    int a;//定义一个变量,即在内存中开辟一段空间,变量名为a,地址为&a,存储数据类型为整数
    a=10;//为a赋值为10,该内存中存储的数据就是10
    a=20;//为a赋值为20,内存原存储数据10被新数据20覆盖
    
    //改变存储的数据就是“变”量的”变“
    return 0;
}

常量:不能被改变的一种数据。有以下几种常见常量类型:

#include <stdio.h>
#define NULL 0


int main()
{
    const double pi=3.14;

    NULL=1; //error,NULL为宏定义常量,不可以被改变
    pi=5.21;//error,pi是被const修饰的double型常量,const即不变的,不变的变量即是一种常量
    //另外,1,2,3,4,5等也是常量,不可以被改变,比如下行代码演示
    5=3;//error,这明显就是错误的
    return 0;
}

通常宏定义常量更为常用,但也不乏有些情况使用const也很合适

#include <math.h>//包含一些数学相关函数的头文件

void main()
{
    const double pi=acos(-1);
    //此时pi=3.1415926...,当然宏定义也可以实现,但个人习惯了这样使用,嘿嘿
}

另外,数据类型在计算机中的存储方式在此处不做过多介绍,但是博主可以告诉大家一些东西作为提前了解。(类型转换时的截断存储方式,精度丢失问题等等,还有许多啦,自己去查查吧)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值