《沈阳大学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)中“x+5=y+2”赋值格式错误,赋值号左边不可以出现常量,也不可以同时出现两个变量。选项C)应改为(float)8%310、AIkC【解析】考查函数