c语言地章课后题_第1页
c语言地章课后题_第2页
c语言地章课后题_第3页
c语言地章课后题_第4页
c语言地章课后题_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c语言地章课后题一、第四章p56-58页的习题4.1—4.3。4-1(1)分析并写出下列程序运行结果#include<stdio.h>main(){charc1='a',c2='b',c3='c';printf("a%cb%cc%c\n",c1,c2,c3);}#include<stdio.h>main(){inta=12,b=15;printf("a=%d%%,b=%d%%\n",a,b);}/*定义三个字符*//*格式化输出三个字符*//*格式化输出a=12%,b=15%*/#include<stdio.h>main(){scanf("%2d%*2s%2d",&a,&b);/*对输入的数取前两位赋给a,跳过长度为2的字符串,再取两位数赋给b*/printf("%d,%d\n",a,b);}4-2分析下面程序,请指出错误原因和程序错在哪里,并改正错误#include<stdio.h>main(){floatx,y;scanf("%ld,%ld",&a,&b);getchar();scanf("%5f,%5f",&x,&y);printf("a=%ld,b=%ld\n",a,b);printf("x=%f,y=%f\n",x,y);}1、定义long型,输入时要写成%ld,输入时不能加入\n,取址符号2、输出a,b对应为long型,输出格式符为%ld,x,y对应为float型,输出格式为%f,%f3、在两个scanf()函数中,输入4个数时,会在两个整数和两个浮点型数之间加入逗号,但加入逗号后,第二条scanf()语句会认为逗号也为有效输入项,后面的浮点型数就不会被读入,所以要加入getchar()函数将逗号4-3、填空题(1)要使下面程序在屏幕上显示1,2,34,则从键盘输入的数据格式应为#include<stdio.h>main(){scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}(2)在与上面程序的键盘输入相同的情况下,若将程序中的第7条语句修Printf(“%-2c%-2c%d\n”,a,b,c);(3)要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应将程序中的第六条语句修改为scanf("%c%*c%c%*c%d",&a,&b,&c)(4)在(3)的程序基础上,程序仍然输入1,2,34,若将程序中的第7条语句修改为(5)要使上面程序的键盘输入无论用哪种格式输入数据,程序在屏幕上的输出结果都为1,2,34,则将程序中的第6条语句修改为scanf("%c%*c%c%*c%d",&a,&b,&c);2二、收集资料,总结printf和scanf函数的用法。一、print格式化输出函数1、print(“要输出的字符序列”)注意:“要输出的字符序列”必须用英文的双引号括起来,其作用是在屏幕上原样输出“要输出的字符序列”。2、printf(“输出格式控制符”,输出列表项)注意:“输出格式控制符”必须用英文的双引号括起来,其作用是按照输出格式来输出后面的输出列表项的值。Printf(“%d,%d”,x,y);的作用是:以%d的格式输出变量x,y的值,中“输出格式控制符”可以是:字O普通字符:如printf(“a=%d,b=%d\n”,a,b);中的“a=”、“b=”都是普通字符,普通字符原样输出。转义字符:如printf(“a=%d,b=%d\n”,a,b);中的“\n”。其含输出带符号位的十进制整数(整数前无符号)以八进制无符号形式输出整数(无前导o)X或x以十六进制无符号形式输出整数(无前导ox),用x则输出的a~f是小的形式,用X则输出的a~f是大写的形式U以十进制无符号型输出整数C输出一个字符S输出字符串的字符,遇到“\0”时结束输出,或者输出由精度指定的符数时,小数部分(包含小数点)都不输出位数保留6位%输出百分号%C语言中常使用的格式字符共用9种。在格式说明中,在%和上述格式字符之间还可以插入修饰符,如下表:修饰符说明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大于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出例如:printf(“%8d\n,%-8d\n”,2009,2009);2009%ld或%Ld:按实际位输出长整形数据%hd:按实际位数输出短整型数据%mld或%mLd:输出的长整型数据有m列并右对齐,当m大于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出%-mld或%-mLd:输出的长整型数据有m列并左对齐,当m大于整数的宽度时,多余的位数用空格填补,当m小于整数的宽度时,则按实际宽度输出longx=123456;printf("%8ld\n%-8ld\n",x,x);%0md:输出的整数有m列并右对齐,当m大于整数的宽度时,多余的位数用0填补,当m小于整数的宽度时,则按实际宽度输出注意:没有%-0md(2)o,x,u的格式符用法与d相同,只是o,x,u不考虑符号位(3)c格式符用来输入一个字符。用法:%c:输出一个字符%mc:输出的字符占m列并右对齐,多余的空位用空格填补%-mc:输出的字符占m列并左对齐,多余的空位用空格填补A(4)s格式符用来输出一个字符串。用法:%s:以字符串的实际长度输出一个字符串%ms:输出的字符串占m列并右对齐,当m大于字符串的宽度时,多余的位数用空格填补,当m小于字符串的宽度时,则按实际宽度输出%-ms:输出的字符串占m列并左对齐,当m大于字符串的宽度时,多余的位数用空格填补,当m小于字符串的宽度时,则按实际宽度输出%m.ns:在m列的位置上输出一个字符串%-m.ns:在m列的位置上输出一个字符串的前n个字符,并左对齐,(5)f格式符以小数形式输出单双精度实数%f:输出单精度实数,整数部分全部输出,小数部分保留6位,在有效范围内的小数部分要进行四舍五入。%lf或%Lf:输出双精度实数,整数部分全部输出,小数部分保留6位,在有效范围内的小数部分要进行四舍五入。%m.nf:在m列的位置上输出一个实数保留n位小数并右对齐,系统自动对在有效数据范围内的小数部分进行四舍五入。当m大于实际宽度时,则多余位用空格填补,当M小于实际宽度时,实数的整数部分按实际宽度输出。%-m.nf:在m列的位置上输出一个实数保留n位小数并左对齐,系统自动对在有效数据范围内的小数部分进行四舍五入。当m大于实际宽度时,则多余位用空格填补,当M小于实际宽度时,实数的整数部分按实际宽度输出,且结果左对齐。%.nf:实数的整数部分按实际输出,小数部分保留n位,自动对在有效范围内的小数进行四舍五入保存,结果左对齐。(6)e格式符用来以指数形式输出一个实数,用法同f格式符。(7)g格式符用来输出实数,系统根据实数的大小,自动选择f格式符或e格式符输出,输出时选择占宽度较小的一种格式输出,且不输出无意义的01、数据类型应与格式说明符匹配,否则会出错。式输出3、除了X,E,G,L可以大写以外,其他格式必须小写4、如果需要输出“%”,应在格式符内连续使用两个“%”,如:Printf(“%5.2f%%”,3.0/100);结果:33.33%格式输入函数scanf()用于从键盘输入数据,该输入数据按指定的输入格式赋给相应的输入项。Scanf(“输入格式控制符”,输入项地址列表);注意:“输入格式控制符”必须用英文的双引号括起来,他的作用是按照输入格式从键盘从键盘键入若干类型的数据给后面的输入项。Scanf(“a=%d,b=%d”,&a,&b);运行时从键盘输入a=3,b=5按enter键,则变量a和b的值分别是3“输入格式控制符”可以是:(2)普通字符:如printf(“a=%d,b=%d\n”,a,b);中的“a=”,“,”、“b=”都是普通字符,输入时要按原样输入。下表是scanf()格式说明格式字符O说输入带符号的十进制整数输入不带符号位的八进制整数明输入不带符号位的十六进制整数,大小写形式相同u输入不带符号位的十进制整数c输入单个字符s输入字符串f输入实数,以小数形式或指数形式在格式说明中,在%和上述格式字符之间还可以插入下表的修饰符格式字符说明L或l输入长整形,放在d,o,x,u的前面;输入double型,放在f,e之前h输入短整型,放在d,o,x,u之前m用来指定输入数据的宽度*表示输入项在读入后不赋给相应的变量输入scanf()函数要注意以下几点:(1)地址表列要用地址运算符“&”取变量的地址或用指针变量(2)“输入格式控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论