2015年c语言学位考试模拟试题,c语言-2015c语言练习样卷

第1页共6页2015年C语言程序设计笔试练习样卷考核方式(闭卷)警示:考试违纪处理:警告,严重警告;考试舞弊处理:记过,留校察看,开除学籍。考试舞弊受到留校察看处分,将不会授予学位证!应教务处要求,从现在起,有关学生考试违纪或舞弊的处理,均由学院教务办和学校教务处进行处理。违纪后果很严重,还是好好学习认真备考才是良策!一、单项选择题(20小题×2分=40分)1、一个占2个字节内存的无符号整数所能表示的最大值是______。A)127B)255C)32767D)655352、在定义:inta[5]={1,2,3,4,5},*p=a;之后;对数组元素a[2]进行引用,错误的写法是______。A)*(a+2)B)p[2]C)*p+2D)*(p+2)3、若已定义inta[2][3]={{80,81,82},{83,84,85}},(*p)[3]=a;则执行p++;后,**p代表的元素是______。A)83B)84C)80D)814、以下可作为函数fopen()中第1个参数的正确格式是______。A)"d:\xds\sy1.txt"B)"d:\\xds\sy1.txt"C)"d:\\xds\\sy1.txt"D)"d:\xds\\sy1.txt"5.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是______。A)a>=10ora=10||a=10&&a=10|aintmain(void){inti,n,p;scanf("%d",printf("n!=%d\n",p);return0;}方法2:用if和switch语句实现。#includeintmain(void){intscore;scanf("%d",}第3页共6页4、下面程序的功能是给出一个其值不超过10000000的正整数,求出它是几位数。样例输入:52060样例输出:length=56、求GCD和LCM,即指求最大公约数和最小公倍数。写两个函数,分别求两个正整数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果。两个整数在主函数中从键盘输入。样例输入:6,9样例输出:GCD=3LCM=18方法2:GCD采用欧几里得给出的高效解法——辗转相除法求解;LCM根据GCD求。#includeintGCD(intm,intn)//最大公约数{intr;r=m/n;//【9】while(r){m=n;n=r;r=m/n;//【9】}returnn;}intLCM(intm,intn)//最小公倍数{ints;s=m*n/GCD(m,n);returns;}intmain(void){intm,n;scanf("%d,%d",}方法1:利用循环,逐位进行统计。#includeintmain(void){inta,length=0;scanf("%d",}//函数doublelog10(doublex)//用于计算x的常用对数log10x方法1:利用循环语句,进行暴力搜索。#includeintGCD(intm,intn)//最大公约数{inti,min,gcd;min=m=1;i--)if(i%m==0}returngcd;}intLCM(intm,intn)//最小公倍数{inti,max,lcm;max=m>n?m:n;for(i=max;i1时)。求斐氏数列的前n+1项并输出,即输出f(0)―f(n)的值,各值之间用1个空格隔开。假设f(n)的值所占内存不会超过4个字节,且输出的总项数不超过1000。样例1样例2输入612输出011235801123581321345589144说明:要求采用尽可能多的方法进行编写,方法越多,你可能得到的分数越多。不同的方法请分开书写。每种方法请先简要描述算法,然后书写程序,程序中可适当加以注释。简要提示:本程序可以用循环递推的方式计算(定不定义数组均可实现),也可以采用递归函数实现。2、大家都是一年级的同学,或许还不熟悉期终总评成绩是怎么评出来的,下面就把2012年12级信息安全专业各班的“C语言程序设计”的期终总评成绩的评定规则说明一下。规则1:若期终考试成绩小于55分,则不计平时成绩,故期终总评成绩=期终考试成绩。规则2:若期终考试成绩大于或等于55分,则期终总评成绩=期终考试成绩*80%+平时成绩*20%。规则3:若期终总评成绩大于或等于60分,则通过;否则挂科,需要重修。下面请你编写一个程序,根据输入的“C语言程序设计”的期终考试成绩和平时成绩,判定该同学是通过,还是挂科。输入:先后输入期终考试成绩和平时成绩,用逗号隔开。输出:如果考试未通过,则输出“YourscoreisXX.XX,Sorry!”。如果考试通过,则输出“YourscoreisXX.XX,Pass!”。其中,XX.XX表示分数,精确到小数点后面2位。样例测试数据如下表所示。样例1样例2样例2输入54,8055,7955,80输出Yourscoreis54.00,Sorry!Yourscoreis59.80,Sorry!Yourscoreis60.00,Pass!第5页共6页2015年C语言程序设计笔试参考答卷一、单项选择题1-5:DCADB5-10:BACAC11-15:D......二、程序改错题【1】p=p*n;改成p=p*i;【2】if(n=1)改成if(n==1)【3】returnn*fact(n+1);改成returnn*fact(n-1);【4】if(score100)改成if(score100)【5】case0:printf("Sorry\n");改成case0:printf("Sorry\n");break;【6】a=a%10;改成a=a/10;【7】length=(int)log10(a);改成length=(int)log10(a)+1;【8】if(i%m==0......三、程序编写与优化评分依据:代码的正确度?格式是否规范?是否有适当的注释或说明性文字?第1题参考解答:方法1:采用循环递推实现。(不用数组也可以实现)#includeintmain(void){intfib[1005]={0,1},n,i;scanf("%d",return0;}第6页共6页方法2:采用递归函数实现。#includeintfun(intn){if(n==0||n==1)returnn;elsereturnfun(n-1)+fun(n-2);}intmain(void){inti,n;scanf("%d",i++){printf("%d",fun(i));}printf("%d\n",fun(i));return0;}第2题参考解答:#includeintmain(void){inti;floatscore,score1,score2;scanf("%f,%f",}注:编程题答案并不唯一,此处为参考解答。......

展开阅读全文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值