您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 自己总结-东财复试英语口语问题
第4章键盘输入与屏幕输出2020/1/192/38本章学习内容字符常量与转义字符字符输出函数putchar()字符输入函数getchar()数据的格式化输出函数printf()数据的格式化输入函数scanf()2020/1/193/38字符常量字符常量是用单引号括起来的一个字符–'a'是字符常量,而a则是一个标识符–'3'表示一个字符常量,而3则表示一个整数转义字符(EscapeCharacter)–一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示2020/1/194/38字符型变量的取值范围取决于计算机系统所使用的字符集–ASCII(美国标准信息交换码)字符集–规定了每个字符所对应的编码一个字符以其对应的ASCII码的二进制形式存储在内存中–一个字节,保存一个字符(英文字母、数字、符号)字符常数就是一个普通整数,也可参与各种数学运算–每个字符具有一个0~255之间的数值,可从ASCII表查出–注意:’5’和整数5的区别’5’的ASCII码值是53字符常量2020/1/195/384.1单个字符的输入输出通过调用标准库函数来实现#includestdio.h字符输出函数–putchar(ch)–输出一个字符ch字符输入函数–getchar()–无参数–函数值为从输入设备接收的字符2020/1/196/38【例4.1】大小写英文字母转换PressakeyandthenpressEnter:B↙bch=ch+('a'–'A');Whatdoesthisstatmentmean?2020/1/197/384.2数据的格式化屏幕输出格式printf(格式控制字符串,输出项表列);printf(a=%db=%f,a,b);可以输出若干任意类型的数据函数名可选输出表列普通字符格式说明2020/1/198/38%ccharacter以字符形式输出单个字符%sstring输出一个字符串%ddecimal以带符号十进制整数输出%ffloat以小数形式输出浮点数(6位小数)%eexponent以标准指数形式输出(6位小数)%g选用%f,%e中输出宽度较小的一种格式%ooctal以八进制无符号整数输出(无前导0)%xhex以十六进制无符号整数输出(无前导0x)%uunsigned以十进制无符号整数输出printf()格式字符2020/1/199/38【例4.2】大小写英文字母转换PressakeyandthenpressEnter:B↙b,982020/1/1910/38m表示数据占用的最小宽度数据宽度大于m,按实际宽度输出数据宽度小于m时,补空格n对实数表示输出n位小数对字符串表示最多输出的字符个数l长整型整数,加在d、o、x、u前Llongdouble型数,加在f、e、g前-改变输出内容的对齐方式缺省为右对齐printf()的格式修饰符2020/1/1911/38printfFunction-FloatFormatforfloat:%fGeneralformat:%[最小域宽.小数位数]fExample:printf(“Valueis:%10.4f”,32.6784728);Valueis:32.678510characters4digits2020/1/1912/38printfFunction-FloatExample:printf(“Valueis:%10f”,32.6784728);Valueis:32.67847310characters6digits(default)2020/1/1913/38Example:printf(“Valueis:%.3f”,32.6784728);Valueis:32.6783digitsprintfFunction-Float2020/1/1914/38Inputr:5.3↙printfWITHOUTwidthorprecisionspecifications:circumference=33.300854,area=88.247263printfWITHwidthandprecisionspecifications:circumference=33.30,area=88.25【例4.3】计算圆的周长和面积2020/1/1915/384.3数据的格式化键盘输入格式scanf(格式控制字符串,地址表列);scanf(%d,%f”,&a,&b);2020/1/1916/38c以字符形式输入单个字符s输入字符串,以非空字符开始,遇第一个空白字符结束d以带符号十进制形式输入整型数据f以小数形式输入浮点数e以标准指数形式输入o以八进制无符号形式输入(无前导0)x以十六进制无符号形式输入(无前导0x)scanf()的格式字符2020/1/1917/38m表示数据占用的宽度l加在d、o、x、u前:输入长整型加在f、e前:输入双精度型L加在f、e前:输入longdouble型h加在d、o、x前:输入短整型*本输入项在读入后不赋给相应的变量scanf()的格式修饰符2020/1/1918/38#includestdio.hmain(){inta,b;printf(Pleaseinputaandb:);scanf(%2d%*2d%2d,&a,&b);printf(a=%d,b=%d,a+b=%d\n,a,b,a+b);}Pleaseinputaandb:a=12,b=56,a+b=68123456↙跳过一个输入项输入数据的格式控制2020/1/1919/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题1:当要求程序输出结果为a=12,b=34时,用户应该如何输入数据?1234↙输入数据的格式控制——例4.42020/1/1920/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为:12,34↙时,应修改程序中的哪条语句?怎样修改?,输入数据的格式控制——例4.42020/1/1921/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题3:语句scanf(%d%d,&a,&b);修改为scanf(a=%d,b=%d,&a,&b);时,用户应该如何输入数据?a=12,b=34↙输入数据的格式控制——例4.42020/1/1922/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题4:限定用户输入数据为以下格式为1234↙同时要求程序输出结果为a=12,b=34%2d%2d输入数据的格式控制——例4.42020/1/1923/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题5:限定用户输入数据为以下格式为12↙34↙同时要求程序输出结果为a=12,b=34\%d\,b=\%d\输入数据的格式控制——例4.42020/1/1924/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题6:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入输入数据的格式控制——例4.4%*c2020/1/1925/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题7:输入123456时程序的输出结果为?输入数据的格式控制——例4.4%*2da=12,b=562020/1/1926/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题8:如果用户输入了非法字符,例如输入了123a,那么程序运行结果如何?输入数据的格式控制——例4.4123a↙a=12,b=32020/1/1927/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题9:如果用户输入的是123a,那么结果又会如何呢?输入数据的格式控制——例4.4123a↙a=123,b=-8589934602020/1/1928/38#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%d\n,a,b);}问题10:如果程序第5行语句修改为...,那么结果又会如何呢?输入数据的格式控制——例4.4a,b2020/1/1929/38#includestdio.hmain(){intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2\n);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%d\n,data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2第1次测试12+3↙124199288=4199300C格式符的问题及解决—例4.52020/1/1930/38#includestdio.hmain(){intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2\n);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%d\n,data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2第2次测试123↙123=15C格式符的问题及解决—例4.52020/1/1931/38#includestdio.hmain(){intdata1,data2,sum;charop;printf(Pleaseentertheexpressiondata1+data2\n);scanf(%d%c%d,&data1,&op,&data2);printf(%d%c%d=%d\n,data1,op,data2,data1+data2);}Pleaseentertheexpressiondata1+data2第3次测试12+3↙12+3=15C格式符的问题及解决—例4.52020/1/1932/38#includestdio.hmain(){inta;charb;floatc;printf(Pleaseinputaninteger:);scanf(%d,&a);printf(integer:%d\n,a);printf(Pleaseinputacharacter:);scanf(%c,&b);printf(character:%c\n,b);printf(Pleaseinputafloatnumber:);scanf(%f,&c);printf(float:%f\n,c);}Pleaseinputaninteger:希望得到的运行结果12↙Pleaseinputancharacter:a↙Pleaseinputafloatnumber:3.5↙integer:12character:afloatnumber:3.500000C格式符的问题及解决—例4.62020/
本文标题:自己总结-东财复试英语口语问题
链接地址:https://www.777doc.com/doc-3156453 .html