沈阳大学2022年计算机C语言冲刺卷(含六卷)及答案.docx
《沈阳大学2022年计算机C语言冲刺卷(含六卷)及答案.docx》由会员分享,可在线阅读,更多相关《沈阳大学2022年计算机C语言冲刺卷(含六卷)及答案.docx(54页珍藏版)》请在课桌文档上搜索。
1、2022年计算机C语言冲刺卷(一)(总分150分,考试时长120分钟)一、单项选择题(每小题2分,共40分)1、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是OA、a0B、!aC、a=0D、a2、在C语言中,形参的缺省存储类是oA、 autoB、 registerC、 staticD、 extern3、下列关于八进制与十六进制的描述中,错误的是OA、八进制是一种逢八进一的机制B、八进制由0-8这此符号来描述C、十六进制是一种逢十六进一的机制D、十六进制由0-9、A-F这些符号来描述4、c语言中逻辑表达式的值为OA、0或1B、非零值或零值Cxtrue或falseD、t
2、rue或false5、结构化程序设计方法的结构不包括oA、顺序结构B、分支结构C、循环结构D、跳转结构6、下面程序的输出结果是。main()(inta34=1,3,5,7,9,11,13,15,17,19,21,23;int(*p)4=a,i,j,k=O;for(i=0;i3;i+)for(j=0;j=1)&(x=100)&(x=1)(x=100)11(x=1)&(x=100)&(x=D(x=100)&(xbookline#His.age11、数组名作为实参数传递给函数时,数组名被处理为。A、该数组的长度B、该数组的元素个数C、该数组的首地址D、该数组中各元素的值12、下列程序执行后的输出结果
3、是voidfund(inti);voidfunc2(inti);charst=hello,friend!;voidfund(inti)printf(%cn,sti);if(i3)(i+=2;func2(i);)voidfunc2(inti)printf(%cnfsti);if(i3)(i+=2;fund(i);1inti=0;fund(i);printf(n);)A、helloB、helC、hloD、him13、C源程序中的命令include与#define是在阶段被处理的。A、预处理B、编译C、连接D、执行14、以下关于程序中函数的定义、调用和声明的叙述中,正确的是A、函数的定义必须放在该函
4、数的调用之前B、函数的声明必须放在该函数的调用之前C、函数的定义必须放在该函数的声明之前D、函数的声明必须放在该函数的定义之前15、执行Printf(Rx,100);后的输出结果是。A、100Bs0x100C、0X64D、6416、下面对do-while结构的描述中,不正确的是。A、循环体至少执行一次B、属于“直到型”循环C、与WhiIe语句执行情况相同D、先执行循环体,再计算终止条件,若结果为true,重复执行循环体,直到布尔表达式的值为falso17、在C语言中,下面那种数据类型不属于构造类型A、枚举类型B、数组类型C、结构体类型D、共用体类型18、以下程序输出的结果是Itincludev
5、oidmain()inta=1,2,3,4,5,i,j,s=O;for(i=0;i5;i+)s=s*10+ai;printf(*s=%dn,s);)A、 s=12345B、 s=l2345C、 s=54321D、 s=5432119、下列哪个数组定义是正确的oA、inta5)5;B、INTa10;Cintan;D、inta3+2;20、有以下程序structstu(charname10;intnum:intscore;main()(structsts5=,yangsan,20041,703,1isiguow,20042,580,(wangyin,20043,680,sundanf20044,5
6、50,wpenghua,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=pj;pj=t;)printf(5d%dn*,sl.score,p1-score);)执行后输出结果是OA、 550550B、 680680C、580550D、580680二、判断题(每小题2分,共20分)()1、指向运算符-的运算级别比自增自减运算级别低。()2、在C程序中,逗号运算符的优先级别最低。()()3、省略else的if语句的一般形式如下,若表达式的值为真,则执行语句1;否则
7、,就什么也不做。if(表达式)语句1()4、循环语句中如果包含若干条语句,则必须用大括号括起来()5、CharS=CLanguage:表示S是一个指向字符串的指针变量,把字符串的首地址赋予s()6、在一个函数中调用另一个被调函数时,如果在所有函数定义之前,已经对函数类型进行了说明,则在各个主调函数中不再进行说明。()7、有数组定义inta22=1,2,3;则a0l的值为Oo()8、输入操作称为写操作,将输入流中的信息存到内存时,使用写函数。()9、指针变量中只能存放地址()10、一个源程序可使用多个文件包含命令,但一个文件包含命令只能包含一个文件。三、填空题(每小题4分,共20分)1、设p=3
8、0,那么执行q=(+p)后,表达式的结果q为,变量P的结果为若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是。2、利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。3、下列程序段的运行结果是omain()(intm=l,t=l;for(;;)(m=m*t;t+;if(t4)break;Printf(%dn,m);)4、C语言替换字符的函数是什么?5、在C语言中,从参数的形式看,函数可以分为两类:无参函数和函数。四、程序分析题(每小题5分,共20分)1、以下程序运行的结果为Oincludeintd=1;fu
9、n(intp)(intd=5;d+=p+;printf(%d,M,d);)voidmainO/inta=3;fun(a);d+=a+;printf(%dnr,d);2、函数yahui能够按以下形式构成一个杨辉三角形,请填空。11112113311464115101051defineN11Yahui(intN)inti,j;for(i=l;iN;i+)(ail=l;ai=1;for(1;i,则输出结果是。includemain()inta=l,b;SCanr(%2d%2d”,&a,&b);1006 401003 501002 80 (本题 20 分)printf(%d%dnn,a,b)4、以下程
10、序运行后的输出结果是main()(charc;intn=100;floatf=10;doublex;x=f*=n=(c=50);printf(%d%fn,n,x);)五、编程题(每小题分,共50分)1、从键盘上输入一个4*3的整型数组,找出数组中的最小值及其在数组中的下标。(本题12分)2、编写函数voiddel(char*s,charc),其功能是在S所指字符串中删除与变量c相同的字符,并设计主函数实现:(1)从键盘输入字符串和指定被删除的字符;(2)调用del()函数实现删除操作;(3)输出删除后的字符串。说明:不允许使用除gets和PUtS之外的任何字符串处理库函数。(本题18分)3、若
11、有以下银行卡信息:structcardintid;银行卡号intbonus;/金额);请编写程序,从键盘输入5条银行卡记录,使用结构体数组存储这些数据,并按金额升序排序,输出排序后的结果。【输入形式】5条银行卡记录分行输入,每行数据用空格间隔【输出形式】分5行输出数据,每行数据均使用空格间隔【输入样例】100120100280100350100410100640【输出样例】100410参考答案一、单项选择题1、D【解析】if判断条件的值只能是O或非O,if(a)就是if(!0)的意思。2、A3、B【解析】八进制是由0-7这八个符号来描述的。4、A5、D6、C【解析】P是指向长度为4的一维数组的
12、指针变量,可看作是二维数组a的行指针,可以像使用数组名一样通过p带数组下标的形式来引用数组中元素,变量k最后是元素a川的值。7、C8、A【解析】本题考查C语言编程中函数实参和形参关系的知识。C语言中,数组名代表该数组的起始地址,它指向该数组的开始位置,但是它的值不能被修改。在函数的定义中,可以用数组名作为参数,被声明为数组的形参实际上是一个指针。当实参向形参传递数组时,按值调用传递数组的首地址,数组元素的本身不被第制。因此,如果函数调用时实参是数组名,则形参指针接受到的是实参数组的首地址。9、B【解析】选项A)中的赋值方法为PaSCaI语言赋值格式;C语言中赋值直接为“=,无冒号;选项D)中“
13、x+5=y+2”赋值格式错误,赋值号左边不可以出现常量,也不可以同时出现两个变量。选项C)应改为(float)8%310、AIkC【解析】考查函数的调用。解题要点函数调用的一般形式为:函数名(实参列表)首先调用函数funcl(0),输出H0=hi值变为2,并调用函数func2(2),输出川2=l.i值此时变为4,乂调用函数funcl(4),输出st4=0.此时i值大于等于3,执行完毕。因此,输出结果为hl。考点链接函数调用的一般格式以及函数的返回值。13、A14、B【解析】在程序中,函数定义是指对函数的完整定义,包括函数首部和I函数体,函数调用是指对所定义函数的使用,一个函数只有被调用才能得到
14、执行。函数声明是指函数的定义在后面,而前面需要时它进行调用,这样就需要预先进行声明,以便编洋程序检查调用的合法性。一般来说,函数的声明只是函数首部加上分号即可。函数声明不是必需的,若函数调用在函数定义之后,则无须声明。15、D16、C【解析】While循环属于“当型”循环,可能一次也不执行,是先判断终止条件,为true则执行循环体,否则退出循环。17、A18、A19、D20、C二、判断题1、错误2、正确3、正确4、正确5、正确6、正确7、正确fbr(j=0;j3;j+) if (aijmin)(min= aij;m=i;n=j;1printf(the min is %dn, min);prin
15、lf(posion is %d %d n, m,n);2、#include void del(char *, char);void main()(char str100, ch:Prinlf(请输入字符串:n);gets(str);PrinIf(请输入要删除的字符:n);scanf(%c, &ch);del(str, ch);printf(n删除后的字符串:n);puls(str);void del(char *s, char c)(char *p = s;while (*s)8、错误9、正确10、正确三、填空题k4,=907,ax=607b,c,;O3、244、sircpy(a,b);5、有
16、参四、程序分析题1、8.42.1i=3(2ji3ai-lj-l3、,12344、,220五、编程题1,#includevoidmain()inta43,i,j,minfm,n;printf(Pleaseenterdata:);for(i=0;i4;i+)fbr(j=0;j3;j+)SCanfaij);min=a0(0);m=O;n=O;for(i=0;i4;i+)tamp = aj;aj = aj+l;aj+l = tamp;)for(j = 0;j 5;j+)(printf(%d %dn, aj.id, ajj.bonus);if(*s!=c)*p+=*s;13s+;*p=,0,;3、#in
17、ckide#includestructcard(intid;银行卡号intbonus;金额a(5.tamp;intmain()inti,j;for(i=0;i5:i+)scanf(%d%d,&ai.id,&ai.bonus);for(i=J5;i+)(fbr(j=0;jaj+l.bonus)2022年计算机C语言冲刺卷(二)(总分150分,考试时长120分钟)一、单项选择题(每小题2分,共40分)1、以下叙述中正确的是。A、使用typedef说明新类型名时,其格式是:typede新类型名原类型名B、在程序中,允许用typedef来说明一种新的类型名C、使用typedef说明新类型名时,后面不能
18、加分号D、在使用typedef改变原类型的名称后,只能使用新的类型名2、若有以下定义,inta,b;floatx;则正确的赋值语句是OA、 a=l,b=2B、 b+;Cxa=b=5D、b=int(x);3、表达式:10!=9的值是oA、tureB、非零值C、1D、04、if语句的基本形式为:if(表达式)语句,其中表达式。A、可以是任意合法的表达式B、必须是逻辑表达式C、必须是逻辑表达式或关系表达式D、必须是关系表达式5、下面有关for循环的正确描述是A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体
19、D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来6、以下叙述中正确的是OA、数组下标的下限是1B、数组下标的下限由数组中第一个非零元素的位置决定C、数组下标的下限由数组中第一个被赋值元素的位置决定D、Charcl,c2,*c3,c440是合法的变量定义语句7、各种基本数据类型的存贮空间正确的长度排列为。A、charlongintdoubleB、doublelongintcharC、charintlongdoubleD、intlongchardouble8、下列一维数组定义正确的是oA、 x=5;intnumx;B、 constihtx=5;floatnumx;C、 cons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 沈阳 大学 2022 计算机 语言 冲刺 含六卷 答案

链接地址:https://www.desk33.com/p-1121815.html