资源描述:
《C语言程序设计实训练习.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计实训练习:第一章1、使用公式℃=(5/9)(℉-32),打印下列华氏温度与摄氏温度对照表:0-1720-64046015802610037120481406016071…3001482、编写一个统计空格、制表符与换行符个数的程序。3、编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。4、编写一个程序,统计输入的行数、单词数与字符数。5、编写一个程序,统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其他字符出现的次数。6、重写标准库中的求幂函数:intpow(intx,inty)。7、编写一个程序,删除每个输入
2、行末尾的空格。8、编写函数reverse(),将字符串s中的字符顺序颠倒过来。(附加:尝试用递归的思想来实现reverse)9、编写一个删除C语言程序中所有的注释语句、要正确处理带引号的字符串与字符常量。在C语言程序中,注释不允许嵌套。(附加)10、编写一个程序,查找C语言程序中的基本语法错误,如圆括号、方括号以及花括号不配对等。要正确处理引号(包括单引号、双引号)、转义字符序列与注释。(附加)第二章类型、运算符与表达式&&第三章控制流1、编写atoi函数,将字符串s(eg:”123”)转换为相应的整型数(eg:123)原型:intatoi(chars
3、[])2、编写函数htois(s),把由十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值。字符串中允许包含的数字包括:0~9、a~f、A~F。3、编写一个程序,将字符串s1中任何与字符串s2中字符匹配的字符都删除。函数原型:voidsqueeze(chars1[],chars2[])4、编写如下按位操作函数:(1)voidsetbit(unsignedx,intn);(2)voidclearbit(unsignedx,intn);(3)intgetbit(unsignedx,intn);(4)intbitcount(unsig
4、nedx);//统计x中值为1的二进制位数5、编写一个函数setbits(x,p,n,y),该函数返回对x执行下列操作后的结果值:将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。函数原型:unsignedsetbits(unsignedx,intp,intn,unsignedy);6、编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:将x中的第p位开始的n个(二进制)位求反(即1变成0,0变成1),x的其余各位保持不变。函数原型:unsignedinvert(unsignedx,intp,
5、intn);(选做!)7、编写一个函数rightrot(x,n),该函数返回将x循环右移(即从最右端移出的位将从最左端移入)n(二进制)位后所得到的值。函数原型:unsignedrightrot(unsignedx,intn);(选做!)8、实现折半查找函数intbinsearch(intx,intv[],intn),该函数用于判定已排序的数组v中是否存在某个特定的值x。数组v的元素必须以升序排序。如果v中包含x,则该函数返回x在v中的位置(介于0~n-1之间的一个整数);否则,该函数返回-1。9、编写一个函数voidescape(chars[],ch
6、art[]),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符分别转换为、t等相应的可见的转义字符序列。要求使用switch语句。再编写一个具有相反功能的函数voidunescape(chars[],chart[]),在复制过程中将转义字符序列转换为实际字符。10、编写voiditoa(intn,chars[])函数:将数字n转换为字符串并保持到s中。11、编写函数voiditob(intn,chars[],intb),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中。例如,itob(n,b,16)把整数
7、n格式化成十六进制整数保存在s中。12、修改itoa函数,使得该函数可以接收三个参数。其中,第三个参数为最小字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在所得结果的左边填充一定的空格。(选做!)函数原型:voiditoa(intn,chars[],intw)第四章:函数与程序结构1、编写函数strindex(s,t),该函数返回字符串t在字符串s中出现的起始位置。如果s中不包含t,则返回-1。函数原型:intstrindex(chars[],chart[])2、编写函数strrindex(s,t),该函数返回字符串t在
8、字符串s中最右边出现的位置。如果s中不包含t,则返回-1。函数原型:intstrrindex(