北京联合大学C语言程序设计期末精选样卷(含六卷).docx
《北京联合大学C语言程序设计期末精选样卷(含六卷).docx》由会员分享,可在线阅读,更多相关《北京联合大学C语言程序设计期末精选样卷(含六卷).docx(62页珍藏版)》请在三一办公上搜索。
1、B、COntinUC语句的作用是结束整个循环的执行C、在循环体内使用break语句或continue语句的作用相同D、从多层循环嵌套中退出时,只能使用got。语句【答案】A6、已知三个字符为a、Z和8,按它们的ascii码值升序排序,结果是。A、 8,a,ZB、 a,8,ZC、 a,Z,8D、 8,Z,a【答案】D7、语句while(!f);中的条件!f等价于()A、 f=0B、 f!=lC、 f!=0D、f【答案】A8、若有以下的定义:intt32;能正确表示t数组元素地址的表达式是OAs&t32B、t3Cs&tlD、 t2【答案】D9、有下面程序段chara3,b=china;a=b;pr
2、intf(%3,r,a);则下面的说法正确的是QA、运行后见输出ChinaB、运行后见输出ChC、运行后见输出ChiD、编译出错【答案】D10、在宏定义#加灯11。Pl3.14159中,用宏名代替一个。A、常量B、单精度数C、双精度数D、字符串C语言程序设计期末精选样卷(一)(总分100分.考试时长90分钟一、单项选择题(每小题2分,共40分).1、以下数值中,不正确的八进制数或十六进制数是OA、0x16B、016C、-16D、Oxaaaa【答案】C2、若X为int型变量,则执行以下语句后,x的值为ox=6;x+=-=x*x;A、36B、-60C、60D、-24【答案】B3、下列关于指针变量的
3、描述,不正确的是0A、在没有对指针变量赋值时,指针变量的值是不确定的B、同类指针类型可以进行相减操作C、在使用没有赋值的指针变量时,不会出现任何问题D、可以通过指针变量来取得它指向的变量值【答案】C【解析】没有赋值的指针变量,可能指向任何地方,如果指向系统,那么使用该指针可能导致系统崩溃。4、SWitCh语句不能用于下列哪种数据类型()A、 doubleB、 byteC、 shortDxchar【答案】A【解析】SWiSh语句中表达式expression只能返回这几种类型的值:int、byte、short和Char。如果比较的数据类型是double型,则不能使用SWitCh结构。5、下列叙述中
4、正确的是oA、只能在循环体内和SWitCh语句体内使用break语句printf(n%d,ar);)As192R、29Cs27D、25【答案】B16、以下程序运行后的输出结果是oincludemain()(ints=0,k;for(k=7;k=0;k)(switch(k)ease1:case4:case7:s+;break;case2:case3:case6:break;case0:case5:s+=2;break;)piintf(s=%dn,s);A、s=5B、s=lC、s=3D、s=7【答案】D17、下面哪个不是关键字?A、intB、 structC、 defineD、 continue【
5、答案】D11、设有数组定义:Chararray=student;则数组所占的存贮空间为。A、6个字节B、7个字节C、8个字节D、9个字节【答案】C12、若有定义:Char*x=abcdefghi;以下选项中正确运用了StrCPy函数的是。A、chary10;strcpy(y,x4);B、chary10:strcpy(+y,&x1);C、chary10,*s;strcpy(s=y+5,x);D、chary10,*s;strcpy(s=y+l,x+1);【答案】D【解析】字符串复制函数StrCPy调用形式为:strcpy(sl,s2)”,其功能为把s2所指字符串的内容复制到SI所指空间,函数返回S
6、I的值,即目的串的首地址。为保证复制的合法性,Sl必须指向一个足够容纳s2串的存储空间。13、下面语句中()是C语言的正确赋值语句。A、 a=l,b=2B、 1+;C、 a=b=5D、 y=int(x);【答案】B14、C语言中函数返回值的类型是由决定的.A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型【答案】A15、下列程序运行结果为:defineP3ItdefineS(a)P*a*amain()intar;ar=S(3+5);二、判断题(每小题2分,共20分)()1、若有定义:inta;则SCanf($d,a);可以给变量a赋值。
7、【答案】错误()2、位运算符是针对二进制数的每一位进行运算的符号,是专门针对数字。和1进行操作的。【答案】正确()3、在if语句中,必须出现else。【答案】错误()4、While循环语句的循环体至少执行一次.【答案】错误()5、C语言约定0计入字符串的长度。【答案】错误()6、C程序总是从main函数的第一条语句开始执行的。()【答案】正确()7、以下定义了一个一维数组str,该数组可以存放81个字符型数据。charstr81;【答案】正确()8、C语言规定,函数返回值的类型是由return语句中表达式类型所决定的。()【答案】错误()9、在对数组全部元素赋初值时,可以省略行数,但不能省略列
8、数【答案】正确【答案】C18、下面程序的输出结果为Omain()inta,b;b=(a=3*5,a*4,a*5);Printf(%dM,b);)A、60B、75C、65D、无确定值【答案】B19inta5,*p=a;对a数组元素地址的正确引用是A、p+5B、 &a0C、 &a+lD、 *a+l【答案】B【解析】A越界,C和D表达错误。20、有如下定义structperson(charname9;intage;);structpersonclass10=johu,17,paul,19,mary,18,ada16);根据上述定义,能输出字母m的语句是A、 prinftB、 printfC、 pri
9、nftDs printf【答案】D(%cn ( %cn ( %cn ( %cn,fclass3.name);class3.namel)class2,namel)class2.name0)voidmainOcharss1081,*max;intn,i=0;Printfr输入若干个字符串:);gets(ssi);puts(ssi);whiIe(!strcmp(ssi,*)=0)(i+;gets(ssei);puts(ssi);)n=i;max=proe(ss,n);printf(nmax=%sn”,max);(本题14分)【答案】char*proc(char(*a)81,intm)char*max
10、;inti=0:max=a0:for(i=0;im;i+)if(strlen(max)Vstrlen(ai)找出最长的字符串max=ai;returnmax;返回最长字符串的地址3、题目描述,逆序输出成绩表输入一组学生的成绩,将输入内容逆序输出。输入输入格式为每行两个数值,学号N为10位数字,成绩S取值为整数(0S100)读取输入直到输入结束(数据总量不超过50行)输出输出格式为每行两个数值,学号N之后有一个空格,成绩值的输出宽度占3个位置样例输入20#040578()10、当一个C语言程序由多个文件模块组成时,整个程序可以包含多个main()函数。【答案】错误三、编程题每小题分,共40分)1
11、、编写程序:求元素个数为10的一维数组元素中的最大值和最小值。(本题10分)【答案】includestdio.hnmain()intterm10;Inti,max,min;Printf(请输入10个整数:”);for(i=0;i10;i+)(scanf(,%d,&termi);max=term;min=term0;for(i=0;i10:i+)if(termimax)max=tcrmi;)printf(max=%d,min=%d,max,min);)2、编写一个函数,从传人的m个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用*作为结束输入的标志)。注意:部分源程序给出如下。请
12、勿改动Inain()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填人所编写的若干语句。试题程序:char*proc(char(*a)81,intnum)20#04268020#04026120#037795样例输出20#03779520#04026120#04268020#040578(本题16分)【答案】ttincludettincldeconstintN=50+5;typedefstructstudentcharno15;intscore;STU;intmain()STUstuN;intn=0;while(scanf(%s%d,stun.no,&stun.score)!=EO
13、F)n+;for(inti=n-1;i=0;i)printf(w%s%3dn,stui.no,stui.score);returnO;D、结构化程序设计提倡模块化的设计方法【答案】C【解析】本题考查的知识点是:结构化程序设计。结构化程序由3种基本结构组成:顺序结构、选择结构和循环结构。已经得到证明,由3种基本结构组成的算法结构可以解决任何复杂的问题。故本题中选项C)是错误的。6、以下叙述中错误的是oA、C语言是一种结构化程序设计语言B、使用三种基本结构构成的程序只能解决简单问题Cs结构化程序由顺序、选择、循环三种基本结构组成D、C语言编译系统允许对函数单独进行编译,从而可以实现模块化【答案】B
14、【解析】C语言是一种结构化程序设计语言,结构化程序由顺序、选择、循环三种基本结构组成,使用三种基本结构构成的程序可以解决任何复杂问题。C语言编译系统允许对函数单独进行编译,从而可以实现模块化。本题答案为B选项。7、若要对a进行+运算,则a应具有下面说明A、 inta32;B、 char*a12,ab;C、 char(*a)3;D、 intb10,*a=b;【答案】A【解析】左移1位,相当于乘以2,题中的X的值是一个八进制,转换为+进制数是32,再乘以2,X的值为64,以。八进制形式输出,显示为100。8、在C语言中,若函数调用时实参是数组名,则传递给对应形参的是oA、数组空间的首地址B、数组的
15、第一个元素值C、数组中元素的个数D、数组中所有的元素【答案】A【解析】本题考有C语言编程中函数实参和形参关系的知识。C语言中,数组名代表该数组的起始地址,它指向该数组的开始位置,但是它的值不能被修改。在函数的定义中,可以用数组名作为参数,被声明为数组的形参实际上是一个指针。当实参向形参传递数组时,按值调用传递数组的首地址,数组元素的本身不被复制。因此,如果函数调用时实参是数组名,则形参指针接受到的是实参数组的首地址。9、在下列给出的表达式中,与While(e)中的(e)不等价的表达式是。C语言程序设计期末精选样卷(二)(总分100分,专时长90分仲一、单项选择题(每小题2分,共40分)1、以下
16、说法错误的是。A、C语言中的常量是指在程序运行过程中经常被用到的变量B、C语言中的常量是指在程序运行过程中其值不能被改变的量C、C语言中的常量可以用一个符号名来代表D、C语言中的常量可以用宏来定义【答案】A【解析】C语言中的常量是指在程序运行过程中其值不能被改变的量,它可以用宏来定义,用一个符号名代表,选项A错误,选项BCD正确,本题答案A2、把十六进制数baf转换成二进制数oA、 101110101111B、 110110101111C、 101110111111D、 111011011111【答案】A【解析】(BAF)16=(101110101111)23、表达式3.6-5/2+1.2+5
17、%2的值是。A、4.3B、4.8C、3.3D、3.8【答案】D4、若a是数值类型,则逻辑表达式(a=l)(a!=l)的值是。A、1B、0C、2D、不知道a的值,不能确定【答案】A5、以下叙述中错误的是oA、C语言是一种结构化程序设计语言B、结构化程序由顺序、分支、循环三种基本结构组成C、使用三种基本结构构成的程序只能解决简单问题B、花括号“”和“”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C语句之间的分隔符,不是语句的一部分【答案】A【解析】在C程序中/*/表示注释部分,注释只是让阅读程序的人更容易理解程序,对编译和运行不起作用,可以加在程序中任
18、何位置,选项A)正确;花括号“”和不仅可以作为函数体的定界符,还可以构成复合语句,选项B)错误;系统提供的函数和main函数不能由用户命名,选项C)错误;所有的C语句都以分号结尾,选项D)错误。15、程序段如下intk=0;while(k+=2)printf(%dn,k);则执行结果是OA、1B、2C、0D、无结果【答案】A16、下面程序段的运行结果是.for(i=l;iOE0)(total=total+score;scanf(%d,&score);【答案】正确()5、C语言中字符串的结束符是0。【答案】正确()6、函数的实参和形参都可以是变量、常量和表达式。【答案】错误A、6B、8C、10D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京 联合 大学 语言程序设计 期末 精选 含六卷
链接地址:https://www.31ppt.com/p-7031113.html