2e 4数据类型c语言,【每天学点C语言】菜鸟学习笔记,第四天:C数据类型笔记03,每日更新!...

本帖最后由 ql_zth 于 2015-2-9 20:27 编辑

这两天停更说明:首先,向各位等我更新的友友道歉,这两天由于客观原因没有更新→→客观?   我那一块区域的变压器可能由于使用太久于前天罢工了,直到今天下午才修好(我想如果不是围了几百人在那里,今晚可能继续无法更新!那个变压器在半年前就发生过爆炸,当时楼主以为在放烟火,,,汗),不废话了,开更!、、、

本次为字符篇(0本来想一次搞定,但贪多嚼不烂),学到这里,相信有的友友还是很迷糊,有点小担心:现在就不懂,以后我可以学好吗?。。。我想说的是,可以的!现在忘了没关系,这个本来就不是靠强记的,在以后的学习中用的多了自然而然就记住了!

加油!相信梦想的力量!(这是我知己和我说过的话,现在我赠送给大家自勉!)

#〓相〓〓〓〓〓信〓〓〓〓 〓〓未〓〓〓〓〓来〓#

↓      ↓         ↓       ↓

☆★☆   ☆★☆    ☆★☆   ☆★☆

☆ 梦 ☆ ☆ 想☆    =   ☆ 力 ☆ ☆ 量 ☆

☆★☆   ☆★☆    ☆★☆   ☆★☆

↓        ↓        ↓      ↓

把     握      自     己)

15.02.09,C数据类型笔记之字符篇

每天一点小知识:

程序查错:

当编译器报错时会提示在第几行,但实际错误往往在前一行!

一、  型数据舍入误差。

第二天·笔记·补充中·有说明·(其实就是精度问题)

二、字符型数据(这个楼主就不多说了,自己看吧)字符型数据是用单引号括起来的一个字符。例如:

'a'、'b'、'='、'+'、'?'

都是合法字符型数据。

在C语言中,字符型数据有以下特点:字符型数据只能用单引号括起来,不能用双引号或其它括号。

字符型数据只能是单个字符,不能是字符串。

字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如'5'和5 是不同的。'5'是字符型数据,不能参与运算。转义字符转义字符是一种特殊的字符。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各示例中printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。

常用的转义字符及其含义转义字符转义字符的意义ASCII代码

\n回车换行10

\t横向跳到下一制表位置9

\b退格8

\r回车13

\f走纸换页12

\\反斜线符"\"92

\'单引号符39

\”双引号符34

\a鸣铃7

\ddd1~3位八进制数所代表的字符

\xhh1~2位十六进制数所代表的字符

广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表中的\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字母"A" ,\102表示字母"B",\134表示反斜线,\XOA表示换行等。

【例3-8】转义字符的使用。#include

int main(void){

int a,b,c;

a=5; b=6; c=7;

printf(" ab c\tde\rf\n");

printf("hijk\tL\bM\n");

return 0;

}

字符变量字符变量的类型说明符是char。字符变量类型定义的格式和书写规则都与整型变量相同。例如:

char a,b;

字符变量在内存中的存储形式及使用方法每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。

如x的十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a、b赋予'x'和'y'值:

a='x';

b='y';

实际上是在a、b两个单元内存放120和121的二进制代码:

thread-329062-1-1.html

所以也可以把它们看成是整型量。C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。

整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。

【例3-9】向字符变量赋以整数。#include

int main(void){

char a,b;

a=120;

b=121;

printf("%c,%c\n",a,b);

printf("%d,%d\n",a,b);

return 0;

}

本程序中定义a,b为字符型,但在赋值语句中赋以整型值。从结果看,a,b值的输出形式取决于printf函数格式串中的格式符,当格式符为"c"时,对应输出的变量值为字符,当格式符为"d"时,对应输出的变量值为整数。

【例3-10】#include

int main(void){

char a,b;

a='a';

b='b';

a=a-32;

b=b-32;

printf("%c,%c\n%d,%d\n",a,b,a,b);

return 0;

}

本例中,a,b被说明为字符变量并赋予字符值,C语言允许字符变量参与数值运算,即用字符的ASCII 码参与运算。由于大小写字母的ASCII 码相差32,因此运算后把小写字母换成大写字母。然后分别以整型和字符型输出。

字符串字符串是由一对双引号括起的字符序列。例如: "CHINA" , “C program” , "$12.5" 等都是合法的字符串。字符串和字符不同,它们之间主要有以下区别:字符由单引号括起来,字符串由双引号括起来。

字符只能是单个字符,字符串则可以含一个或多个字符。

可以把一个字符型数据赋予一个字符变量,但不能把一个字符串赋予一个字符变量。在C语言中没有相应的字符串变量,也就是说不存在这样的关键字,将一个变量声明为字符串。但是可以用一个字符数组来存放一个字符串,这将在数组一章内予以介绍。

字符占一个字节的内存空间。字符串占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。

例如,字符串 "C program" 在内存中所占的字节为:

thread-329062-1-1.html

字符'a'和字符串"a"虽然都只有一个字符,但在内存中的情况是不同的。

'a'在内存中占一个字节,可表示为:

thread-329062-1-1.html

"a"在内存中占二个字节,可表示为:

thread-329062-1-1.html

补充:

1、二级考试考点

舍入误差例子:

1.0/3*3=1.000000

1   /3*3=0.000000

3/2=0.000000

计算代码方:#include int main(){printf("%f\n",3/2);    //其他的自己把3/2替换即可}

2、ASCII码表(对于这个,楼主表示不用全记,如视频说的那样记住A-Z和a-z,字符0-9)

第一部分:ASCII非打印控制字符表

ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。例如,12代表换页/新页功能。此命令指示打印机跳到下一页的开头。(参详ASCII码表中0-31)第二部分:ASCII打印字符

数字 32–126 分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。数字127代表 DELETE 命令。(参详ASCII码表中32-127)

ASCII码表0-127

BinDecHex缩写/字符解释

00000000000NUL(null)空字符

00000001101SOH(start of headling)标题开始

00000010202STX (start of text)正文开始

00000011303ETX (end of text)正文结束

00000100404EOT (end of transmission)传输结束

00000101505ENQ (enquiry)请求

00000110606ACK (acknowledge)收到通知

00000111707BEL (bell)响铃

00001000808BS (backspace)退格

00001001909HT (horizontal tab)水平制表符

00001010100ALF (NL line feed, new line)换行键

00001011110BVT (vertical tab)垂直制表符

00001100120CFF (NP form feed, new page)换页键

00001101130DCR (carriage return)回车键

00001110140ESO (shift out)不用切换

00001111150FSI (shift in)启用切换

000100001610DLE (data link escape)数据链路转义

000100011711DC1 (device control 1)设备控制1

000100101812DC2 (device control 2)设备控制2

000100111913DC3 (device control 3)设备控制3

000101002014DC4 (device control 4)设备控制4

000101012115NAK (negative acknowledge)拒绝接收

000101102216SYN (synchronous idle)同步空闲

000101112317ETB (end of trans. block)传输块结束

000110002418CAN (cancel)取消

000110012519EM (end of medium)介质中断

00011010261ASUB (substitute)替补

00011011271BESC (escape)溢出

00011100281CFS (file separator)文件分割符

00011101291DGS (group separator)分组符

00011110301ERS (record separator)记录分离符

00011111311FUS (unit separator)单元分隔符

001000003220(space)空格

001000013321!

001000103422"

001000113523#

001001003624$

001001013725%

001001103826&

001001113927'

001010004028(

001010014129)

00101010422A*

00101011432B+

00101100442C,

00101101452D-

00101110462E.

00101111472F/

0011000048300

0011000149311

0011001050322

0011001151333

0011010052344

0011010153355

0011011054366

0011011155377

0011100056388

0011100157399

00111010583A:

00111011593B;

00111100603C<

00111101613D=

00111110623E>

00111111633F?

010000006440@

010000016541A

010000106642B

010000116743C

010001006844D

010001016945E

010001107046F

010001117147G

010010007248H

010010017349I

01001010744AJ

01001011754BK

01001100764CL

01001101774DM

01001110784EN

01001111794FO

010100008050P

010100018151Q

010100108252R

010100118353S

010101008454T

010101018555U

010101108656V

010101118757W

010110008858X

010110018959Y

01011010905AZ

01011011915B[

01011100925C\

01011101935D]

01011110945E^

01011111955F_

011000009660`

011000019761a

011000109862b

011000119963c

0110010010064d

0110010110165e

0110011010266f

0110011110367g

0110100010468h

0110100110569i

011010101066Aj

011010111076Bk

011011001086Cl

011011011096Dm

011011101106En

011011111116Fo

0111000011270p

0111000111371q

0111001011472r

0111001111573s

0111010011674t

0111010111775u

0111011011876v

0111011111977w

0111100012078x

0111100112179y

011110101227Az

011110111237B{

011111001247C|

011111011257D}

011111101267E~

011111111277FDEL (delete)删除

第三部分:扩展ASCII打印字符

扩展的ASCII字符满足了对更多字符的需求。扩展的ASCII包含ASCII中已有的128个字符(数字0–32显示在下图中),又增加了128个字符,总共是256个。即使有了这些更多的字符,许多语言还是包含无法压缩到256个字符中的符号。因此,出现了一些ASCII的变体来囊括地区性字符和符号。例如,许多软件程序把ASCII表(又称作ISO8859-1)用于北美、西欧、澳大利亚和非洲的语言。

thread-329062-1-1.html

本节视频链接:

http://pan.baidu.com/s/1dDerTzN 密码:0emd

55fd2b2273b5a8b4531f72773c469d6e.gif

加油,相信梦想的力量!.jpg (39.05 KB, 下载次数: 16)

2015-2-9 20:23 上传

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值