专升本C语言学习知识-历年考试题及其规范标准答案8.doc

收藏

编号:2570138    类型:共享资源    大小:70.52KB    格式:DOC    上传时间:2020-04-20
8
金币
关 键 词:
语言 学习 知识 历年 考试题 及其 规范 标准答案
资源描述:
\\ 专升本C语言历年考试题及答案 江西财经大学2005年 专升本选拔考试《C语言程序设计》试卷 (考试时间120分钟,总分100分) 一、用C语言描述下列命题(共16分,每小题2分) 1、a、b和c均为整型变量,a和b中有一个大于c。 2、数学公式:的C语言表达式(注:sqrt( )为开方函数)。 3、写出100内的自然数x,能被3或7整除的表达式。 4、写出判断字符变量ch是阿拉伯数字字符的表达式。 5、写出满足x<60或90≤x≤100的C语言表达式。 6、写出平面上的点(x,y)落在单位圆内的表达式。 7、数组p[10]的各元素用于保存指向char型的指针,写出该数组的定义。 8、有名为max的函数,其功能是对两个int型参数x、y进行计算,返回其中的较大者,写出该函数的说明部分。 二、根据要求画出流程图或N-S图(共10分,每小题5分) 1、用流程图或N-S图表示以下算法。 输入x的值,按下列函数计算y的值,并输出y的值。 2、画出打印以下图案的算法流程图或N-S图。 & & & & & & & & & & 三、程序阅读题(共20分,每小题4分) 1、# include void main( ) { int i,sum=0; for(i=1;i<=30;i++) if(i%3!=0) continue; else sum=sum+i; printf(“sum=%d\n”,sum); } 请叙述上面程序的功能,并写出程序的运行结果。 2、void main( ) { int a,b,x=1,y=1; scanf("%d%d",&a,&b); if (a>0) x=x+y; if (a, 则程序运行后的输出结果为: 3、void main() { int a[3][3]={2,4,6,8,10,12,14,16,18}; int sum=0, i, j; for ( i=0; i<3; i++) for ( j=0; j<3; j++ ) if (i==j) sum+=a[i][j]; printf(“sum=%d\n”,sum) ; } 请叙述上面程序的功能,并写出程序的运行结果。 4、void main( ){ int i=0; int x,s1,s2,s3; s1=s2=s3=0; while(i++<10){ scanf("%d",&x); switch(abs(x)%3){ case 0:s1++;break; case 1:s2++;break; default:s3++; } } printf("s1=%d,s2=%d,s3=%d",s1,s2,s3); } 请叙述上面程序的功能。 5、int fun(int n) { if(n==0) return 0; else if(n==1) return 1; return n*n+fun(n-1); } void main(){ printf(“Result is:%d”,fun(5)); } 请叙述上面程序中fun函数的功能并写出程序的运行结果。 四、程序填空(共28分,每空2分) 1、以下函数用于求出一个34矩阵中的最小元素值。 int min_value(int m[][3]) { int i, j, min; min=m[0][0]; for (i=0; ① ; i++) for (j=0 ; ② ; j++) if ( ③ c||b>c 2、(-b+sqrt(b*b-4*a*c)/(2*a) 3、(x>=1&&x<=100)&&(x%3==0||x%7!=0) 4、ch>=’0’&&ch<=’9’ 5、x<60||x>=90&&x<=100 6、x*x+y*y<=1 7、char *p[10]; 8、int max(int x,int y) 二、根据要求画出流程图或N-S图(共10分,每小题5分) F x>=0 T T F y=1 y=0 y=-1 x>0 1、 2、 i=1~4 j=1~ i 打印’&’字符 换行 三、程序阅读题(共20分,每小题4分) 1、输出:sum=165 功能:求30内能被3整除的数的和。 2、输出:x=2,y=3 3、输出:sum=30 功能:求3*3矩阵对角线上元素之和。 4、功能:输入10个数,分别求出其中能被1、2、3整除的数的和并打印。 5、输出:Result is:55 fun函数的功能:求12+22+...+n2 四、程序填空(共28分,每空2分) 1、① i<3 ② j<4 ③ a[i][j] ④ a[i][j] 2、① c=getchar( ) ② c>=A && c<=Z ③ count++ 3、① a[i] ② a[n-i-1] ③ a[n-i-1] 4、① A ② 4 ③ 2*i-1 ④ ch++ 五、程序设计题(共26分,8+8+10) 1、 void main() { int a,b,c; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=1;c<=9;c++) if(a*a*a+b*b*b+c*c*c==100*a+10*b+c) printf("%5d",100*a+10*b+c); } 2、 #include void main(){ int i,s,sum=0; for(i=1,s=0;i<=10;i++){ s=s+i; sum=sum+s; } printf("Result is:%6d",sum); } 3、 #include #include typedef struct{ /*定义描述学生的结构体类型*/ int num; /*成员变量num表示学号*/ char name[20]; /*姓名*/ float score[3]; /*成绩*/ }stud; void input(stud s[],int n) { int k;char t[10]; for (k=0; k 3/5成立的最小的N值并输出。 三、单项选择题(共5分,每小题1分) 1.以下说法中正确的是( ) A. C语言程序总是从第一个定义的函数开始执行; B. C语言程序中至少有一个main函数; C. C语言程序总是从main函数开始执行; D. C语言程序中的main函数必须放在程序的开始部分; 2.C语言中,下列正确的叙述是 ( ) A. C程序中的关键字必须小写,其他标识符不区分大小写 B. C程序中的所有字母都不区分大小写 C. C程序中的所有字母都必须小写 D. 所有的C语言关键字必须小写 3.已知int i=10;表达式20-5<=i<=9的值是( ) A. 0 B. 1 C. 19 D. 20 4. 以下不正确的描述是( ) A. break语句不能用于循环语句和switch语句外的其它语句 B. 在switch语句中使用break语句或continue语句的作用相同 C. 在循环语句中使用continue语句是为了结束本次循环 D. 在循环语句中使用break语句是为了使流程跳出循环体 5. 对二维数组的正确说明是( ) A. int a[][]={1,2,3,4,5,6}; B. int a[2][]={1,2,3,4,5,6}; C. int a[][3]={1,2,3,4,5,6}; D. int a[2,3]={1,2,3,4,5,6}; 四、程序阅读题(共20分,每小题4分) 1、#include void main() { int i=15; while (i>0) if (--i%3!=2) continue; else printf("%d ",i); } 程序运行后的输出结果为: 2、#include int func(int n){ if (n==0)return 0; else if (n==1) return 1; else return n*n+func(n-2); } void main(){ printf("%5d%5d\n",func(3),func(5)); } 程序运行后的输出结果为: 3、#include void main(){ int a,b,s,t; a=b=s=0, t=1; while(t<=4){ t=t+1; switch(t%3){ case 1: a=a+t; break; case 2: b=b+t; break; default: s=s+3; } printf("a=%d,b=%d,s=%d\n",a,b,s); } } 程序运行后的输出结果为: 4、 #include #include int f1(int x) { int y=0; static int z=2; y+=1; z++; return(x+y+z); } void main() { int x=1,i; char s1[10]=“Visual”,s2[10]=“C++”,s[10]; for(i=0;i<3;i++) printf("%d ",f1(x)); printf(“\n”); if(strcmp(s1,s2)) { strcpy(s,s1); puts(s);} strcat(s2,s1); printf(“%d,%s\n”,strlen(s2),s2); } 程序运行后的输出结果为: 5、#include #define MAX 100 void main() { int f[MAX],i,j,k=2,m=5; for(i=0;i<=m;i++) f[i]=1; f[k-1]=2; for(i=k;i<=m;i++) for(j=i-k;j<=i-1;j++) f[i]+=f[j]; printf("%d%5d%5d\n",k,m,f[m]); } 程序运行后的输出结果为: 五、程序填空(共24分,每小题6分) 1、求10000内的完数,一个数所有因子的和与该数相等即为完数,如6=1+2+3,所以6是完数。 #include void main() { int m,k,i,sum; for(m=6;m<=10000;m++) { if(n%10==0) printf("\n"); ①; for(i=2;i<=②;i++) if(m%i==0) ③; if( sum==m ) { printf("%d ",m);n++;} } } ①__________ ②__________ ③ __________ 2、下面的函数sort按照交换排序的思想,实现对n个整型数的非递减排序。 void sort(int p[], int n) { int i, j, t; for (i=1; ① ; i++) for (j=i; ② ; j--) if (p[j]>=p[j-1]) ③ ; else { t=p[j]; p[j]=p[j-1]; p[j-1]=t; } } ① ② ③ 3、输入34数组,用指针方法实现将每行中的最大数与最后一列元素对调。 #include void swap(int ① ) { int max, i, *q=p; for(i=1;i<4;i++) if(*q<*(p+i)) q=p+i; max=*q;*q=*(p+3);*(p+3)=max; } void main() { int a[3][4],i,j,*p=a[0]; for( i=0;i<3;i++ ) for(j=0;j<4;j++) scanf(“%d”,p++); for( p=&a[0][0];p void main(){ char sales[4][10]={ "8139.45","6245.2","1234","8937.85" },*p[4]; int i, j, dec_dig; float sale, totle=0; for(i=0;i<4;i++) ①; for(i=0;i<4;i++){ sale=0;dec_dig=0; for(j=0;p[i][j]!= ②;j++){ if(p[i][j]==’.’) dec_dig=1; //小数点出现,作标记 if(!dec_dig) sale=10*sale+p[i][j]- 0; //处理整数部分 else sale=③; //处理小数部分 } total=total+sale; } printf("totle=%f\n",totle); } ①__________ ②__________ ③ __________ 六、程序设计题(共30分) 1、编写递归函数,求n以内的自然数的和,要求主函数中只是输入n以及打印递归函数的计算结果。(8分) 2、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?(10分) 3、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。(12分) 六、具有报名资格的考生,请于2010年6月3日至4日到江西财经大学教务处办公室(蛟桥园校区第五教学楼二楼)领取准考证。 七、考试时间安排 1、英语:6月5日上午9:00—11:00(全省统考,含听力,请自备好调频收音机频率为:FM86.225) 2、综合课程:6月5日下午14:00—16:00 3、C语言程序设计:6月5日下午14:00—16:00 4、大学语文:6月5日下午14:00—16:00 5、微积分:6月6日上午9:00—11:00 6、英语听力:6月6日上午9:00—11:00(请自备好调频收音机,频率为:FM86.225) 7、软件技术基础:6月6日下午14:00—16:00
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:专升本C语言学习知识-历年考试题及其规范标准答案8.doc
链接地址:https://www.taowenge.com/p-2570138.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开