C语言之旅(一)数据类型及其运算 *初学者适用*

C语言之旅

本系列文章旨在让新手更好更快的入门,所以讲的有些浅
各路大佬若有更好的建议或者发现我哪里写的不妥,欢迎评论和指正

一、第一个c语言程序

c由函数组成的,用函数来实现具体功能。(前人栽树,后人乘凉。)

main ()
{
printf(“hello everyone! \n”);//打印出hello everyone!
// 说人话就是让系统复读我在括号里写的这句话,当然,printf也可以复读很多东西,告诉我们码农希望我们做什么或者计算机按照程序和我们输入scanf的数值算出来的一些答案

}

main是主函数的函数名,表示这是一个主函数(老大)
每一个C源程序都必须有,且只能有一个主函数main函数(老大只能有一个)

函数词用语句,printf函数的功能是把要输出的内容送到显示器去显示
printf函数是一个有系统定义的标准函数,可在程序中直接调用

支持环境–microsoft visual c++/dev 等(自行下载并尝试上文第一个程序)
编辑。编译,连接和执行
编辑:编辑是将源程序输入到计算,修改源程序,将修改好的源程序,保存到磁盘条件
A 新建程序
B 保存程序(后缀名加.c)
编译:将已编辑好的源程序翻译成二进制的目标代码
错误:一定要改 警告:最好修改
右边一个按钮 或 Ctrl + F7

注:对程序的任何修改都要重新保存和编译
.obj(目标文件)

(下边这一段我也看不太懂,感觉没什么意义,就是正常的编译和执行,意会即可)
连接:将各模块的二进制目标代码进行系统标准模块经连接处理后,得到具有绝对地址的可执行文件
执行:执行一个经过编译和连接的可执行的目标文件

对于考二级的同学:
※本章考点和重点:c的调试步骤(必会)
难点:V的使用和程序设计语言的发展(自己捋一捋时间线,也不会考的很难)

第二章 数据类型及其运算

我先找了一个思维导图,不是我写的,我看着也不太满意,有时间我再重写一个吧。不过建议有点小基础的同学还是自己写比较好,加深记忆。
数据类型思维导图
补:我新写的思维导图,网盘自取,下载后使用MindMaster打开
链接:https://pan.baidu.com/s/17Wt3eCXuCQf3O10gPkTGAQ
提取码:7slt

数据类型无非就是
标识符 常量 变量
然后运算涉及到一个单精度双精度等问题。

一、标识符

一,定义:在c语言中,有许多符号命名都必须遵守一定的规则,将此规则命名的符号成为标识符
命名规则:
由字母,数字,下划线组成,且由字母或下划线开头

注意:C语言中大小写区分
(注意打代码时英文字母的大小写输入法的中英文符号,不必多说,这是新手易犯的低级错误。报错的时候先确定有没有这些低级错误的存在)
二,分类
1.关键字:系统预先定义—不能做其他使用
掌握:关键字的含义
Eg: int float double char if else for do等
上文八个标识符理解: 整型 浮点数 双精度 字符变量 条件语句(如果) 否则 循环 循环体

关键字

在这里插入图片描述

1.关于int

1)整型即整数,不能存在小数点
2)多种类型
早期的操作系统是16位系统,
int用二字节表示,范围是-215 ~ 215-1
long用4字节表示,范围是-231~231-1。(很明显long更牛逼)

但后来发展到32位操作系统,
int 可以用4字节表示了,与long相同。
目前的操作系统已发展到64位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:
32位编译系统:int占四字节,与long相同。
64位编译系统:int占四字节,long占8字节,long数据范围变为:-263~263-1(long还是更牛)
具体移步关于int、short int、long int、long long 的区别

short int类型(简写为short):占用空间可能比int少,常用于较小数值以节省空间。
long int类型(简写为long):占用空间可能比int多,常用于较大数值。
long long int类型(简写为long long):占用空间可能比long多,常用于更大数值的场合。
unsigned int(简写为unsigned):只用于非负值的场合。 在C90标准中,添加了unsigned long int(简写为unsigned long)和unsigned short int(简写为unsigned short)
在C99标准中,又添加了unsigned long long int(简写为unsigned long long)

2.关于float(单精度浮点数)和double(双精度浮点数)

浮点数其实就是二进制的科学计数法,每个浮点数都分成三部分——分数部分(Fraction),指数部分(Exp)和符号位(S)。

单精是single float,双精是double float。
float就是浮点数(也就是小数)
1、所占的内存不同
单精度浮点du数占用4个字节(32位)存储空间存储一个浮点数,包括符号位1位,阶码8位,尾数23位
而双精度浮点数使用 8个字节(64位)存储空间存储一个浮点数,包括符号位1位,阶码11位,尾数52位。
那么精度顾名思义,就是确定一个数的准确度。

单精度浮点数的数值范围为-3.4E38~3.4E38,而双精度浮点数可以表示的数字的绝对值范围大约是:-2.23E308 ~
1.79E308。

E表示10的多少次方,如3.4E38指的是3.4乘以10的38次方。

可见,双精度更精准地表达到小数点后两位,但数值范围相比单精度小了些。两者各有所长。
除此之外还有:
长双精度(long double型) 16个字节,有效数位为18位
long double 至少要和 double 一样精确

实型变量的定义的一般形式为
类型说明符 变量名说明符,变量名标识符,……;
Eg: float x,y;
Double p,q;

3.关于char

字符型 char 1个字节

  1. 字符变量的定义的一般形式为
  2. 类型说明符 变量名标识符 ,变量名标识符,……;
    eg:char c=’a’;
    int a=10;
    c+a=97+10=107
    注意:当把字符放入字符变量中时,字符变量中的值就是该字符的ASCII代码值,字符变量可以作为整型变量来处理,也可以参与整型变量的任何运算

if else for do 涉及后续的语句结构,将在不久后的文章一同介绍

二.预定的标识符:系统预先定义–没毛病的话别自己乱定义

掌握:预定义的含义

Eg:printf puts scanf gets putchar getchar等

上文5个标识符暂时理解为:打印 打印 输入 输入 输出字符 读取字符
scanf不能接受空格、制表符Tab、回车等;
而gets能够接受空格、制表符Tab和回车等;
(就是说在执行文件后的窗口控制台–小黑框 时,get是可以让我们输入上述键格的,而scanf不能,除此之外两者写法不同。别急,见下文)
再具体一点移步scnaf()和gets()用法和区别

printf和puts:
puts()在输出字符串时会将’\0’自动转换成’\n’进行输出,也就是说,puts方法输出完字符串后会自动换行。(没什么大区别)

关于读取和输出字符,我个人认为不是难点
浅谈putchar和getchar
putchar与getchar详解

3.自定义标识符:用户自己定义,必须要遵循规则
符号常量,变量,函数名,数组,指针,结构等,一般由字母组成

欲知后事如何,请看下一集
C语言之旅(二)转义字符的含义与自定义标识符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值