C语言共用体实现整数把字符串转换成整数ASCII码字符

以下试题来自:
填空题已知字符A的ASCII码值为65,以下语句的输出结果是 【6】 。
char ch=’b’;
printf("%c%d\n",ch,ch); B66
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 关系2.填空题 事务分析设计3.填空题 外模式4.填空题 线性结构5.填空题 循环
热门相关试卷
最新相关试卷您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C语言程序设计与应用教程-严桂兰.pdf 434页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
福建省高校计算机系列教材
C语言程序设计
与应用教程
主 编 严桂兰
编写者 (以姓氏笔画为序)
厦门大学出版社
图书在版编 目(CIP)数据
C语言程序设计与应用教程/严桂兰主编一 厦门:厦门大学出版社,2001.8
.C... I.严… I.C语言一程序设计一水平考试一教材 IV.TP312
中国版本图书馆CIP数据核字(2001)第 。34265号
厦门大学出版社出版发行
(地址:厦门大学 邮编:361005)
xmup@public.xm.fj.en
福建沙县方圆印刷有限公司印刷
2001年8月第I版 2003年3月第3次印刷
开本 :787X 印张:27.5
字数:700千字 印数:册
定价:38.00元
本书如有印装质量问题请直接寄承印厂调换
福建省一批资深的教师,他们长期从事着c语言教学与科研,又多年参加福建省c语言
二级等级考试命题,对c语言的内涵、规律有着独到的见解,他们根据 自己的经验,以研讨学
术的态度编写了本书。
在书的内容组织上,除按常规讲授c语言的基本、一般的内容外,还依逻辑思维方式将内
容归类,如在数组、指针、函数的基本内容之后,开设一章来描述三者的简单应用;为了拓宽知
识面,本书讲授了图形、调用中断方面的基本应用 ;为了上机需要,本书在有关章节安排了上机
步骤、程序调试与出错信息;最后,还对vc十+作了简单介绍,它将c与vc+十连贯一气,顺
理成章。本书在同类书中具有全面、应用性强、概念清晰等诸多特点。
本书可作为大专院校计算机与其他各类专业的教材,同时,也可供各行各业从事计算机工
作的人员使用。
.JJ ‘ ‘曰.‘
我们受福建省计算机等级考试指导委员会的委托,编写一本结合我省具体情况的c语言
教材。虽然我们长期从事着C语言的教学与科研工作,又多年参加福建省c语言二级等级考
试的命题,对c语言的内涵、规律的掌握有着一定优势,但要做到“统观全局,展望未来”、“深
入浅出,突出实用”却不是那么轻松的。我们根据 自己的经验,以研讨学术的态度,认真吸取各
家的长处,利用集体的智慧,尽量以最好的质量来回报福建省各高校师生及广大读者。
首先,我们全面展开c语言的各知识点,但侧重不一。核心部分仍为 “数组、函数、指针”,
它们既是本书的重点,也是本书的难点。我们本着复杂问题简单化、简单问题实用化的思路,在
除讲授数组、指针、函数的基本内容之外,还专门开设第七章来描述三者的简单应用,以让读者
进一步掌握。
其次,我们以层层深化的写法,将各章节的本质与内涵呈现在读者的面前。因此,本书的另
一特点就是层次分明,描述细化。
C语言是一门实践性很强的、且十分灵活的高级程序设计语言,其上机环节十分重要,为
此,我们对上机步骤、程序调试等方面的内容作了具体章节安排,以突出其作用。
为了拓宽知识面,本书讲授了图形、调用中断并对C++进行了简单的介绍,这些内容并
不是教纲所要求的,
正在加载中,请稍后...C程序设计(第五版)_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
C程序设计(第五版)
本词条缺少概述,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
C程序设计(第五版)
作者:谭浩强
定价:39元  印次:5-3  ISBN:7  出版日期:  印刷日期:
根据C语言的发展和计算机教学的需要,作者在《C程序设计(第四版)》的基础上进行了修订,使内容更加完善,更易于理解,更加切合教学需要。本书按照C语言的新标准C 99进行介绍,所有程序都符合C 99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻、全面而深入;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学和组织教材;
第1章程序设计和C语言11.1什么是计算机程序1
1.2什么是计算机语言1
1.3C语言的发展及其特点3
1.4最简单的C语言程序5
1.4.1最简单的C语言程序举例5
1.4.2C语言程序的结构9
1.5运行C程序的步骤与方法11
1.6程序设计的任务13
第2章算法——程序的灵魂15
2.1程序=算法+数据结构15
2.2什么是算法16
2.3简单的算法举例17
2.4算法的特性20
2.5怎样表示一个算法21
2.5.1用自然语言表示算法21
2.5.2用流程图表示算法21
2.5.3三种基本结构和改进的流程图25
2.5.4用N?S流程图表示算法28
2.5.5用伪代码表示算法31
2.5.6用计算机语言表示算法32
2.6结构化程序设计方法33
第3章最简单的C程序设计——顺序程序设计37
3.1顺序程序设计举例37
3.2数据的表现形式及其运算39
3.2.1常量和变量39
3.2.2数据类型42
3.2.3整型数据44
3.2.4字符型数据47
3.2.5浮点型数据49
3.2.6怎样确定常量的类型50
3.3运算符和表达式51
3.3.1C运算符52
3.3.2基本的算术运算符52
3.3.3自增(++)、自减(--)运算符53
3.3.4算术表达式和运算符的优先级与结合性53
3.3.5不同类型数据间的混合运算54
3.3.6强制类型转换运算符55
3.4C语句56
3.4.1C语句的作用和分类56
3.4.2最基本的语句——赋值语句58
3.5数据的输入输出64
3.5.1输入输出举例64
3.5.2有关数据输入输出的概念65
3.5.3用printf函数输出数据67
3.5.4用scanf函数输入数据74
3.5.5字符输入输出函数76
第4章选择结构程序设计83
4.1选择结构和条件判断83
4.2用if语句实现选择结构85
4.2.1用if语句处理选择结构举例85
4.2.2if语句的一般形式87
4.3关系运算符和关系表达式89
4.3.1关系运算符及其优先次序90
4.3.2关系表达式90
4.4逻辑运算符和逻辑表达式90
4.4.1逻辑运算符及其优先次序91
4.4.2逻辑表达式92
4.5条件运算符和条件表达式94
4.6选择结构的嵌套96
4.7用switch语句实现多分支选择结构99
4.8选择结构程序综合举例102
第5章循环结构程序设计110
5.1为什么需要循环控制110
5.2用while语句实现循环111
5.3用do…while语句实现循环113
5.4用for语句实现循环116
5.5循环的嵌套120
5.6几种循环的比较121
5.7改变循环执行的状态121
5.7.1用break语句提前终止循环122
5.7.2用continue语句提前结束本次循环123
5.7.3break语句和continue语句的区别124
5.8循环程序举例127
第6章利用数组处理批量数据139
6.1怎样定义和引用一维数组139
6.1.1怎样定义一维数组140
6.1.2怎样引用一维数组元素140
6.1.3一维数组的初始化142
6.1.4一维数组程序举例142
6.2怎样定义和引用二维数组145
6.2.1怎样定义二维数组146
6.2.2怎样引用二维数组的元素147
6.2.3二维数组的初始化148
6.2.4二维数组程序举例149
6.3字符数组151
6.3.1怎样定义字符数组151
6.3.2字符数组的初始化152
6.3.3怎样引用字符数组中的元素152
6.3.4字符串和字符串结束标志153
6.3.5字符数组的输入输出156
6.3.6使用字符串处理函数157
6.3.7字符数组应用举例162
第7章用函数实现模块化程序设计167
7.1为什么要用函数167
7.2怎样定义函数169
7.2.1为什么要定义函数169
7.2.2定义函数的方法170
7.3调用函数171
7.3.1函数调用的形式171
7.3.2函数调用时的数据传递172
7.3.3函数调用的过程174
7.3.4函数的返回值174
7.4对被调用函数的声明和函数原型176
7.5函数的嵌套调用179
7.6函数的递归调用181
7.7数组作为函数参数189
7.7.1数组元素作函数实参189
7.7.2一维数组名作函数参数191
7.7.3多维数组名作函数参数194
7.8局部变量和全局变量196
7.8.1局部变量196
7.8.2全局变量197
?7.9变量的存储方式和生存期201
7.9.1动态存储方式与静态存储方式201
7.9.2局部变量的存储类别202
7.9.3全局变量的存储类别205
7.9.4存储类别小结209
7.10关于变量的声明和定义211
?7.11内部函数和外部函数212
7.11.1内部函数212
7.11.2外部函数213
第8章善于利用指针217
8.1指针是什么217
8.2指针变量219
8.2.1使用指针变量的例子219
8.2.2怎样定义指针变量220
8.2.3怎样引用指针变量222
8.2.4指针变量作为函数参数224
8.3通过指针引用数组229
8.3.1数组元素的指针229
8.3.2在引用数组元素时指针的运算229
8.3.3通过指针引用数组元素231
8.3.4用数组名作函数参数236
?8.3.5通过指针引用多维数组243
8.4通过指针引用字符串254
8.4.1字符串的引用方式254
8.4.2字符指针作函数参数258
8.4.3使用字符指针变量和字符数组的比较262
?8.5指向函数的指针265
8.5.1什么是函数的指针265
8.5.2用函数指针变量调用函数265
?8.5.3怎样定义和使用指向函数的指针变量267
?8.5.4用指向函数的指针作函数参数269
?8.6返回指针值的函数273
?8.7指针数组和多重指针276
8.7.1什么是指针数组276
8.7.2指向指针数据的指针变量279
8.7.3指针数组作main函数的形参281
?8.8动态内存分配与指向它的指针变量284
8.8.1什么是内存的动态分配284
8.8.2怎样建立内存的动态分配284
8.8.3void指针类型286
8.9有关指针的小结288
第9章用户自己建立数据类型293
9.1定义和使用结构体变量293
9.1.1自己建立结构体类型293
9.1.2定义结构体类型变量295
9.1.3结构体变量的初始化和引用296
9.2使用结构体数组300
9.2.1定义结构体数组300
9.2.2结构体数组的应用举例301
9.3结构体指针303
9.3.1指向结构体变量的指针303
9.3.2指向结构体数组的指针304
9.3.3用结构体变量和结构体变量的指针作函数参数306
?9.4用指针处理链表309
9.4.1什么是链表309
9.4.2建立简单的静态链表310
9.4.3建立动态链表311
9.4.4输出链表315
?9.5共用体类型317
9.5.1什么是共用体类型317
9.5.2引用共用体变量的方式318
9.5.3共用体类型数据的特点319
9.6使用枚举类型322
?9.7用typedef声明新类型名326
第10章对文件的输入输出331
10.1C文件的有关基本知识331
10.1.1什么是文件331
10.1.2文件名332
10.1.3文件的分类332
10.1.4文件缓冲区333
10.1.5文件类型指针333
10.2打开与关闭文件334
10.2.1用fopen函数打开数据文件335
10.2.2用fclose函数关闭数据文件337
10.3顺序读写数据文件338
10.3.1怎样向文件读写字符338
10.3.2怎样向文件读写一个字符串341
10.3.3用格式化的方式读写文本文件345
10.3.4用二进制方式向文件读写一组数据345
10.4随机读写数据文件350
10.4.1文件位置标记及其定位350
10.4.2随机读写353
10.5文件读写的出错检测355
附录A常用字符与ASCII代码对照表357
附录BC语言中的关键字358
附录C运算符和结合性359
附录DC语言常用语法提要361
附录EC库函数365
参考文献371
.1[引用日期]
.清华大学出版社[引用日期]
清除历史记录关闭C语言联合体(union)的使用方法及其本质-union
本文介绍如何在联合体类型的定义与应用。
二、实验平台
1:本文如下实验所用的上位机软件为 VS2010
2:需要本文工程源码或有疑问,请加群进入群共享下载
三、版权声明
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://write.blog.csdn/postedit
联系方式:
四轴开源群:
四轴开源(淘宝店):
四、基础知识
有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新。
1.联合体union的基本特性——和struct的同与不同
union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。
不过区别也挺明显:
结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;缺点是struct内存空间的分配是粗放的,不管用不用,全分配。
而联合体(union)中是各变量是“互斥”的——缺点就是不够“包容”;但优点是内存使用更为精细灵活,也节省了内存空间。
2.双刃剑——多种访问内存途径共存
一个例子了然:
所以说,管union的叫共用体还真是贴切——完全就是共用一个内存首地址,并且各种变量名都可以同时使用,操作也是共同生效。如此多的access内存手段,确实好用,不过这些“手段”之间却没法互相屏蔽——就好像数组+下标和指针+偏移一样。
上例中我改了v.i的值,结果v.l也能读取,那么也许我还以为v.l是我想要的值呢,因为上边提到了union的内存首地址肯定是相同的,那么还有一种情况和上边类似:
一个int数组变量a,一个long int(32位机中,long int占4字节,与int相同)变量b,我即使没给int变量b赋值,因为数据类型相同,我使用int变量b也完全会拿出int数组a中的a[0]来,一些时候一不小心用上,还以为用的就是变量b呢~
这种逻辑上的错误是很难找出来的(只有当数据类型相去甚远的时候稍好,出个乱码什么的很容易发现错误)。
PS:感谢热心网友的提醒“在union定义结束时加分号”,其实是可以不加的,因为他不在主函数内,不是执行的语句,如果是主函数内声明的union就必须加分号了,在主函数内不加分号就涉及到基础常识了——没有分号隔开怎能叫一句。
3.联合体union和大小端(big-endian、little-endian):
结果:证明我的32位linux是小端(little-endian)
4.联合体union所占内存空间大小:
前边说了,首先,union的首地址是固定的,那么,union到底总共有多大?根据一些小常识,做个不严谨不高深的基础版验证吧。
根据:分配栈空间的时候内存地址基本上是连续的,至少同类型能保证在一起,连续就说明,我如果弄三个结构体出来,他们三个地址应该连着,看一下三个地址的间隔就知道了。
打印,可以看到结果:the initial address of unionA is 0xbf9b8df8the initial address of unionB is 0xbf9b8e00the initial address of unionC is 0xbf9b8e08很容易看出,8,0,8,这间隔是8字节,按double走的。怕不保险,再改一下,把int改成数组,其他不变:
打印the initial address of unionA is 0xbfbb7738the initial address of unionB is 0xbfbb7760the initial address of unionC is 0xbfbb778888-60=2860-38=28算错了?我说的可是16进制0x。那么0x28就是40个字节,正好是数组a的大小。
似乎忘了一个功能——sizeof()
用sizeof直接看,就知道union的大小了
5.联合体union适用场合:
有了前边那个验证,基本可以确认,union的内存是照着里边占地儿最大的那个变量分的。
也就可以大胆的推测一下,这种union的使用场合,是各数据类型各变量占用空间差不多并且对各变量同时使用要求不高的场合(单从内存使用上,我觉得没错)。
像上边做的第二个,一个数组(或者更大的数组int a[100]),和一个或者几个小变量写在一个union里,实在没什么必要,节省的空间太有限了,还增加了一些风险(最少有前边提到的逻辑上的风险)。所以,从内存占用分析,这种情况不如直接struct。
不过话说回来,某些情况下虽然不是很节约内存空间,但是union的复用性优势依然存在啊,比如方便多命名,这种“二义性”,从某些方面也可能是优势。这种方法还有个好处,就是某些寄存器或通道大小有限制的情况下,可以分多次搬运。
6.本质&进阶:
根据union固定首地址和union按最大需求开辟一段内存空间两个特征,可以发现,所有表面的定义都是虚的,所谓联合体union,就是在内存给你划了一个足够用的空间,至于你怎么玩~它不管~!(何止是union和struct,C不就是玩地址么,所以使用C灵活,也容易犯错)
没错,union的成员变量是相当于开辟了几个接口(即union包含的变量)!但是,没开辟就不能用了?当然也能用!
写个小测试:
一个例子了然,我的结构体只定义了int和double“接口”,只要我获得地址,往里边扔什么数据谁管得到?这就是C语言的强大,这就是union的本质——只管开辟一段空间。
有些东西,熟悉编译原理和编译器工作过程的话,解决会更容易点,虽然我现在这方面技能不太强,不过一般问题也足够分析了。
====================================================================================================================================
解决一下捧场网友的困惑。
关于“有名”与“无名”联合体在结构体内所占空间的问题,其实这和是不是结构体无关,只和“有名”、“无名”有关,而且有名无名也是表象,其实是声明类型与定义变量的区别,看例子,直接打印,
地址供参考,主要看size,分别为:
0,8,8,8,0,0
s1只有类型,没有变量,没有变量自然就没有空间(s5同)。
类型就是类型,和是不是结构体、联合体无关的,你的“”中i不就是个变量吗?如果换成结果相同(这就是s6)。
s4和s5的做法能帮助排除干扰,将子结构体与联合体声明在外,内部直接引用,4是定义了变量,5什么都没做。
另外,这种做法编译的时候GCC会给你在相应的行做出提示“union_with_name.c:49: 警告:没有声明任何东西”
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
c语言习题3
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 java字符串转换成整数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信