2016年韩山师范学院本科插班生《C语言程序设计》试卷

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

(A卷)第1页共11页12016年韩山师范学院本科插班生考试试卷计算机科学与技术专业高级语言程序设计试卷(A卷)一、填空题(每空1分,共10分)1.C程序是由_________构成的,它包括___________和__________两部分。2.一个C文件是一个字节流或_____________流。3.在C语言中,&运算符作为单目运算符时表示的是__________运算,作为双目运算符时表示的是__________运算。4.在16位PC机环境下,字符常量‘a’在内存中应占_____个字节,字符串“a”应占________个字节。5.数组在内存中占用一段连续的存储空间,它的首地址由___________表示。6.当a=9,b=40,c=3时,表达式ab!=c的值是_______。二、单项选择题(每题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1.下述程序段的输出结果是()。intx=11;inty=x++;printf(″%d,%d″,(x++,y),y++);得分评卷人(A卷)第2页共11页2A、11,10B、11,11C、10,10D、10,112.下面各选项中,均是C语言标识符的选项组是()。A、forchinatoB、long_123short56_doC、voidunion_342D、text.txt_023_3ew3.有以下程序,执行后输出结果是()。main(){inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i3;i++)if(i2)pa[1][i]=pa[1][i]-1;elsepa[1][i]=1;printf(%d\n,a[0][1]+a[1][1]+a[1][2]);}A、7B、6C、8D、无确定值4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是()。A、有零个输入或多个输入B、高效性C、有穷性D、确定性5.在位运算中,操作数每右移一位,其结果相当于()。A、操作数除以16B、操作数乘以16C、操作数除以2D、操作数乘以26.下面是一个初始化指针的语句:int*px=&a;其中指针变量的名字应该是()。A、*pzB、aC、pxD、&a7.以下描述错误的是()。A、C程序中,函数可以直接或间接的调用自己B、函数调用时,函数名必须与所调用的函数名字完全一致C、函数说明语句中的类型必须与返回值的类型一致(A卷)第3页共11页3D、实参数可以与形参个数不一致8.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是()。A、x||yB、x|yC、x&yD、x^y9.若intk=10;则执行下列程序后,变量k的正确结果是()。main(){intk=10;switch(k){case9;k+=1;case10;k+=1;case11;k+=1;break;default;k+=1}printf(″%d\n″,k);}A、12B、1C、10D、910.下面有关for循环的正确描述是()A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判定表达式C、在for循环中,不能用break语句跳出循环体D、for循环体语句中,可以包含多条语句,但要用花括号括起来11.阅读下面程序,则程序的输出结果为()。#include″stdio.h″main(){intc[]={1,2,3,1,5,2};int*p;p=c;printf(″%d″,*p);(A卷)第4页共11页4printf(″%d\n″,*++p);}A、1,2B、2,1C、1,1D、2,212.当a=2,b=3,c=6,d=4时,执行下面一段程序后,x的值为()。if(ab)if(cd)x=5;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;A、1B、2C、3D、613.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b=c;b++)s=s+1;则与上述程序段功能等价的赋值语句是()。A、s=a+b;B、s=a+c;C、s=s+c;D、s=b+c;14.下面的程序运行后,全局量t.x和t.s的正确结果为()。structtree{intx;char*s;}t;func(structtreet){t.x=5;t.s=car;return(0);}main()(A卷)第5页共11页5{t.x=3;t.s=minicar;func(t);printf(%d,%s,t.x,t.s);}A、5,carB、1,carC、3,minicarD、5,minicar15.以下能对二维数组C进行正确的初始化的语句是()。A、intc[3][]={{3},{3},{4}};B、intc[][3]={{3},{3},{4}};C、intc[3][]={{3},{3},{4},{5}};D、intc[][3]={{3},{},{3}};16.阅读如下程序段,则程序在先后输入blue和sky后,输出结果是()。main(){chara[30],b[30];intk;gets(a);gets(b);k=strcmp(a,b);if(k0)puts(a);elseif(k0)puts(b);}A、blueskyB、skyC、blueD、没有输出结果17.有以下程序char*scmp(char*s1,char*s2){if(strcmp(s1,s2)0)return(s1);elsereturn(s2);}main()(A卷)第6页共11页6{inti;charstring[20],str[3][20];for(i=0;i3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));strcpy(string,scmp(string,str[2]));printf(%s\n,string);}若运行时依次输入:abc、abcd和abba三个字符串,则输出结果为()。A、abcdB、abcaC、abcD、abba18.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()。for(i=5;i>0;i--)for(j=0;j<4;j++){…}A、20B、24C、25D、3019.若已定义了如下的共用体类型变量x,则x所占用的内存字节数为()。uniondata{inti;charch;doublef;}x;A、7B、11C、8D、1020.如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是()。A、文件4应出现在文件3之前,文件3应出现在文件2之前B、文件2应出现在文件3之前,文件3应出现在文件4之前C、文件3应出现在文件2之前,文件2应出现在文件4之前D、出现的先后顺序可以任意得分评卷人(A卷)第7页共11页7三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)1.#defineMCRA(m)3*m#defineMCRB(n,m)4*MCRA(n)+mmain(){inti=3,j=2;printf(%d\n,MCRB(j,MCRA(i)));}2.structs{intx,y;}data[2]={100,10,20,200};main(){structs*p=data;printf(%d\n,++(p-x));}3.#includestdio.hmain(){intnumber,digit,s=0;scanf(“%d”,&number);/*假若运行时,输入number的值为12123*/do{digit=number%10;number/=10;s+=digit;}while(number!=0);printf(“%d\n”,s);(A卷)第8页共11页8}4.#includestdio.hmain(){inti,j;for(i=4;i=1;i--){printf(*);for(j=1;j=4-i;j++)printf(*);printf(\n);}}5.voidfun(int*n){while((*n)--);printf(%d,++(*n));}main(){inta=100;fun(&a);}四、阅读程序或程序段,填空(每题4分,共20分)1.用以下程序计算1到100的整数的累加和。得分评卷人(A卷)第9页共11页9main(){inti,sum=0;i=1;for(___________________________){sum+=i;i++;}printf(″sum=%d\n″,______________);}2.下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。#include<stdio.h>main(){intr,m,n;scanf(″%d%d″,&m,&n);if(mn)(_________________________);r=m%n;while(r){m=n;n=r;r=_________;}printf(″%d\n″,n);}3.512个瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天能卖完。#include″stdio.h″main(){intday,x1,x2;day=0;x1=512;while(____________________)(A卷)第10页共11页10{x2=___________;x1=x2;day++;}printf(″day=%d\n″,day);}4.下面程序用变量count统计文件中字符的个数。#include“stdio.h”main(){FILE*fp;longcount=0;if((fp=fopen(″letter.dat″,______________))==NULL){printf(″cannotopenfile\n″);exit(0)}while(!feof(fp)){__________________________________;count++;}printf(″count=%ld\n″;count);fclose(fp);}5.以下函数的功能是删除字符串s中的所有数字字符。voiddele(char*s){intn=0,i;for(i=0;s[i];i++)if(_______________________)s[n++]=s[i];s[n]=___________________;}五、编程题(每题10分,共20分)得分评卷人(A卷)第11页共11页111.求1+1/2+1/4+……+1/50的值,并输出结果。2.从键盘输入20个学生的学号和一门课程成绩,统计计算出全班平均成绩,并输出低于平均分的学生学号和成绩。

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功