《黑龙江八一农垦大学C语言程序设计期末(含六卷).docx》由会员分享,可在线阅读,更多相关《黑龙江八一农垦大学C语言程序设计期末(含六卷).docx(55页珍藏版)》请在第壹文秘上搜索。
1、D、3【答案】B5、若i、j已定义成int型,则下列程序段中内循环体的总执行次数是for(i=6;i0;i)for(j=0;jc)b=a;a=c;c=b;则C的值为oA、1B、2C、3D、不一定【答案】B3、C语言的基本数据类型包括oA、字符型和数值型B、字符型和逻辑型C、整型和实型D、指针型和数据型答案A4、假定所有变量均已正确定义,下列程序段运行后X的值是()。kl=l;k2=2;k3=3;x=15;if(!kl)X;elseif(k2)x=4;elsex=3;A、14B、4C、15就得到小写字母,所以选项B和C是正确的。选项A中(cA)%26可以求出变量C中的字母与字母A相差几位,那么小
2、写字母a的ASCll码向后移动相差的位数就是对应的小写字母,所以选项A也是正确的。14、若有定义floata=25,b.*p二&b;,则下列对赋值语句*p=a;和p4aj的正确解释为()。A、两个语句都是将变量a的值赋予变量PB、*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针PC、*p=a是将变量a的值赋予变量b,而&a是使P指向变量aD、两个语句都是使P指向变量a【答案】C15、下面程序的输出结果为omain()(inta,b;b=(a=3*5,a*4,a*5);Printf(mb);A、60B、75Cs65D、无确定值【答案】B16、下面程序的运行结果是onain()(int
3、i,j,a=0;for(i=0;i2;i+)(for(j=0;j4;j+)if(j%2)break;a+;)a+:)printfC,%dn,a);)A、4B、5C、6C、在C语言算术的书写中,运算符两侧的运算数类型必须一致D、C语言的数值常量中夹带空格不影响常量值的正确表示【答案】B【解析】C语言中的注释/*/“或者“可以放在程序中的任何位置,但是不可以加在变量名或者关键字中间,会导致该变量名和关键字不被C语言识别,选项A)正确;C语言中变量的定义必须在变量使用之前,而且定义时该变量的作用域一定要能涵盖该变量的使用,所以定义的位置不是任意的,选项B)错误;算术运算符两侧的运算数类型可以不一致,
4、如加减乘除运算符都没有对运算数类型进行限制,如果不一致,系统会对其进行相应的数据类型转换,选项C)错误;空格一般作为分隔符使用,数值常量中夹带空格就会把该数值常量分作两部分:123和123是不一样的,选项D)错误;答案选A)。知识模块:数据类型、运算符与表达式10、以下能正确定义字符串的语句是oA、charstr=,064,;B、 charstr=kx43;C、 charstr=;D、charstr=,0;【答案】D11、若有以下语句,则正确的描述是Chara=,toyou;charb=t,o,y,o,u/;A、a数组和b数组的长度相同B、a数组长度小于b数组长度C、a数组长度大于b数组长度D
5、、a数组等价于b数组【答案】C12、以下正确的函数头定义形式是oA、 doublefun(intx,inty)B、 doublefun(intx;inty)C、 doublefun(intx,inty):D、 doublefun(intx,y);【答案】A【解析】函数的形式参数之间以逗号“,”隔开,且每个变量均需说明其数据类型,圆括号后面不能有分号。只有选项A)符合要求。13、已知大写字母a的ascii码是65,小写字母a的ascii码是97,以下不能将变量C中的大写字母转换为对应小写字母的语句是oA、c=(c-,)%26+,a,B、c=c+32C、c=c-A,+aD、c=(A,+c)%26-
6、,a,【答案】D【解析】由97-65=32可知大写字母对应的小写字母之间相差32,所以将大写字母加上32D、aa+1【答案】C20、有以下程序structstu(charname10;intnum;intscore;main()(structstus5=,yangsan,20041,703,lisiguon,20042,580,wangyin,20043,680,sundan,20044,550,penghua,20045,537,*p5,*t:inti,j;for(i=0;i5;i+)pi=&si;for(i=0;i4;i+)for(j=i+l;jscorepj-score)(t=pi;pi
7、=pLj;pj=t;)printf(5d%dn,sl.score,p1-score);)执行后输出结果是。A、550550B、 680680C、 580550D、 580680【答案】C二、判断题(每小题2分,共20分)()1、关于C语言C语言是结构化程序设计语言。答案正确()2、一个变量在内存中占据一定的存储单元【答案】正确()3、在if语句中,else前一个语句可不加D、7答案A17、以下对结构体类型变量的定义中,不正确的是。A、 typedefstructaaintn;floatm;AA;AAtdl;B、 defineAstructaaintn:floatm;)tdl;C、 struct
8、intn;floatm;aa;structaatdl;D、 structintn:floatm,tdl;【答案】C18、有以下程序#includCVStdio.hmain()ints,t,a=10;doubleb=6;s=sizeof(a);t=sizeof(b);printf(n%d,%dnn,s,t);)在vc6平台上编译运行,程序运行后的输出结果是oA、2,4B、4,4C、4,8D、10,6【答案】C19、若有定义:intaa8;则以下表达式中不能代表数组元aal的地址的是A、&aa0+lB、 &aalC、 &aa0+I2、编写一个函数,从传人的m个字符中找出最长的一个字符串,并通过形参
9、指针max传回;该串地址(用*作为结束输入的标志)。注意:部分源程序给出如下。请勿改动main。,函数和其他函数中的任何内容,仅在函数ProC()的花括号中填人所编写的若干语句。试j题程序:char*proc(char(*a)81,intnum)IIvoidmain()charss1081,*max;intn,i=0;Printf(输入若干个字符串:);gets(ssi);puts(ssi);whiIe(!Strcmp(ssi,*)=0)(i+;gets(ssei);puts(ssi);)n=i;max=proe(ss,n);printf(,nmax=%sn,max);(本题14分)答案cha
10、r*proc(char(*a)81,intm)(char*max;inti=0:max=aO:for(i=0;i或#includegraphics.h0【答案】错误()7、数组名能与其它变量名相同。数组名后是用方括号括起来的常量表达式,不能用圆括号。【答案】正确()8、函数形参的存储单元是动态分配的。【答案】正确()9、以“r”方式打开一个文件时,文件指针指向文件首。答案正确()10、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件。【答案】正确三、编程题(每小题分,共40分)1、从键盘输入n和a的值,计算a+aa+aaa+.+aa.a(n个a)的值。(本题10分)【答案】#includevoidmainO(inti,a,n;longintsum=0,st=O;Printf(请输a和n:);scanf(%d%dw,&a,&n);for(i=l;i=n;i+)(st=st+a;sum=sum+st;a=a*10;printf