C语言程序设计数据的表现形式以及运算
Posted 看花言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序设计数据的表现形式以及运算相关的知识,希望对你有一定的参考价值。
在计算机高级语言中,数据有两种表现形式:
常量和变量
在程序运行过程中,其值不能被改变的量称为常量
常量的分类
整型|常量
整数常量可以是十进制、八进制或十六进制的常量。
前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
如:10,0,-32,145,014,0XA4这样数据称为整型常量
038(错)——8进制数字不能含有超过8的数字
032uu(错)——后缀重复
实型|常量
① 十进制小数形式。当使用小数形式表示时,必须包含小数点,并且必须包含整数部分、小数部分,或同时包含两者。
如:123.45,0.145,-56.45等。
120f(错)——必须包含小数点
② 指数形式。当使用指数形式表示时,带符号的指数是用 e 或 E 引入的。e或E之前必须有数字,可以是整数或小数,且e或E之后必须是整数。
如:
.e86(错)——e前面没有数字
120e(错)——e后面没有数字
14e5.6(错)——e后面必须是整数
字符|常量
①普通字符:用单撇号括起来的字符。如:'c'。
②转义字符:特殊形式的字符,以字符“\”开头的字符序列。
关于ASCII码值的输出。
a:输入ASCII码值,输出相应的字符。
eg: int a=65;
printf(“%c”,a);
结果为A
b:输入字符,输出相应的ASCII码值。
eg: char a=’A’;
printf(“%d”,a);
结果为65
字符串|常量
字符串字面值或常量是括在双撇号 "" 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。
如:"ABC\nXY"
eg1: “I love you!” 占多少个字节?
答:占11个字节
eg2:”hello”占6个字节,包括\0字节;
但是strlen(”hello”)是5。
eg3: char aa[12]=”hello\0hello”;
printf(“%s”,aa);
输出的结果是“hello”。
符号|常量
这里使用#define指令,指定用一个符号名称代表一个常量。
如:#define PI 3.1416
在对程序进行编译前,预处理先对PI进行预处理,将所有的PI置换为3.1416
#define R(x) x+x
z=3*R(4);
这里宏定义起到一个替换的作用,所以z等于3*4+4,结果为16。
变量代表一个有名字的、带有特定属性的存储单元
变量定义
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表。定义的变量可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。
int i, j, k;
常变量
C99允许使用常变量,方法是在定义变量时,前面加一个关键字const。
常变量具有变量的基本属性:有类型,占存储单元。但是不允许改变其值。
如:const float pi=3.1416;
这里需要区别常变量与符号常量的区别
标识符
C语言的标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。
a.一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
b.C 标识符内不允许出现标点字符,比如 @、$ 和 %。
c.C 是区分大小写的编程语言。因此my_idea和My_idea是两个不同的标识符。
d.C中关键字是不可以作为标识符的。例如break,case,while.(关键字见下)
关键字总结 ▲
数据类型
我们在定义变量时需要指定变量的类型,所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式,不同的类型分配不同的长度和存储形式。
拓展
CPU能够读懂最小单位:比特位,bit ,b。
内存机构的最小寻址单位:字节,Byte ,B。
B——K——M——G。进制是1024。
一个字节占8个二进制位。
程序中,对数据进行加工处理,就要使用运算符
用运算符和括号将运算对象连接起来就是表达式
自增和自减运算符
++i: i=i+1(使用的i是+1后的i)
--i: i=i-1(使用的i是-1后的i)
i++: i=i+1(使用的i是+1前的i)
i--: i=i-1(使用的i是-1前的i)
强制类型转换
形式:(类型名)(表达式)
如:(float)(5%3)
(int)a
赋值运算符
形式:变量 赋值运算符 表达式
赋值运算符的左侧应该是一个可以修改值的“左值”,左值应当为存储空间并可以被赋值。
变量可以是左值,但是表达式和常量不可以是左值。
// 运算符优先级
数据的输入和输出
输出函数printf
printf函数:向终端输出任意类型的数据。
printf函数格式:printf(格式控制,输出列表)
a.格式控制:是用“”包括的一个字符串,它包括两个信息,一个是格式声明,由%加格式字符(附录8)构成。第二是普通字符,保持原样输出。
b.输出列表是需要输出的数据,可以是常量,变量或者表达式。
%d:输出有符号的十进制整数
%c:输出一个字符
%s:输出一个字符串
%f:输出一个单、双精度、长双精度的实数。整数部分全部输出,小数部分输出6位。
%m.nf:指定最短长度为m,小数部分长度为n。不够m的向右补齐,左边空
%-m.nf: 指定最短长度为m,小数部分长度为n。不够m的向左补齐,右边空
%e:小数部分占6位,指数部分占5位
%i:和%d一样。
%o:输出8进制整数
%x:输出16进制整数
%u:输出无符号型整数数据
%g:输出浮点型数据,系统自动决定选用%f还是%e形式输出。
输入函数scanf
(1)格式控制:是用“”包括的一个字符串,它包括两个信息,一个是格式声明,由%加格式字符(附录8)构成。第二是普通字符,保持原样输入。
(3)输入字符串时候,判断输入截止,enter键
①多个字符依次输入,就是每个字符按照%c的格式输出。可以输入空格、table、换行符。字符数足够时,enter键结束。
②字符串按照%s输入时,(空格、table、换行符不可以输入)没有输入,遇到enter不结束。enter也不录入。有输入字符,遇到空格、table,表示字符串str终止,依然可以输入,但是不再传给该字符串了。遇到enter键,结束。
以上是关于C语言程序设计数据的表现形式以及运算的主要内容,如果未能解决你的问题,请参考以下文章