谭浩强C语言知识总结第三章

第三章:

3.2常量与变量

1.常量:

常见常量有以下几类:

  1. 整型常量,就是我们平时所说的整数,如:90,23,1,等
  2. 实型常量,实型常量还可以继续细分成两类。一类是十进制小数形式,由数字和小数点组成,如:123.456、0.3232。另一类是指数形式,如:12.34e3,代表着12,34×103 。注意,由于计算机在输入或输出时,都无法表示上角或下角,所以规定以字母e或者E代表以10为底的指数。注意,e或E之前必须有数字,且之后必须为整数。不能写成e4、12e2.5。
  3. 字符常量,字符常量也有两种
    • 普通字符,用单引号‘’引起来的一对字符,如‘a’,‘b’等等,但是注意,只能单引号里面只能有一个字符,而且单引号只是界限符,字符常量不包括单引号。‘a’与’A’是不同的两个字符常量,字符常量在计算机的存储过程中并不是直接存储字符的,而是以一种代码的形式进行存放的,这种代码一般都是ASCⅡ码,例如:字符‘a’的ASCⅡ码是97,字符‘A’的ASCⅡ码是65.
    • 转义字符,C语言允许有用一种特殊的字符常量,他们在C语言中有着重要的作用。转义字符通常以“\”开头,另外再附带一个字符,如\n,\a,\t,等等。下表是几种常见的转义字符及其作用。
  4. 字符串常量,如”boy”,”123”,字符串常量就是用一个双引号把若干个字符括起来,字符串常量是双引号内的全部字符,当然,不包括双引号。注意一定是双引号,不是单引号。
  5. 符号常量,用#define指令,可以指定用一个符号来代表一个常量,如#define pi 3.14,这种类型就是在编译时进行简单的替换,将pi替换成3.14进行一系列运算。而且符号常量不占内存,只是一个临时的符号,代表一个值。

2.变量

首先就是变量的一些知识。C语言中,变量必须先定义后使用,定义时应该指明一个变量的类型和名称,类型就是如前面提到的一些,整形,浮点型等等。

而且用户自己在定义一个变量时,应该遵循一些规则:变量名由标识符表示,只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。除此之外,用户自定义的标识符不能和系统的关键字冲突,如:不能有以int、for、while为名字的标识符。以下几个例子就是错误的例子:     M.D.Jess  , 1add ,age& , 5th, cd*ef ,int。

3.标识符

通常,我们将变量,符号常量,数组,函数,类型等命名的有效字符序列成为标识符,标识符就是一个东西的名字,标识符的命名应遵循以下规则,只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。除此之外,用户自定义的标识符不能和系统的关键字冲突。

4.数据类型

基本类型:int,  long  ,short  ,  long long  char  bool  float double

枚举类型enum 空类型void

派生类型:指针类型,数组类型,结构体类型,共用体类型,函数类型

详述

Int整型,从-32768~32767,数字如果太大,用long或者long long,实在不行,考虑数组

字符型,不是所有字符程序均可自动识别,但是ASCⅡ码均可识别,几个常见字符的ASCⅡ码值如下,‘A’是65 ‘a’是97 ‘0’是48,

浮点型:单精度float与双精度double单精度是6位有效数字,双精度是15位有效数字

变量小结:整形一般用int,浮点型用double,ASCⅡ码表里的字符可以对应一个数字

3.3运算符与表达式

以下是C语言中常见的运算符:

  1. 算数运算符(+ - * / % ++ --)

%为取余,求余数。%运算符要求算子必须均为整数,如8%3,结果是2

而且两个整形做除法,结果仍是整形,如5/3,在计算机中结果是1,但是如果是5/3.0,结果就是1.666,整数相除只保留整数部分,不会做四舍五入

++自增运算符--自减运算符,这两个运算符的操作对象都是变量,注意以下几个式子的的区别。如:i++,++i,i--,--i,假如说i的初值是1那么i++ 的意思就是在使用i的值之后再对i的值加1,++i,的意思就是在使用i的值之前使i加1,i--,--i,同理。

自增自减常用于循环和指针变量中,用于指向下一个地址

附:

常见运算符的优先级:

                     

  1. 关系运算符(<  >  ==  >=  <=  !=)==判断是否相等  !=是不相等
  2. 逻辑运算符(! && ||)!逻辑非  &&且  ||逻辑或
  3. 位运算符(<< >> ~ | ^ &)
  4. 赋值运算符(=)把等号右边的值交给等号左边的变量
  5. 条件运算符(?:)a>b? a:b判断a是否大于b,如果成立结果是a,不成立结果是b
  6. 逗号运算符(,)
  7. 指针运算符(*   &)*在这里是取内容运算符,&在这里是取地址运算符
  8. 求字节运算符(sizeof)可以求出某种类型的变量或者是某个变量所占的字节数
  9. 强制类型转换运算符((类型)),进行一些类型的转换
  10. 成员运算符(.  ->)在结构体那章里会重点使用
  11. 下标运算符([ ])在数组哪里会使用
  12. 其他(如函数调用运算符())

3.5数据的输入和输出

利用printf和scanf进行输入输出时,应当注意使用#include<stdio.h>这个预编译指令,

  1. 利用printf进行一些输出,应采用以下格式。printf(格式控制,输出表列);
    • 格式控制是用双引号引起来的字符串,叫做格式字符串,格式声明就是%和格式字母,如%d %c等。常见的格式声明%d输出有符号的十进制整数,%o输出八进制无符号形式的整数,%x以16进制无符号形式输出一个整数,%u输出无符号的十进制整数%c以字符形式输出,之输出一个字符,%s输出一个字符串 %f输出浮点数6位小数,不论单精度还是双精度,%e以指数形式输出实数
  2. 利用scanf进行一些输入
    • 输入一个int scanf(“%d”,&a);
    • 输入一个long scanf(“%ld”,&a);
    • 输入一个浮点数 scanf(“%lf”,&a);
    • 输入一个字符变量 scanf(“%c”,&a);
    • 输入一个字符串 scanf(“%s”,a);

注意:字符串这里不用加&,上面其他都得加&;因为在C语言里面,没有字符串变量,都是利用字符数组来存储字符串的,但是字符数组的数组名就是内存首地址,就不用加上取地址符&了。但是scanf在读取字符时,遇到空格就结束了。而且双引号里面怎么写,键盘上就怎么敲。scanf(“%d%lf”,&a,&b);二者之间不需要加空格,

如:
scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);在输入时就应该注意要想让abc三个变量得到相应的值就应该输入相同的内容,也就是a=1.2,b=2.3,c=3.6连逗号都不能省略。

scanf(“%c%c%c”,&a,&b,&c);中间没有空格,abc三个变量得到相应的值就应该输入三个连续的字符,就abc。插入空格就不对了

  1. 用putchar输出一个字符

Putchar(c)就是输出字符c

  1. 用getchar输入一个字符

getchar(c)就是从键盘上获得字符变量c的值,但是一个getchar只能获得一个字符变量的的值,想输入多个字符就用多个getchar即可。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值