




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专升本C语言历年考试题及答案江西财经大学2005年专升本选拔考试C语言程序设计试卷(考试时间120分钟,总分100分)一、用C语言描述下列命题(共16分,每小题2分)1、a、b和c均为整型变量,a和b中有一个大于c。2、数学公式:-"僮2-4ac的C语言表达式(注:sqrt()为开方函数)。2a3、写出100内的自然数x,能被3或7整除的表达式。4、写出判断字符变量ch是阿拉伯数字字符的表达式。5、写出满足x<60或90a词00的C语言表达式。6、写出平面上的点(x,y)落在单位圆内的表达式。7、数组p10的各元素用于保存指向char型的指针,写出该数组的定义。8、有名为max
2、的函数,其功能是对两个int型参数x、y进行计算,返回其中的较大 者,写出该函数的说明部分。二、根据要求画出流程图或N -S图(共10分,每小题5分)1、用流程图或N-S图表示以下算法。输入x的值,按下列函数计算y的值,并输出y的值。2、画出打印以下图案的算法流程图或N-S图。&& &6、 & &7、 & & &三、程序阅读题(共20分,每小题4分)1、# include <stdio.h>void main( ) int i,sum=0;for(i=1;i<=30;i+)if(i%3!=0) continue;
3、else sum=sum+i;printf( "n" sum);请叙述上面程序的功能,并写出程序的运行结果。8、 void main( ) int a,b,x=1,y=1;scanf("%d%d",&a,&b);if (a>0) x=x+y;if (a<b) x=2*y;else if (a=b) y=5;else y=x+y;printf("x=%d,y=%dn",x,y);假设输入为: 2 -3<CR>, 则程序运行后的输出结果为:9、 void main() int a33=2,4,6,8
4、,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+=aij;printf( “ sum=n%” d,sum) ;请叙述上面程序的功能,并写出程序的运行结果。10、 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+;p
5、rintf("s1=%d,s2=%d,s3=%d",s1,s2,s3);请叙述上面程序的功能。11、 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、以下函数用于求出一个3X4矩阵中的最小元素值。int min_value(int m3) int i, j, min;min=m00;for (i=0;i
6、+)for (j=0 ; ;j+)if ( <min ) min=;return( min );2、程序的功能是:从键盘输入一用字符(以回车换行符结束),统计其中大写英文字 母的个数,将结果保存在变量 count中。void main( )int count=0;char c;while(c!='n')if ( );c=getchar();printf("have typed %d upper letters", count);)3、以下函数的功能是:在第一个循环中给前 n个数组元素依次赋值1n;在第二个循 环中使a数组的n个元素值对称互换,变成n、n
7、-1 ? ? ? 4 3、2、1。void fun ( int a ,int n)int i;int temp;for(i=1; i<=n; i+) ai-1= i;for(i=0; i<n/2; i+) temp=;ai=;=temp;4、以下程序是实现如图1所示图案的打印。void main() int i,j,k;char ch;for(i=1,ch= ;i<=;i+)for(j=1;j<=4-i;j+) putchar( '0); /* CW示空格符 */for(k=1;k<=;k+)putchar(ch);printf("n"
8、);A五、程序设计求cc 16分)1、也D号? DD以表示为abc,若其能?f足条件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)
9、/(2*a)3、(x>=1&&x<=100)&&(x%3=0|x%7!=0)4、ch>=0'&&ch<= '9'5、x<60|x>=90&&x<=1006、x*x+y*y<=17、char *p10;8、int max(int x,int y)二、根据要求画出流程图或N -S图(共10分,每小题5分)1、2、三、x>0求sum=165打印&'字符y=-120芬日事小题4分)x>=01、输出功育30内盘猿3整除的数的和2、3、4、5、
10、输任 输任 功能 功能 输出x=2,y=3 sum=30求3*3矩阵对角线上元素之和。输入10个数,分别求出其中能被1、2、3整除的数的和并打印。Result is:55fun函数的功能:求12+22+.+n2四、程序填空(共28分,每空2分)1、 i<3 j<4 aij aij2、 c=getchar() c>='A' && c<='Z' count+3、 ai an-i-1 an-i-14、'A' 4 2*i-1 ch+五、程序设计题(共26分,8+8+10)1、void main() int a,b,
11、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>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 <stdio.h>#include <s
12、tdlib.h>typedef struct/*定义描述学生的结构体类型*/int num;/*成员变量num 表示学号*/char name20;/* 姓名 */float score3; /*成绩 */stud;void input(stud s,int n)int k;char t10;for (k=0; k<n; k+) printf("No:");gets(t); sk.num=atoi(t);printf("name:"); gets();printf("score1=?"); gets(t);
13、sk.score1=atof(t);printf("score2=?"); gets(t); sk.score2=atof(t);printf("score3=?"); gets(t); sk.score3=atof(t);void output(stud s,int n)int k;printf("%10s%20s%8s%8s%8sn","no","name","score1","score2","score3");for (k=0;
14、 k<n; k+) printf("%10d",sk.num);printf("%20s",);printf("%8.2f",sk.score1);printf("%8.2f",sk.score2);printf("%8.2fn",sk.score3);void print_average(stud s,int n)int k;printf("nn%10s%20s%12sn","no","name","av
15、e_score");for (k=0; k<n; k+) printf("%10d",sk.num);printf("%20s",);printf("%8.2fn",(sk.score1+sk.score2+sk.score3)/3);void main()stud st10;input(st,3);output(st,3);print_average(st,3);.C语言与程序设计试题一、用C语言描述下列命题(共16分,每小题2分)1 . x为整数,写出x能被3除尽,且被5除余2的判断表达式。2 .写出
16、a、b之差的绝对值大于x、小于y的判断表达式。3 .如图所示电路中A=1表示开关合上(B,C也相同),写出能使得灯亮的表达式AWB / c/4 .把下列数学表达式转换为C语言表达式:5 .写出判断字符变量ch是阿拉伯数字符号的表达式。6 . 定义一个枚举类型 season描述一年的四个季节(spring, summer, autumn, winter。7 .函数fun可以接收字符串的地址作为实际参数,计算后能够返回一个字符指针,写 出该函数的声明。8 .有定义FILE fp;请写出以只读方式打开一个二进制文件刊e.dat的相关语句。二、根据要求画出NS图(共 5分)求解使得不等式1-(1/2)
17、+(1/3)-+(1/N) > 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的值是(
18、)A. 0 B. 1 C. 19 D. 204 . 以下不正确的描述是( )A. break 语句不能用于循环语句和switch 语句外的其它语句B.在switch语句中使用break语句或continue语句的作用相同C.在循环语句中使用continue语句是为了结束本次循环D.在循环语句中使用break语句是为了使流程跳出循环体5 . 对二维数组的正确说明是( )A.int a=1,2,3,4,5,6 ; B. int a2=1,2,3,4,5,6 ;C.int a3=1,2,3,4,5,6 ; D. int a2,3=1,2,3,4,5,6;四、程序阅读题(共20分 , 每小题 4分)1
19、、 #include <stdio.h>void main() int i=15;while (i>0)if (-i%3!=2) continue;elseprintf("%d ",i);程序运行后的输出结果为:2、 #include <stdio.h>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%5dn",func(3),func(5);程序运行后的输出结果为:3
20、、 #include <stdio.h>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=%dn",a,b,s);程序运行后的输出结果为:4、 #include <stdio.h>#include <string.h>int f1(int x) int y=0;static int z=2;y+=1; z
21、+;return(x+y+z);void main() int x=1,i;char s110= “ Visual ” ,s210= “ C+” ,s10;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,n%” s,strlen(s2),s2);程序运行后的输出结果为:5、 #include <stdio.h>#define MAX 100void main() int fMAX
22、,i,j,k=2,m=5;for(i=0;i<=m;i+)fi=1;fk-1=2;for(i=k;i<=m;i+)for(j=i-k;j<=i-1;j+)fi+=fj;printf("%d%5d%5dn",k,m,fm);程序运行后的输出结果为:五、程序填空(共24 分 , 每小题 6 分)1、求 10000 内的完数,一个数所有因子的和与该数相等即为完数,如6=1+2+3,所以6 是完数。#include <stdio.h>void main() int m,k,i,sum;for(m=6;m<=10000;m+)if(n%10=0)
23、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 (pj>=pj-1);else t=pj; pj=pj-1; pj-1=t; 、#include <stdio.h>void swap(int ) int max, i, *q=p;for(
24、i=1;i<4;i+)if(*q<*(p+i)q=p+i;max=*q;*q=*(p+3);*(p+3)=max;void main() int a34,i,j,*p=a0;for( i=0;i<3;i+ )for(j=0;j<4;j+)scanf( “ %d” ,p+);for( p=&a00;p<a0+12; )swap(p);for(i=0;i<3;i+) for(j=0;j<4;j+) printf( “ %3d” ,*p+);printf( n“” ); 4、设某单位将一商品四个季度的销售数据以数字串的形式放在一数组中,下面的程序实现对四个季度产品销售额的求和,请在空处填上适当表达式。#include<stdio.h>void main()char sales410= "8139.45","6245.2","1234","8937.85" ,*p4;int i, j, dec_dig;float sale, totle=0;for(i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 税务筹划项目经理岗位面试问题及答案
- 数据治理工程师岗位面试问题及答案
- 上海市松江区统考2025年化学高二下期末经典模拟试题含解析
- 安徽师大附中2025年高二化学第二学期期末综合测试模拟试题含解析
- 冰雪项目培训管理办法
- 丹葛多酚生物转化-洞察及研究
- 沈阳集中供暖管理办法
- 数据驱动咨询体系-洞察及研究
- 儿童友好型社区户外活动空间的设计与实践
- 决策运行体系管理办法
- 商户安全生产培训课件
- 电信防诈骗培训课件
- SL631水利水电工程单元工程施工质量验收标准第1部分:土石方工程
- 健康教育与健康促进试题及参考答案
- 安全风险分级管控和隐患排查治理双重预防机制实施细则
- -06-领军人才选拔试题答案
- 交通导行方案样稿
- 学校中层干部选拔考试教育教学管理知识试题题库(包含:名词解释、简答题、论述题、案例分析)
- 消防安装工程监理细则样本
- GA/T 966-2011物证的封装要求
- FZ/T 64078-2019熔喷法非织造布
评论
0/150
提交评论