专升本C语言程序设计专业考试试题.docx

上传人:君**** 文档编号:68559067 上传时间:2022-12-28 格式:DOCX 页数:10 大小:31.82KB
返回 下载 相关 举报
专升本C语言程序设计专业考试试题.docx_第1页
第1页 / 共10页
专升本C语言程序设计专业考试试题.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《专升本C语言程序设计专业考试试题.docx》由会员分享,可在线阅读,更多相关《专升本C语言程序设计专业考试试题.docx(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、专升本专业课考试C语言程序设计试题卷考生须知:1、考生姓名和准考证号码填写在答题纸密封线左边指定位置;2、考生一律在答题纸上答题,在本试题页上答题无效;3、答题不需要抄写题目,但必须写清题目编号(第几大题第几小题);4、试题、答题纸及草稿纸不准带出考场,离开考场须经监考人员清点;5、考试时间为150分钟;试题满分为150分;6、本试题共5页,5大题(注意反面)。一单项选择题(每题2分,共20分)1对于一个正常运行和正常退出的C程序,以下叙述正确的是_。 A程序从main函数第一条可执行语句开始执行,在main函数结束B程序的执行总是从程序的第一个函数开始,在main函数结束C程序的执行总是从m

2、ain函数开始,在最后一个函数中结束D从程序的第一个函数开始,在程序的最后一个函数中结束2要使下面程序输出1, 2, 34,则从键盘输入的数据格式应为_。 #include main() char a,b; int c; scanf(%c%c%d,&a,&b,&c); printf(%c,%c,%dn,a,b,c);A1 2 34 B1, 2, 34 C1,2,34 D12 343对于以下程序片段,描述正确的是_。 int x=-1;do x=x*x;while(!x);A是死循环B循环执行两次C循环执行一次D有语法错误4以下不能对二维数组a进行正确初始化的语句是_。 Aint a23=0;B

3、int a3=1,2,0;Cint a23=1,2,3,4,5,6;Dint a3=1,2,3,4,5,6;5以下程序运行后输出结果是_。float fun(int x, int y) return(x+y);main() int a=2,b=5,c=8; printf(%3.0fn,fun(int)fun(a+c,b),a-c);A编译出错 B9 C21D9.06. 一个指针数组的定义为_。 Aint (*ptr)5;Bint *ptr5;Cint *(ptr5);Dint ptr5;7若有定义int(*p)4,则标识符p是一个_。 A指向整型变量的指针变量B指向函数的指针变量C指向有四个整

4、型元素的一维数组的指针变量D指针数组名,有四个元素,每个元素均为一个指向整型变量的指针8程序中对fun函数的说明为“void * fun();”,此说明的含义是_。Afun函数无返回值Bfun函数的返回值可以是任意的数据类型Cfun函数的返回值是无值型的指针类型D指针fun指向一个函数,该函数无返回值9下面程序运行后的输出结果是_。 typedef struct int b; int p;TYPEA;void f(TYPEA c)c.b+=1; c.p+=2;main()TYPEA a=1,2;f(a);printf(%d,%dn,a.b,a.p);A2,3 B2,4 C1,4 D1,210已

5、知学生记录描述为:struct student int no;char name20;char sex;structint year;char month15;int day; birth;struct student s;设变量s中的生日是1990年12月11日,下列对生日的正确赋值方式是_。As.birth.year=1990; s.birth.month=12; s.birth.day=11;Bs.birth.year=1990; s.birth.month=12; s.birth.day=11;Cs.birth.year=1990; strcpy(s.birth.month,12);

6、s.birth.day=11;Ds.birth.year=1990; strcpy(s.birth.month,12); s.birth.day=11;二、下面给出的程序中,共有15处错误(包括语法错误和逻辑错误),请找出其中的错误,并改正之。(30分,每找对1个错误,加1分,每修改正确1个错误,再加1分。)1交换两个整数的值,保证调用函数中实参的值交换。(3个错误)void exchang(int *p1, int *p2) int p; *p = p1; p1 = p2; p2 = *p;2下面程序模拟了骰子的6000次投掷,用rand函数产生16之间的随机数face,然后统计16每一面出

7、现的次数存放到数组frequency中。(3个错误)#include #include #include main() int face,roll,frequency7=0; srand(timeNULL); for(roll=1; roll=6000; roll+); face = rand()%6+1;+frequencyFace; printf(%4s%17sn,Face,Frequency); for(face=1;face=6;face+) printf(%4d%17dn,face,frequencyface); 3.下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单词之

8、间以空格分开。已知:判断是否有新单词出现的方法当前被检验字符不是空格,而前一被检验字符是空格,则表示有新单词出现。(4个错误)#include main() int i,num; char str20; scanf(%c, str); if(str0= ) num = 1; else num = 0; for(i=1; i20; i+) if(stri!= & stri-1= ) num=num+; printf(num=%dn, num);4. 下面程序的功能是编程输入10个数,找出其中的最大值及其所在的数组下标位置。(5个错误)#include int FindMax(int num, i

9、nt n, int *pMaxPos)main()int num10, maxValue, maxPos, minValue, minPos, i;printf(Input 10 numbers:n );for (i=0; i10; i+)scanf(%d, numi); maxValue = FindMax(num, 10, maxPos);printf(Max=%d, Position=%dn,maxValue, maxPos);int FindMax(int num, int n, int *pMaxPos);int i, max;max = num0;pMaxPos = 0;for(i

10、 = 1; i max)max = numi;*pMaxPos = i; return max;三、程序填空题(每空2分,共34分)1. 从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“它是闰年”,否则输出“它不是闰年”。已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。能被400整除。#include main() int year, flag; printf(Enter year:); scanf(%d, ); if( ) flag = 1; else flag = 0; if( ) printf(它是闰年n); else printf(它不是闰年n); 2.以下程序

11、将输入的十进制数以十六进制的形式输出。#include main() char b17= 0123456789ABCDEF; int c64,d, i=0, base = 16; long number; printf(请输入一个十进制数n); scanf(%ld, &number); do ci = ; number = number/base; ; while (number != 0); printf(对应的十六进制数为: n); for(-i; ; -i) d = ci; printf(%c, ); printf(n);3. 输入一个字符数小于100的字符串string,然后将stri

12、ng所保存字符串中的每个字符之间加一个空格。 #include#define MAX 100void Insert(char s);main() char stringMAX; scanf(%s,string); Insert(string); printf(%s,string);void CopyString(char c, char s) int i; for(i=0; si!= 0; i+) ci = si; ;void Insert(char srcStr) char strTempMAX; int i = 0, j = 0; CopyString(strTemp, srcStr);

13、while( ) srcStri = strTempj;i+; ;srcStri = ; i+; srcStri = 0;4.先按学号由小到大的顺序从键盘输入学生的学号和成绩,然后从键盘任意输入一个学生的学号,查找并打印具有该学号的学生的成绩。#include #define ARR_SIZE 40 ;main() float scoreARR_SIZE;int n, i, pos;long numARR_SIZE,x;printf(Please enter total number:);scanf(%d, &n); printf(Please enter the number and sco

14、re:n);for(i=0; in; i+) scanf(%ld%f, &numi, &scorei);printf(Please enter the searching number:);scanf(%ld, &x); pos = BinSearch( );if ( ) printf(score = %4.0fn, scorepos); else printf(Not found!n);int BinSearch(long a, int n, long x) int low, high, mid;low = 0; high = n - 1; while (low amid) low = ;

15、else if (x amid) high = ; else return ( ); return(-1); 5给定程序的功能是:求方阵44两对角线元素之和及其转置矩阵。#include main()int a44,t44;int i,j,s1=0,s2=0; for(i=0;i=3;i+) for(j=0;j=3;j+) scanf(%d,&aij); for(i=0;i=3;i+) for(j=0;j=3;j+) ; s1+=aii; ;printf(s1=%d,s2=%dn,s1,s2); for(i=0;i=3;i+) for(j=0;j=3;j+) printf(%3d,tij);

16、printf(n);四、程序阅读题(每题6分,共30分)1输出结果是 _。#include void f(int n,int *r)int r1=0; if (n%3=0) r1=n/3; else if(n%5=0) r1=n/5; else f(-n, &r1);*r=r1;void main() int m=7,r; f(m,&r); printf(%dn,r);2程序运行时输入为:12345678910,输出结果是 _。#includemain() int i, a10; int *p; p = a; for(i=0; i10; i+) scanf(%d, p+i); for(p=a;

17、 pa+10; p+) printf(%dt, *p); printf(n); for(p=a; pa+10; p+) if(*p % 2) printf(%dt, *p); 3输出结果是 _。#includevoid fun1(int x) x=20;void fun2(int b4) int j; for(j=0; j4; j+) bj=j; main() int x = 10; int a4 = 1,2,3,4, k; fun1(x); printf(x = %dn, x); fun2(a); for(k=0; k4; k+) printf(%dn, ak); 4输出结果是 _。#inc

18、lude struct date int year; int month; int day;void func(struct date p) p.year = 2000; p.month = 5; p.day = 22;main() struct date d; d.year = 2012; d.month = 1; d.day = 20; printf(%d,%d,%dn, d.year, d.month, d.day); func(d); printf(%d,%d,%dn, d.year, d.month, d.day);5输出结果是 _。#include main() char a =

19、Hello ; char *p = NULL; for (p=a; pa+5; p+) printf(%sn, p); 五、编程题(每小题12分,共36分)1. 编写程序输出3到10000内的可逆素数。可逆素数是指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。如157和751均为素数,它们是可逆素数。要求:使用子函数实现,至少两个子函数。prime函数用于判定素数。invert(int a)函数用于倒序一个数。2.不用函数strcat(),编程实现字符串连接函数MyStrcat(char *dstStr,char *srcStr)将字符串srcStr连接到字符串dstStr的尾部,并编写主函数调用MyStrcat将用户输入的两个字符串相连接。3. 输入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com