C语言练习册考研.docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言练习册考研.docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习 考研
- 资源描述:
-
1、C 语言练习册 C 语言练习册 2016 年武汉科技大学C 语言 2016年攻读硕士学位研究生入学考试试题 科目名称:C语言程序设计(A卷B卷)科目代码:855 考试时间:3小时 满分 150 分 可使用的常用工具:无 计算器 直尺 圆规(请在使用工具前打 ) 注意:所有答题内容必须写在答题纸上,写在试题或草稿纸上的一律无 效;考完后试题随答题纸交回。 一、选择题(共10小题,每小题2分,共20分) 1. 以下定义语句中正确的是( )。 A)int a=b=0; B)char a=65+1,b=b; C)float a=1,*b=&a,*c=&b; D)double a=0;b=1.1; 2.
2、 以下选项中可作为C语言合法常量的是( )。 A)-80 B)-080 C)-8e1.0 D)-80.0e 3. if语句中用作判断的表达式( )。 A)必是逻辑值 B)必是整数 C)必是正数 D)可是任意合法数值 4. 数组名作为函数参数传递给函数时,数组名被处理成该数组的( )。 A)长度 B)元素个数 C)各元素的值 D)首地址 5. 设有double x5,*p=x;则scanf能正确读数据给x0的格式是( )。 A)(%f,x); B)(%lf,*x); C)(%lf,p); D)(%lf,p0); 6. 有定义:char s310,(*k)3,*p;,则以下赋值语句正确的是( )。
3、 A)p=s0; B)p=k; C)p=s; D)k=s; 7. 函数f的定义如下,执行函数调用语句z=f(3)后z的值是( )。 f(int x) if(x=0|x=1) return(3); return x*x-f(x-2); A)0 B)9 C)6 D)8 8. 已知int k=0; 以下程序的运行结果是( )。 void fun(int m) m+=k; k+=m; printf(%d%d,m,k+); void main() int i=4; fun(i+); printf(%d%dn,i,k); A) 4455 B) 4555 C) 4445 D) 4545 9. 已知char
4、*p=ABC;则printf(%dn,*(p+3)的运行结果是( )。 A)67 B)0 C)字符C的地址 D)字符C 10. 以下关于do-while循环的描述中正确的是( )。 A)循环体内不能使用复合语句 B)在while(表达式)后面不能写分号 C)先执行一次循环,再进行判断 D)根据情况可以省略while 密 封 线 内 不 要 写 题 姓 名 : 报 考 专 业 : 准 考 证 号 码 : 4 C 语言练习册 二、读程序写出程序运行结果(共4小题,每小题5分,共20分) 1.void main() int x=-9,y=5,z=8; if(xy) if(y0) z=0; else
5、z+=1; printf(%d,z); 2.void main() char b=a,c=A; int i; for(i=0;i6;i+) if(i%2) putchar(i+b); else putchar(i+c); 3. int fun(int x,int y) if(!x) return -1; else if(y=1) return x%10; else return fun(x/10,y-1); void main() printf(%d%d,fun(123456,3),fun(123456,8); 4. void main( ) int a33=1,3,5,2,4,6,7,8,9
6、,(*p)3=a,i,j,s; for(i=0;i3;i+) for(j=0;ji;j+) s=*(*(p+i)+j); *(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=s; for(i=0;i3;i+) for(j=0;j3;j+) printf(%3d,*(*(p+i)+j); printf(n); 三、程序填空(共20个空,每空3分,共60分) 1. 输入一整数,计算其位数k,然后将其各位数字按逆序转换为字符串输出。例 如,输入14251,则输出“15241”;输入-6319870,则输出“-0789136”。 void main() long num,t,i=
7、0,k; char *pstr; scanf(%ld,&num); t=num; k= ; 5 C 语言练习册 while( ) t=t/10; k+; pstr=(char *)malloc(k+2)*sizeof(char); if(num0;k-) pstri+= ; num=num/10; ; printf(%sn,pstr); free(pstr); 2. 按折半法在元素按升序排列的数组a中查找给定值为k的元素。 int search(int a,int size,int k) int L=0,R=size-1,m; while( ) m= ; if(kam) L=m+1; else
8、 ; return ; void main() int a20=1,2,6,8,9,15,22,45,58,61,78,88,93,flag,f; scanf(%d,&f); flag= ; if(flag!=-1) pintf(%d has been found ,location=%dn,f,flag); else pintf(%d hasnt been found n,f); 3. 下面程序的功能: 输出所有的水仙花数(每行输出3个)。水仙花数是一个各 位数字的立方和等于自己的三位数。比如153就是水仙花数。 void main() int i,a,b,s,c=0; for(i=100;
9、ilen1|t.lenlent.len) return; while(1) j= ; while(ilen&jchi=t.chj) i+; j+; else i= ; j=0; if( ) break; /串s中不存在子串t i= ; for(k=i+t.len;klen;k+) s-chk-t.len=s-chk; s-len= ; 四、程序设计(4小题,前2题各 10分,后2题各15分,共50分) 1. 编程输出10000以内的回文式素数,并统计个数。如:2、11、97879等。 2. 设计函数void Reverse(char *s,int len)将长度为len的字符串s逆置。例 如,
10、若串s的内容为“abcdefg”,则逆置后s的内容变为“gfedcba”。 3. 电信在计算用户费用时按每分钟0.08元计算,不足 1分钟按1分钟计,每次 通话不超过24小时,最短为1秒。设计函数double count(char *s,char *t)计算通话的费用,s表示通话开始时间,t表示通话结束时间(数据均合 法,时间格式为:HH:MM:SS,HH,MM,SS分别表示小时,分钟和秒)。 例如:count(14:05:23,14:05:30)的返回值为0.08 count(23:01:12,00:12:15)的返回值为5.76 4. 资金往来账目管理中需要记录每笔收支的日期date、项目
11、简记outline和项 目金额amount(结构定义如下)。按要求完成下列3个函数的设计。 typedef struct long date; char outline20; float amount;ACCOUNT; (1)void input(ACCOUNT *s,int n)录入n笔收支信息到数组s中。 (2)void sort(ACCOUNT *s,int n)按照收支日期排序(如果收支日期相同, 按照项目金额高低排序)。 (3)void show(ACCOUNT *s,int n)显示s中存放的n笔收支信息。 7 C 语言练习册 参考答案(B) 一、选择题(每题2分,共20分) BA
展开阅读全文