版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
----------------------------精品word文档值得下载值得拥有--------------------------------------------------------------------------精品word文档值得下载值得拥有---------------------------------------------------------------------------------------------------------------------------------------------------------------------------江西财经大学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<stdio.h>voidmain(){inti,sum=0;for(i=1;i<=30;i++)if(i%3!=0)continue;elsesum=sum+i;printf(“sum=%d\n”,sum);}请叙述上面程序的功能,并写出程序的运行结果。2、voidmain(){inta,b,x=1,y=1;scanf("%d%d",&a,&b);if(a>0)x=x+y;if(a<b)x=2*y;elseif(a==b)y=5;elsey=x+y;printf("x=%d,y=%d\n",x,y);}假设输入为:2-3<CR>,则程序运行后的输出结果为:3、voidmain(){inta[3][3]={2,4,6,8,10,12,14,16,18};intsum=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、voidmain(){inti=0;intx,s1,s2,s3;s1=s2=s3=0;while(i++<10){scanf("%d",&x);switch(abs(x)%3){case0:s1++;break;case1:s2++;break;default:s3++;}}printf("s1=%d,s2=%d,s3=%d",s1,s2,s3);}请叙述上面程序的功能。5、intfun(intn){if(n==0)return0;elseif(n==1)return1;returnn*n+fun(n-1);}voidmain(){printf(“Resultis:%d”,fun(5));}请叙述上面程序中fun函数的功能并写出程序的运行结果。四、程序填空(共28分,每空2分)1、以下函数用于求出一个3×4矩阵中的最小元素值。intmin_value(intm[][3]){inti,j,min;min=m[0][0];for(i=0;=1\*GB3①;i++)for(j=0;=2\*GB3②;j++)if(=3\*GB3③<min)min==4\*GB3④;return(min);}2、程序的功能是:从键盘输入一串字符(以回车换行符结束),统计其中大写英文字母的个数,将结果保存在变量count中。voidmain(){intcount=0;charc;=1\*GB3①while(c!='\n'){if(=2\*GB3②)=3\*GB3③;c=getchar();}printf("havetyped%dupperletters",count);}3、以下函数的功能是:在第一个循环中给前n个数组元素依次赋值1~n;在第二个循环中使a数组的n个元素值对称互换,变成n、n-1ּּּ4、3、2、1。voidfun(inta[],intn){inti;inttemp;for(i=1;i<=n;i++)a[i-1]=i;for(i=0;i<n/2;i++){temp==1\*GB3①;a[i]==2\*GB3②;=3\*GB3③=temp;}}4、以下程序是实现如图1所示图案的打印。voidmain(){inti,j,k;charch;for(i=1,ch==1\*GB3①;i<==2\*GB3②;i++){for(j=1;j<=4-i;j++)putchar('□');/*□表示空格符*/for(k=1;k<==3\*GB3③;k++)putchar(ch);=4\*GB3④printf("\n");}}AABBBCCCCCDDDDDDD(图1)五、程序设计题(共26分)1、设一个三位数可以表示为abc,若其能满足条件a3+b3+c3=abc,则称其为水仙花数,编程求出所有的水仙花数。(8分)2、编程求数列1+(1+2)+(1+2+3)+…+(1+2+...+10)的和并输出。(8分)3、设有10个学生的信息,包括学号、姓名和三门功课的成绩,试编写学生信息输入函数、学生信息输出函数、打印每一学生平均分函数,最后编写主函数,并在主函数中调用测试这些函数。(10分)专升本选拔考试《C语言程序设计》参考答案及评分标准一、用C语言描述下列命题(共16分,每小题2分)1、a>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<=’5、x<60||x>=90&&x<=100 6、x*x+y*y<=17、char*p[10]; 8、intmax(intx,inty)二、根据要求画出流程图或N-S图(共10分,每小题5分)Fx>=0TFx>=0TTFy=1y=0y=-1x>02、i=1~4i=1~4j=1~i打印’&’字符换行三、程序阅读题(共20分,每小题4分)1、输出:sum=165功能:求30内能被3整除的数的和。2、输出:x=2,y=33、输出:sum=30功能:求3*3矩阵对角线上元素之和。4、功能:输入10个数,分别求出其中能被1、2、3整除的数的和并打印。5、输出:Resultis:55fun函数的功能:求12+22+...+n2四、程序填空(共28分,每空2分)1、=1\*GB3①i<3=2\*GB3②j<4=3\*GB3③a[i][j]=4\*GB3④a[i][j]2、=1\*GB3①c=getchar()=2\*GB3②c>='A'&&c<='Z'=3\*GB3③count++3、=1\*GB3①a[i]=2\*GB3②a[n-i-1]=3\*GB3③a[n-i-1]4、=1\*GB3①'A'=2\*GB3②4=3\*GB3③2*i-1=4\*GB3④ch++五、程序设计题(共26分,8+8+10)1、voidmain(){inta,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<stdio.h>voidmain(){inti,s,sum=0;for(i=1,s=0;i<=10;i++){s=s+i;sum=sum+s;}printf("Resultis:%6d",sum);}3、#include<stdio.h>#include<stdlib.h>typedefstruct{/*定义描述学生的结构体类型*/intnum;/*成员变量num表示学号*/charname[20];/*姓名*/floatscore[3];/*成绩*/}stud;voidinput(studs[],intn){intk;chart[10];for(k=0;k<n;k++){printf("No:");gets(t);s[k].num=atoi(t);printf("name:");gets(s[k].name);printf("score1=?");gets(t);s[k].score[1]=atof(t);printf("score2=?");gets(t);s[k].score[2]=atof(t);printf("score3=?");gets(t);s[k].score[3]=atof(t);}}voidoutput(studs[],intn){intk;printf("%10s%20s%8s%8s%8s\n","no","name","score1","score2","score3");for(k=0;k<n;k++){printf("%10d",s[k].num);printf("%20s",s[k].name);printf("%8.2f",s[k].score[1]);printf("%8.2f",s[k].score[2]);printf("%8.2f\n",s[k].score[3]);}}voidprint_average(studs[],intn){intk;printf("\n\n%10s%20s%12s\n","no","name","ave_score");for(k=0;k<n;k++){printf("%10d",s[k].num);printf("%20s",s[k].name);printf("%8.2f\n",(s[k].score[1]+s[k].score[2]+s[k].score[3])/3);}}voidmain(){studst[10];input(st,3);output(st,3);print_average(st,3);}C语言与程序设计试题一、用C语言描述下列命题(共16分,每小题2分)1.x为整数,写出x能被3除尽,且被5除余2的判断表达式。2.写出a、b之差的绝对值大于x、小于y的判断表达式。3.如图所示电路中A=1表示开关合上(B,C也相同),写出能使得灯亮的表达式。AAAABC4.把下列数学表达式转换为C语言表达式:5.写出判断字符变量ch是阿拉伯数字符号的表达式。6.定义一个枚举类型season描述一年的四个季节(spring,summer,autumn,winter)。7.函数fun可以接收字符串的地址作为实际参数,计算后能够返回一个字符指针,写出该函数的声明。8.有定义FILEfp;请写出以只读方式打开一个二进制文件file.dat的相关语句。二、根据要求画出NS图(共5分)求解使得不等式1-(1/2)+(1/3)-…+(1/N)>3/5成立的最小的N值并输出。三、单项选择题(共5分,每小题1分)1.以下说法中正确的是()C语言程序总是从第一个定义的函数开始执行;C语言程序中至少有一个main函数;C语言程序总是从main函数开始执行;C语言程序中的main函数必须放在程序的开始部分;2.C语言中,下列正确的叙述是()C程序中的关键字必须小写,其他标识符不区分大小写C程序中的所有字母都不区分大小写C程序中的所有字母都必须小写所有的C语言关键字必须小写3.已知inti=10;表达式20-5<=i<=9的值是()A.0 B.1 C.19 D.4.以下不正确的描述是()A.break语句不能用于循环语句和switch语句外的其它语句B.在switch语句中使用break语句或continue语句的作用相同C.在循环语句中使用continue语句是为了结束本次循环D.在循环语句中使用break语句是为了使流程跳出循环体5.对二维数组的正确说明是()A. inta[][]={1,2,3,4,5,6}; B. inta[2][]={1,2,3,4,5,6};C. inta[][3]={1,2,3,4,5,6}; D. inta[2,3]={1,2,3,4,5,6};四、程序阅读题(共20分,每小题4分)1、#include<stdio.h>voidmain(){inti=15;while(i>0)if(--i%3!=2)continue;elseprintf("%d",i);}程序运行后的输出结果为:2、#include<stdio.h>intfunc(intn){if(n==0)return0;elseif(n==1)return1;elsereturnn*n+func(n-2);}voidmain(){printf("%5d%5d\n",func(3),func(5));}程序运行后的输出结果为:3、#include<stdio.h>voidmain(){inta,b,s,t;a=b=s=0,t=1;while(t<=4){t=t+1;switch(t%3){case1:a=a+t;break;case2:b=b+t;break;default:s=s+3;}printf("a=%d,b=%d,s=%d\n",a,b,s);}}程序运行后的输出结果为:4、#include<stdio.h>#include<string.h>intf1(intx){inty=0;staticintz=2;y+=1;z++;return(x+y+z);}voidmain(){intx=1,i;chars1[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<stdio.h>#defineMAX100voidmain(){intf[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<stdio.h>voidmain(){intm,k,i,sum;for(m=6;m<=10000;m++){if(n%10==0)printf("\n");①;for(i=2;i<==2\*GB3②;i++)if(m%i==0)③;if(sum==m){printf("%d",m);n++;}}}①__________=2\*GB3②__________③__________2、下面的函数sort按照交换排序的思想,实现对n个整型数的非递减排序。voidsort(intp[],intn){inti,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、#include<stdio.h>voidswap(int①){intmax,i,*q=p;for(i=1;i<4;i++)if(*q<*(p+i))q=p+i;max=*q;*q=*(p+3);*(p+3)=max;}voidmain(){inta[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<a[0]+12;②)swap(p);③;for(i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属材酸洗工安全操作强化考核试卷含答案
- 半导体器件和集成电路电镀工冲突解决竞赛考核试卷含答案
- 石油焦煅烧工班组建设测试考核试卷含答案
- 乳清工岗前个人防护考核试卷含答案
- 2026年新科教版初中七年级语文下册第三单元古诗词情感把握训练卷含答案
- 碳五石油树脂装置操作工持续改进水平考核试卷含答案
- 2026年新科教版初中九年级历史上册第三单元工业革命与社会进步卷含答案
- 建筑模型制作工创新方法强化考核试卷含答案
- 民族拉弦乐器制作工岗前教育考核试卷含答案
- 2026年新科教版初中八年级道德与法治下册第三单元我国政治制度解读卷含答案
- 有机化学(冯骏材编)课后习题答案
- 大学语文(第三版)课件 秀色
- 能源的获取和利用途径
- 海南省市政安装机械设备安装工程资料
- 课件《基础教育课程教学改革深化行动方案》全文解读实用PPT
- 拉伸钢板桩施工记录表
- 牙周炎-牙周脓肿
- GB/T 23914.2-2009道路车辆装载物固定装置安全性第2部分:合成纤维栓紧带总成
- GB/T 20485.43-2021振动与冲击传感器校准方法第43部分:基于模型参数辨识的加速度计校准
- 《普通话》教学讲义课件
- A04044《纳税人税种认定表》
评论
0/150
提交评论