ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:52.17KB ,
资源ID:23903909      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23903909.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言地4章课后题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言地4章课后题.docx

1、c语言地4章课后题一、第四章p56-58页的习题4.14.3。4-1(1)分析并写出下列程序运行结果#include main() char c1=a,c2=b,c3=c; /*定义三个字符*/ printf(a%cb%cc%cn,c1,c2,c3); /*格式化输出三个字符*/ 结果:(2)#include main() int a=12,b=15; printf(a=%d%,b=%d%n,a,b); /*格式化输出a=12%,b=15%*/结果:(3)假设程序输入123456#include main()int a,b; scanf(%2d%*2s%2d,&a,&b); /*对输入的数取前

2、两位赋给a,跳过长度为2 的字符串,再取两位数赋给b*/printf(%d,%dn,a,b);结果:4-2分析下面程序,请指出错误原因和程序错在哪里,并改正错误改正后:#include main() long a,b; float x,y; scanf(%ld,%ld,&a,&b); getchar(); scanf(%5f,%5f,&x,&y); printf(a=%ld,b=%ldn,a,b); printf(x=%f,y=%fn,x,y);错误分析: 1、定义long 型,输入时要写成 %ld ,输入时不能加入 n ,取址符号 & 丢掉,scanf 函数中不 .n,规定精度 2、输出a,

3、b对应为long型,输出格式符为 %ld ,x,y对应为float型,输出格式为%f,%f 3、在两个scanf() 函数中,输入4个数时,会在两个整数和两个浮点型数之间加入逗号,但加入逗号后,第二条scanf() 语句会认为逗号也为有效输入项,后面的浮点型数就不会被读入,所以要加入getchar() 函数将逗号吸收掉。4-3、填空题(1)要使下面程序在屏幕上显示1,2,34,则从键盘输入的数据格式应为 1234#include main() char a,b; int c; scanf(%c%c%d,&a,&b,&c); printf(%c,%c,%dn,a,b,c);结果:(2)在与上面程

4、序的键盘输入相同的情况下,若将程序中的第7条语句修改为Printf(“%-2c%-2c%dn”,a,b,c);则屏幕输出为 1 2 34(3)要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应将程序中的第六条语句修改为 scanf(%c%*c%c%*c%d,&a,&b,&c) (4)在(3)的程序基础上,程序仍然输入1,2,34,若将程序中的第7条语句修改为 Pirntf(“%c,%c,%dn”,a,b,c);则程序的屏幕输出为 1,2,34(5) 要使上面程序的键盘输入无论用哪种格式输入数据,程序在屏幕上的输出结果都为1,2,34,则将程序中的第6

5、条语句修改为 scanf(%c%*c%c%*c%d,&a,&b,&c);第1种输入方式:1,2,34 (以逗号作为分隔符)第2种输入方式:1 2 34 (以逗号作为分隔符)第3种输入方式:1 2 34 (以逗号作为分隔符)第4种输入方式:1234 (以回车作为分隔符)二、收集资料,总结printf和scanf函数的用法。一、print格式化输出函数 1、print(“要输出的字符序列”) 注意:“要输出的字符序列”必须用英文的双引号括起来,其作用是在屏幕上原样输出“要输出的字符序列”。 例如:printf(“I love china!”); 屏幕结果:I love china!2、printf

6、(“输出格式控制符”,输出列表项) 注意:“输出格式控制符”必须用英文的双引号括起来,其作用是按照输出格式来输出后面的输出列表项的值。Printf(“%d,%d”,x,y);的作用是:以%d的格式输出变量x,y的值,中间以逗号分隔。 “输出格式控制符”可以是:(1) 格式符:即由%和格式字符组成,如:%d,%f等(2) 普通字符:如printf(“a=%d,b=%dn”,a,b);中的“a=”、“b=”都是普通字符,普通字符原样输出。(3) 转义字符:如printf(“a=%d,b=%dn”,a,b);中的“n”。其含义是“换行”。C语言中常使用的格式字符共用9种。格式符字 说 明d , i输

7、出带符号位的十进制整数(整数前无符号)O以八进制无符号形式输出整数(无前导o)X或x 以十六进制无符号形式输出整数(无前导ox),用x则输出的af是小写的形式,用X则输出的af是大写的形式U以十进制无符号型输出整数 C输出一个字符 S输出字符串的字符,遇到“0”时结束输出,或者输出由精度指定的字符数F以小数形式输出单精度或双精度数,隐含输出六位小数,当指定精度为0时,小数部分(包含小数点)都不输出E 或 E以标准形式输出单双精度数,当用E时,指数部分的e用E表示,小数位数保留6位G或 g由系统决定采用%f,%e,%E的格式,以使输出宽度最小,当用G时,指数部分e用E表示 %输出百分号%在格式说

8、明中,在%和上述格式字符之间还可以插入修饰符,如下表:修饰符 说 明L或 l输出长整形,放在d,o,x,u之前;输出double型,放在f、e之前 h输出短整型,放在d,o,x,u之前 m输出数据宽度 n对于实数,表示输出n位小数,对于字符串,表示截取字符个数 -输出的数据在域内左对齐Printf()函数常用的格式符如下:(1) d格式符用来输出十进制整数%d:以整数的实际位数输出%+d:以整数的十进制实际位数输出,输出的正整数前带“+”%md:输出的整数有m列并右对齐,当m大于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出%-md:输出的整数有m列并左对齐,当m大

9、于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出 例如:printf(“%8dn,%-8dn”,2009,2009); 结果为: 2009 2009%ld或%Ld:按实际位输出长整形数据%hd:按实际位数输出短整型数据%mld或%mLd:输出的长整型数据有m列并右对齐,当m大于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出%-mld或%-mLd:输出的长整型数据有m列并左对齐,当m大于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出 例如:long x=123456; printf(%8ldn%-8ldn,x,x

10、); 结果: 123456 123456%0md: 输出的整数有m列并右对齐,当m大于整数的宽度时,多余的位数用0填补,当m小于整数的宽度时,则按实际宽度输出注意:没有%-0md(2)o,x,u的格式符用法与d相同,只是o,x,u不考虑符号位 例如: 结果: (3)c格式符用来输入一个字符。用法:%c:输出一个字符%mc:输出的字符占m列并右对齐,多余的空位用空格填补%-mc: 输出的字符占m列并左对齐,多余的空位用空格填补 例如:printf(“%-4cn%4cn”,A,A); 结果:A A(4)s格式符用来输出一个字符串。用法: %s:以字符串的实际长度输出一个字符串 %ms: 输出的字符

11、串占m列并右对齐,当m大于字符串的宽度时,多余的位数用空格填补,当m小于字符串的宽度时,则按实际宽度输出 %-ms:输出的字符串占m列并左对齐,当m大于字符串的宽度时,多余的位数用空格填补,当m小于字符串的宽度时,则按实际宽度输出 例如: 结果: %m.ns:在m列的位置上输出一个字符串的前n个字符,并右对齐,mn时,多余的位数用空格填补;mn时,多余的位数用空格填补;mn时,输出n位实际长度的字符串。例如: 结果: (5)f格式符以小数形式输出单双精度实数 %f:输出单精度实数,整数部分全部输出,小数部分保留6位,在有效范围内的小数部分要进行四舍五入。 %lf或%Lf:输出双精度实数,整数部

12、分全部输出,小数部分保留6位,在有效范围内的小数部分要进行四舍五入。 例如: 结果: %m.nf:在m列的位置上输出一个实数保留n位小数并右对齐,系统自动对在有效数据范围内的小数部分进行四舍五入。当m大于实际宽度时,则多余位用空格填补,当M小于实际宽度时,实数的整数部分按实际宽度输出。 %-m.nf: 在m列的位置上输出一个实数保留n位小数并左对齐,系统自动对在有效数据范围内的小数部分进行四舍五入。当m大于实际宽度时,则多余位用空格填补,当M小于实际宽度时,实数的整数部分按实际宽度输出,且结果左对齐。 例如: 结果: %.nf:实数的整数部分按实际输出,小数部分保留n位,自动对在有效范围内的小

13、数进行四舍五入保存,结果左对齐。(6)e格式符用来以指数形式输出一个实数,用法同f格式符。 例如:printf(“%e”,12.122344); 结果:1.212234e+001(7)g格式符用来输出实数,系统根据实数的大小,自动选择f格式符或e格式符输出,输出时选择占宽度较小的一种格式输出,且不输出无意义的0总结: 1、数据类型应与格式说明符匹配,否则会出错。 2、int型数据可以用%u格式输出,一个unsigned型数据可用%d,%o,%x格式输出 3、除了X,E,G,L可以大写以外,其他格式必须小写 4、如果需要输出“%”,应在格式符内连续使用两个“%”,如:Printf(“%5.2f%

14、”,3.0/100); 结果:33.33%二、scanf()输入函数 格式输入函数scanf()用于从键盘输入数据,该输入数据按指定的输入格式赋给相应的输入项。 其输入格式为: Scanf(“输入格式控制符”,输入项地址列表); 注意:“输入格式控制符”必须用英文的双引号括起来,他的作用是按照输入格式从键盘从键盘键入若干类型的数据给后面的输入项。 例如: int a,b; Scanf(“a=%d,b=%d”,&a,&b); 运行时从键盘输入a=3,b=5 按enter 键,则变量a和b的值分别是3和5。“输入格式控制符”可以是:(1)格式符:由%和格式字符构成,如%d 和%f等(2)普通字符:

15、如printf(“a=%d,b=%dn”,a,b);中的“a=”,“,”、“b=”都是普通字符,输入时要按原样输入。下表是scanf()格式说明格式字符 说 明d 和 i输入带符号的十进制整数O输入不带符号位的八进制整数X 和x输入不带符号位的十六进制整数,大小写形式相同 u输入不带符号位的十进制整数c输入单个字符s输入字符串f输入实数,以小数形式或指数形式E e g G与f作用相同,e与f,g可以相互替换,大小写形式相同 在格式说明中,在%和上述格式字符之间还可以插入下表的修饰符格式字符 说 明L 或l输入长整形,放在d,o,x,u的前面;输入double型,放在f,e之前h 输入短整型,放

16、在d,o,x,u之前m用来指定输入数据的宽度*表示输入项在读入后不赋给相应的变量输入scanf()函数要注意以下几点:(1)地址表列要用地址运算符“&”取变量的地址或用指针变量(2)“输入格式控制符”中的普通字符一定要按照原样输入Scanf(“a=%d,b=%d”,&a,&b);输入时键入a=3,b=5按enter键。如果“输入格式控制符”中没有普通字符,则输入时应以一个或多个空格、Tab键或enter键来分隔。如:Scanf(“%d%d”,&a,&b); 正确的输入格式是3 5(回车),3 5(回车),3(回车)5(回车)(3)可指定输入数据的宽度,系统会自动按它截取所需的数据例如:结果:也可用于字符型数据:例如:结果: (4)需要连续输入多个字符是,字符之间不用分隔,而且空格、回车等作为有效字符输入 卖炭翁 白居易(唐) 字乐天 号香山居士卖炭翁,伐薪烧炭南山中。满面尘灰烟火色,两鬓苍苍十指黑。卖炭得钱何所营?身上衣裳口中食。可怜身上衣正单,心忧炭贱愿天寒。夜来城外一尺雪,晓驾炭车碾冰辙。牛困人饥日以高,市南门外泥中歇。翩翩两骑(j)来是谁?黄衣使者白衫儿。手把文书口称敕,回车叱牛牵向北。一车炭,千余斤,宫使驱将(jing)惜不得。半匹红绡一丈绫,系(j)向牛头充炭直(值)。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1