c++中把一个函数中的语句复制到另一个语句中报错_想学好C语言—这两个C语言中的重要组成部分你知道吗?...

f909a92ed2b015c6b2c2b4cf7c6e32a5.png

:787190917

C语言常量和变量

对计算机来说,图片、文字、音乐、视频等都是数据,在计算机中以二进制的0和1存储,数据量越大,0和1就越多

数据分为静态数据和动态数据

我们编写程序的目的就是告诉计算机如何输入、处理、传输、存储和展示数据。

永久性的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的,电脑关机重启后依然存在。

程序运行过程中,动态产生的的临时数据,一般存储在内存中,软件退出或者电脑关机时这些临时数据会被清除。

为什么不把动态数据存放到硬盘?因为访问内存的速度访问硬盘快很多倍。但是,与硬盘相比,内存的存储空间比较小。

(1) 数据都是由二进制的0和1组成。

(2) 数据都会占用空间,静态数据占硬盘空间,动态数据占内存空间。

(3) 数据占用空间的最小单位是比特(bit)。一个1或者0就是一个比特,即1bit。

(4) 计算机中,以字节为单位存储数据。1字节=8比特(1Byte=8bit)。

(5) 1PB=1024TB,1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B,1B=8bit。

常量即常数,表示固定的数据。

(1)字符常量 如'6','a','F'(不能是中文,例如:'男',因为一个汉字和全角的符号占两个字节。)

(2)整型常量 如6,27,-299

(3)浮点型常量 如5.43,-2.3,5.67,6.0

(4)字符串常量 如"625","女","nanabc","西施"

如果数据的值是不确定的,或者经常需要改变,或者临时取值的,则用变量来存放。

常量是指具体的数据,变量是用于存放数据的容器,称呼上只差一个字,但不是兄弟关系,而是水与水桶的关系。

变量使用前必须先进行声明(或定义)。向系统申请一块内存空间给变量,用于存放数据。如果要定义多个变量向系统申请多块内存空间。

变量的定义,也称之为变量的声明,或定义变量,或声明变量,这些都是程序员的习惯叫法,实际上都是同一个意思。

定义整数型变量用关键字int,它是单词integer(整数)的缩写。

int ii; // 定义整数型变量,用于存放整数。

定义字符型变量用关键字char,它是单词character(字符)的缩写。

char cc; // 定义字符型变量,用于存放字符。

定义浮点型变量用关键字double,是一个完整的单词,双精度,很精确的意思。

double money; // 定义浮点型变量,用于存放浮点数。

在C语言中,没有“字符串”这个数据类型,而是用字符数组来表达字符串,并提供了丰富的库函数来操作字符串。

char name[21]; // 定义一个可以存放20字符的字符串。

各位先注意几个要点:

1) 如果要定义一个存放20个英文的字符串,数组的长度应该是20+1,原因以后再讨论。

2) 一个中文汉字或全角的标点符号需要两个字符宽度来存放。

例如name[21]可以存放20个英文字符,或10个中文字符。

3) 字符串不是C语言的基本数据类型,不能用“=”赋值,不能用“>”和“

变量名属于标识符,需要符合标识符的命名规范,如下:

(1) 变量名的第一个字符必须是字母或下划线,不能是数字和其它字符。

(2) 变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。

(3)变量名绝对不可以是C语言关键字。

关于变量的命名,为了便于理解,尽可能用英文单词或多个英文单词的简写,不要太长,太长了书写麻烦,如果英语不好,那就用中文拼英的第一个字母,例如身份证号码,cardid、userid都可以,sfzhm也行,不要怕被笑话,中国的程序员英语不好的多了去。

关键字也称为保留字,共32个,也就是说这些单词在C语言中有特别的含义,程序员不能把它用于变量或函数的命名。

auto :声明自动变量

break:跳出当前循环

case:开关语句分支

char :声明字符型变量或函数返回值类型

const :声明只读变量

continue:结束当前循环,开始下一轮循环

default:开关语句中的“默认”分支

do :循环语句的循环体

double :声明双精度浮点型变量或函数返回值类型

else :条件语句否定分支(与 if 连用)

enum :声明枚举类型

extern:声明变量或函数是在其它文件或本文件的其他位置定义

float:声明浮点型变量或函数返回值类型

for:一种循环语句

goto:无条件跳转语句

if:条件语句

int: 声明整型变量或函数

long :声明长整型变量或函数返回值类型

register:声明寄存器变量

return :子程序返回语句(可以带参数,也可不带参数)

short :声明短整型变量或函数

signed:声明有符号类型变量或函数

sizeof:计算数据类型或变量长度(即所占字节数)

static :声明静态变量

struct:声明结构体类型

switch :用于开关语句

typedef:用以给数据类型取别名

unsigned:声明无符号类型变量或函数

union:声明共用体类型

void :声明函数无返回值或无参数,声明无类型指针

volatile:说明变量在程序执行中可被隐含地改变

while :循环语句的循环条件

C语言的关键字无需背诵,如果你程序用不小心用了关键字给变量命名,编译时会报错,用多了就熟悉了。

在main函数内部定义的变量称为局部变量,局部变量被定义后,系统不会对其初始化,你必须写程序对其初始化。

对整数型、字符型、浮点型变量来说,初始化就是给它们赋0值。

可以在定义的时候立即初始化。

int ii=0; // 定义整数型变量并初始化

char cc=0; // 定义字符型变量并初始化

double money=0; // 定义浮点型变量并初始化

也可以先定义,然后再初始化。

int ii; // 定义整数型变量

char cc; // 定义字符型变量

double money; // 定义浮点型变量

ii=0; // 初始化ii为0

cc=0; // 初始化cc为0

money=0; // 初始化money为0

对字符串变量来说,初始化就是把内容清空。

char name[21]; // 定义一个可以存放20字符的字符串

memset(name,0,sizeof(name)); // 清空字符串name中的内容

注意了,字符串变量的初始化与其它类型不同,要用memset函数,先不要问为什么,就这么抄,以后再解释,你也不必花时间和精力去研究,没有必要浪费时间。

变量初始化是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果。

未初始化的变量会导致在内存中可能有垃圾值。

示例(book9.c)

a782a2f5a37c825151b84e7ebd4e1bfa.png

:787190917

运行结果

04e51f155d082adb8083f19d2a27200e.png

:787190917

示例(book10.c)

8c7726cae3a20eca65f79f94d92eb5a2.png

:787190917

运行结果

7099b1357fab1f1faa4a523e146987c4.png

:787190917

大家注意,在上图中,变量值被清0,没有任何垃圾值。

把常量的值赋给变量:

ii=10; // 整数型变量赋值10

cc='A'; // 字符型变量赋值'A'

money=1500.87; // 浮点型变量赋值1500.87

strcpy(name,"西施"); // 对字符串变量赋值"西施"

把变量的值赋给变量:

int ii1=ii; // 定义变量ii1并把ii的值赋给它

char cc1=cc; // 定义变量cc1并把cc的值赋给它

double money1=money; // 定义变量money1并把money的值赋给它

char name1[21]; // 定义字符串变量name1

strcpy(name1,name); // 把name的值赋给name1

注意了,字符串变量的赋值与其它类型不同,不能用=号,要用strcpy函数,先不要问为什么,就这么抄,以后再解释,你也不必花时间和精力去研究,没有必要浪费时间。

示例(book11.c)

9f5a20cb6013058ef0ab973444e13684.png

:787190917

运行结果

d100491192ce8a081fbb3561141aa459.png

:787190917

定义多个变量有以下方法。

int ii;

int jj;

也可以书写为一行,如下:

int ii,jj;

整数、字符和浮点型变量可以用一个语句对多个变量赋相同的值,如果要赋不同的值,只能用多条语句了。

ii=jj=10; // 对ii和jj赋相同的值10

ii=jj=30; // 对ii和jj赋相同的值30

ii=10; // 对ii赋值10

jj=30; // 对jj赋值30

不论值是否相同,一条语句只能对一个字符串变量变量赋值。

strcpy(name,"西施"); // 对字符串变量name赋值"西施"

strcpy(name1,"西施"); // 对字符串变量name1赋值"西施"

strcpy(name,name1,"西施"); // 这是个天才的想法,但行不通,不符合strcpy函数的语法。

const 是 constant 的缩写,意思是“恒定不变的”!它是定义只读变量的关键字,或者说 const 是定义常变量的关键字。用 const 定义常变量的方法很简单,就在通常定义变量时前面加 const 即可,如:

const double pi = 3.1415926;

用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值,如果程序中试图改变它的值,编译的时候就会报错。获取C语言、C++、Windows高级编程,MFC框架编程、QT框架编程,Linux应用程序开发,Linux内核研究等系统学习路线,更有进阶干货的直播免费学习权限 ,都是大牛带飞 让你少走很多的弯路的

示例:

765020faff9dbff9fcf4c8661f1a3778.png

:787190917

本章节介绍的是一些基本概念,各位只要理解了这些概念就行了,编写示例程序,把本章节介绍的知识点全部演示一遍,用程序演示可以加深你的理解和映象。

还有一个注意事项,由于C语言很多知识点是交叉的,如果课程中出现的内容是没有介绍的知识点,各位照抄就行,不要去纠结它的细节,以后在合适的时机会介绍它。例如程序中的#include 、#include 和printf函数。

说在前面:小伙伴们在学习的过程中难免会遇到很多的困难,有的是初学不知道如何入手,亦或是想要继续提升自己,小编为了帮助大家解决学习问题,大家可以点击上方我的头像私信我发送:“学 习”两个字,我将会针对性的帮助解答你学习上的问题和发送你学习资料哦,大家一起进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值