收藏 分享(赏)

C语言程序设计实训练习.doc

上传人:j35w19 文档编号:7056272 上传时间:2019-05-04 格式:DOC 页数:5 大小:24KB
下载 相关 举报
C语言程序设计实训练习.doc_第1页
第1页 / 共5页
C语言程序设计实训练习.doc_第2页
第2页 / 共5页
C语言程序设计实训练习.doc_第3页
第3页 / 共5页
C语言程序设计实训练习.doc_第4页
第4页 / 共5页
C语言程序设计实训练习.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、C语言程序设计实训练习:第一章1、使用公式=(5/9) (-32),打印下列华氏温度与摄氏温度对照表:0 -1720 -640 460 1580 26100 37120 48140 60160 71300 148#includeint main()int c,f;for(f=0;fint main()int c,Num_space=0,Num_tab=0,Num_enter=0;while (c = getchar() != EOF)switch(c)case :Num_space+;break;case t:Num_tab+;break;case n:Num_enter+;break;pri

2、ntf(“The number of Space is %dn“,Num_space);printf(“The number of Tab is %dn“,Num_tab);printf(“The number of Enter is %dn“,Num_enter);return 0;3、编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。4、编写一个程序,统计输入的行数、单词数与字符数。5、编写一个程序,统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其他字符出现的次数。6、重写标准库中的求幂函数:int pow(int x, int y)。7、编写一个程序,删除

3、每个输入行末尾的空格。8、编写函数reverse(),将字符串s中的字符顺序颠倒过来。(附加:尝试用递归的思想来实现reverse)9、编写一个删除C语言程序中所有的注释 语句、要正确处理带引号的字符串与字符常量。在C语言程序中,注释不允许嵌套。(附加)10、编写一个程序,查找C语言程序中的基本语法错误,如圆括号、方括号以及花括号不配对等。要正确处理引号(包括单引号、双引号)、转义字符序列与注释。(附加)第二章 类型、运算符与表达式 (2) void clearbit(unsigned x, int n);(3) int getbit(unsigned x, int n);(4) int bi

4、tcount(unsigned x);/ 统计x中值为1的二进制位数5、编写一个函数setbits(x, p, n, y),该函数返回对x执行下列操作后的结果值:将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。函数原型:unsigned setbits(unsigned x, int p, int n, unsigned y);6、编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:将x中的第p位开始的n个(二进制)位求反(即1变成0, 0变成1),x的其余各位保持不变。函数原型:unsigned invert (unsigned

5、x, int p, int n); (选做!)7、编写一个函数rightrot(x,n),该函数返回将x循环右移(即从最右端移出的位将从最左端移入)n(二进制)位后所得到的值。函数原型:unsigned rightrot (unsigned x, int n); (选做!)8、实现折半查找函数int binsearch(int x, int v, int n),该函数用于判定已排序的数组v中是否存在某个特定的值x。数组v的元素必须以升序排序。如果v中包含x,则该函数返回x在v中的位置(介于0n-1之间的一个整数);否则,该函数返回-1。9、编写一个函数void escape(char s,ch

6、ar t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符分别转换为n、t等相应的可见的转义字符序列。要求使用switch语句。再编写一个具有相反功能的函数void unescape(char s,char t),在复制过程中将转义字符序列转换为实际字符。10、编写void itoa(int n, char s)函数:将数字n转换为字符串并保持到s中。11、编写函数void itob(int n,char s,int b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中。例如,itob(n,b,16)把整数n格式化成十六进制整数保存在s中。12、修

7、改itoa函数,使得该函数可以接收三个参数。其中,第三个参数为最小字段宽度。为了保证转换后所得的结果至少具有第三个参数指定的最小宽度,在必要时应在所得结果的左边填充一定的空格。(选做!)函数原型:void itoa(int n, char s, int w)第四章: 函数与程序结构1、编写函数strindex(s, t),该函数返回字符串t在字符串s 中出现的起始位置。如果s中不包含t ,则返回-1 。函数原型: int strindex(char s, char t)2、编写函数strrindex(s, t),该函数返回字符串t在字符串s 中最右边出现的位置。如果s中不包含t ,则返回-1

8、。函数原型: int strrindex(char s, char t)3、在逆波兰计算器的基础上,加入取模(%)运算符,并注意考虑负数的情况。Eg: -10 3 %结果为: -1#include 取模(%) 函数: double fmod(double x, double y);判断字符c是否为数字函数: int isdigit(int c);4、扩展逆波兰计算器程序,在栈操作中添加几个命令,分别用于在保证栈元素完整性的情况下打印栈顶元素;复制栈顶元素;交换栈顶两个元素的值。另外增加一个命令用于清空栈。5、扩展逆波兰计算器程序,给计算器程序增加访问sin、cos与exp库函数的操作。6、编写

9、一个递归版本的itoa函数,即通过递归调用把整数转换为字符串。7、定义一个宏,用于计算一年当中的秒数。8、定义宏swap(t, x, y)以交换 t类型的两个参数。Eg: 带参数的宏定义: #define MAX(A,B) ((A) (B) ? (A) : (B))#define fun(x,y) (x)*(y)Fun(a+b,c)A+b*c第五章 指针与数组尝试至少用三种方法实现void strcpy(char *s, char *t)函数。1、用指针方式实现strcat(s, t), 将t 指向的字符串复制到s 指向的字符串的尾部。函数原型: void strcat(char *s, ch

10、ar *t)2、编写函数strend(s, t)。如果字符串t出现在字符串s的尾部,该函数返回1;否则返回0。函数原型: int strend(char *s, char * )3、实现库函数strncpy、strncat 和strncmp他们最多对参数字符串中的前n个字符进行操作。例如,函数strncpy(s, t, n)将t中最多前n个字符复制到s中。4、采用指针而非数组索引方式改写atoi与itoa 函数;函数原型为: int atoi(char *s)Void itoa(int n, char *s)5、通过使用命令行参数传递给程序的方法,做下列练习:1) 打印命令行参数;2) 通过命令行传递字符串参数,并应用到strcat,strcpy, strend 操作中。int a10;sizeof(a) = 4*10int len = sizeof(a)/sizeof(a0);快速排序 P74

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报