黑龙江科技大学2023年计算机C语言冲刺卷(含六卷).docx
《黑龙江科技大学2023年计算机C语言冲刺卷(含六卷).docx》由会员分享,可在线阅读,更多相关《黑龙江科技大学2023年计算机C语言冲刺卷(含六卷).docx(173页珍藏版)》请在三一办公上搜索。
1、黑龙江科技大学2023年计算机C语言冲刺卷(一)总分:100分考试时间:60分钟注意事项:自觉服从监考员等考试工作人员管理,不得以任何理由妨碍监考员等考试工作人员履行职责,不得扰乱考场及其他考试工作地点的秩序。 答题必须在标准答题卡上作答,凡答案写在试卷、答卷、草稿纸上一律无效。 考试结束后,一定要带回准考证等所带物品。一.单项选择题(每小题2分,共100分)1.在下列选项中,不正确的表达式是OAsabB、cx+bra+=lC、a=c+bn-m=kD、p+【答案】C2、定义floata=8.735,那么PrintfC%7.2f,a);的输出结果为A、7.2B、8.73C、【空格】【空格】【空格
2、】8.73D、【空格】【空格】8.73【答案】C3、若所用变量都已正确定义,则在以下选项中,非法的表达式是oA、a!=4b=lBxa%3C.a=l2Dx,a,+32【答案】C【解析】选项C中的才是单字节它是不允许被赋值的。所以选项C是非法的表达式。选项A是逻辑表达式,是正确的。选项B是字符H的值与3进行求余运算。是正确的。选项D参加运算的也是字符0的值,所以这个表达式也是正确的。4、有以下程序#includemain()(intc;while(c=getchar()!=n,)(switch(c-12)(case0:case1:putchar(c4);case 2: putchar(c+4);b
3、reak;case 3: putchar(c+3);default:putchar(c+2);break;)printf(n);)从第一列开始输入以下数据,vcr代表一个回车符。2473cr程序的输出结果是OA、 668977B、 668966C、 66778777D、 6688766【答案】A5、设有定义:intx=2,*p=&x;float=3.0;charz=,c;则立即进行以下运算有安全隐患的是OA、p+B、X+C、y+D、z+【答案】A【解析】由于X是一个整形变量,将X地址赋值给P指针后,A选项中P+对指针P进行加1运算,P指针的值相当于加4(整型变量的地址占4个字节),此时P指向了
4、未知的内存地址,对未知内存地址进行操作具有安全隐患,故答案为A选项。6、若已定义X和y为double类型,则表达式X=1.y=X+3/2的值是(1A、1B、2C、2D、2.5【答案】C7、设有定义doublea10z*s=a;,一下能够代表数组元素a3的是0A.(*s)3B、*(s+3)C.*s3D、*s+3【答案】B8、关于二进制,下列描述错误的是A、二进制数由数字0和1表示B、一个二进制数字0和1表示T立,八位为一个字节C、由于二进制由数值较小的。和1表示,所以只能表示一部分数据D、二进制与十进制相互转换,不改变值的大小【答案】C【解析】所有的数据都可以由二进制形式表示出来。9、在c语言中
5、,不允许有常量的数据类型是。A、整型B、结构型C、字符型D、字符串【答案】B10、设X的值为4,则表达式y=(+x)+(+x)+(+x)后,y的值是。A、12B、18C、16D、21【答案】D11、#define能作简单的替代,用宏来替代计算多项式5*X*x4-5*x+5的值的函数f,正确的宏定义语句为()。A、#definef(x)5*x*x+5*X+5Bx#definef5*x*x+5*x+5C、#definef(八)(5*a11a+5*a+5)D、#define(5*x*x+5+x+5)f(x)【答案】C12、下列字符中,错误的转义字符是A、B、nCxDx,091,【答案】D13、以下函
6、数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#defineMIN-2147463647intfindmax(intxzintn)(inti,max;for(i=0;in;i+)(max=MIN;if(maxxi)max=xi;)returnmax;)造成错误的原因是OA、定义语句intizmax中max未赋值B、赋值语句max=MIN;中,不应该给max赋MIN值C、语句if(maxxi)max=xi;中判断条件设置错误D、赋值语句max=MIN;放错了位置【答案】D14、定义如下变量和数组:intk;inta33=9,8,7,654,3,2,1;
7、则下面语句的输出结果是Ofor(k=0;k3;k+)printf(11%d,akk);A、753Bx951C、963D、741【答案】B【解析】本题中二维数组的每个元素就是一个由三个元素构成的一维数组,根据条件for(k=0;k3;k+)和要求的akk可以得出本题的答案应该是951o15、有以下程序#defineP3voidF(int)(return(P*x*x);)main()(Printf(%dn,F(3+5);)程序运行后的输出结果是OA、192Bx29C、25D、编译出错【答案】D16、有以下程序:main()(inti,n=O:for(i=2;i5;i+)(do(if(i%3)con
8、tinue:n+;)while(!i);n;)printf(n=%dn,zn);)程序执行后输出结果是OA、n=5B、n=2D、n=4【答案】D17、下列字符数组长度为5的是oA、chara10=,h,a,b,c,d,;B、charb=h,abedO);C、charc=,h,a,b,c,d);D、chard6=,h,z,a,b,c,0);【答案】C【解析】注意是字符数组的长度,不是字符串的长度。18、有以下程序voidfun(char*D)(+P;printf(,f%s,*p);)main()(char*a=f,Mornin9w,Afternoonn,Eveningn,Nightn;fun(八
9、):)程序的运行结果是OAxAfternoonB、fternoonC、MorningD、orning【答案】A19、若有以下的定义:intta2;,能正确表示t数组元素地址的表达式的是A、&.t32B、 t3C. tlD. t22【答案】C20、若有以下说明语句:structdate(intyear;intmonth;intday;brithday;则下面的叙述不正确的是.A、struct是声明结构体类型时用的关键字B、structdate是用户定义的结构体类型名C、brithday是用户定义的结构体类型名D、year,day都是结构体成员名【答案】C21、使用共用体变量,不可以A、节省存储空
10、间B、简化程序设计C、进行动态管理D、同时访问所有成员【答案】D22、与十六进制数200等值得十进制数为A、256B、512C、 1024D、 2048【答案】B23、关于return语句,下列正确的说法是。A、不能在主函数中出现且在其他函数中均可出现B、必须在每个函数中出现C、可以在同一个函数中出现多次D、只能在除主函数之外的函数中出现一次【答案】C24、下面不属于条件语句关键字的是。B、switchC、whileD、if【答案】C【解析】条件语句主要由if-else结构和switch多分支语句,while属于循环语句的关键字。25、若有定义语句:inta23,*p3;则以下语句中正确的是。
11、A、p=a;B、pO=a;C、p0=&al2;D、pI=a;【答案】C26、C语言函数的隐含存储类别是.A、externB、staticC、registerDxauto【答案】D27、在定义inta56;后,数组a中的第10个元素是(设a00为第一个元素)A、a25B、a24c、al3D、al5【答案】C28、以下叙述中不正确的是oA、在C程序中,逗号运算符的优先级最低B、在C程序中,APH和aph是两个不同的变量C、若a和b类型相同,在计算赋值表达式a=b后,b中的值将放入a中,而b中的值不变D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值【答案】D【解析】
12、在C语言所有的运算符中,逗号运算符的优先级最低。C语言中区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的赋付给a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。29、请读程序片段(字符串内没有空格字符):PrimfC%dn,strlen(atsn012l);上面程序片段的输出结果是OA、11B、10【答案】C30、以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#inc
13、ludemain()(file*fout;charch;fout=fopen(,abc.ttw,);ch=fgetc(stdin);while(ch!=#)(fputc(ch,fout);ch=fgetc(stdin);)fclose(fout);)出错的原因是A、函数f。Pen调用形式有误B、输入文件没有关闭C、函数fgetc调用形式有误D、文件指针Stdin没有定义【答案】A31、以下叙述正确的是oA、在C程序中,主函数必须位于程序的最前面B、在C程序中,一行只能写T语句C、C程序的基本结构是程序行D、C语句是完成某种程序功能的最小单位【答案】D32、表达式5-T的值是。A、整数4B、字符
14、4C、表达式不合法D、字符6【答案】A33、以下程序有语法错误,有关错误原因的正确说法是main()(intg=5,k;voidprt_char();k=prt_char(g);A、语句voidprt-char();有错,它是函数调用语句,不能用void说明B、变量名不能使用大写字母C、函数说明和函数调用语句之间有矛盾D、函数名不能使用下划线【答案】C【解析】在C语言中,对于返回值是其他类型的函数,若把函数定义放在调用之后,应该在调用之前对函数进行说明,或称为函数原型说明。函数说明句中的类型必须与函数返回类型一致,函数说明可以是一条独立的语句,也可以与普通变量一起出现在同一个语句中。对于函数值
15、为整型的函数的说明,prt.char中定义时是void类型,那天返回值与k=prt,char();矛盾。所以本题的错误之处在于函数说明和函数调用语句之间有矛盾。34、若有下面的说明和定义,则sizeof(structaa)的值是。structaa(intrl;doubler2;floatr3;)maya;C、14D、16【答案】D35、运行下段程序的结果是.#includemain()(intx;for(x=l;x=100;x+)if(+x%=0)if(+x%3=0)if(+x%5=0)printf(%dfx);)A、31z61,91B、30,60,90C、不输出任何内容D、29z59,89【
16、答案】D36、有以下程序:#includemain()inti,s=00=1.2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(%dns);A、45B、20C、25D、36【答案】C【解析】程序中的*(t+i)相当于ti。由于for循环变量的增量为2,因此i分别取值0,2,4,6,8,因为t0=l,t2=3,t4=5,t6=7,t8=9,对其进行求和运算,结果为25o37、以下正确的定义语句是oAxintA,B;BxintA8,3;CintA9;D、intA5;【答案】D【解析】本题主要考查的知识点为数组的定义。要点透析一维数组的定义格式为;数据
17、类型数组名长度;二维数组定义格式为:数据类型数组名行长度列长度;其中长度、行长度、列长度均为“整型常量表达式,通常为整型常量,故A、B项错误。在二维数组中,若给所有元素赋初值,则行长度可以省略,故C项错误。38、下列程序的输出结果是(工main()inta=7,b=5;printf(%dn,b=ba);A、OB、5C、1D、不确定值【答案】A39、设有以下定义:inta33=1,2,3,4,5,6,7,8,9);int(*ptr)3=a;则下列能正确表示数组元素al2的表达式是oA.*(*ptr+l)2)B、a23C、(*ptr+l)+2D、*(*(a+l)+2)【答案】D【解析】指针变量Pt
18、r是指向长度为3的整型一维数组,当Ptr指向二维数组a时,Ptr每移动一个单位将指向数组的下一行,*(*(a+1)+2)表示数组元素al2,*(*(ptr+l)+2)也可以。40、设有以下说明语句:typedefstructStu(inta;floatb;stutype;则下面叙述中错误的是OA、StrUCt是结构类型的关键字B、structstu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名【答案】C41、下列字符中,其ascii码值最大的是oA、6B、空格字符C、ZD、a【答案】D【解析】由ASen码值表可知,其大小顺序由小到大依次是空格字符、数字符
19、、大写英文字母、小写英文字母。42、若有说明:int*pl,*p2,m=5,n;以下均是正确赋值语句的选项是OAxpl=&m;Bxpl=&m;p2=&n;*pl=*p2;Cxpl=&m;p2=pl;D、pl=&m;*p2=*pl;【答案】C43、有如下程序:main()(intx=lza=O,b=O;switch(x)(caseO:b+;case 1:a+;case 2:a+;b+;)printf(a=%d,b=%dn,azb);)该程序的输出结果是OA、a=2,b=lB、a=l,b=lC、a=lrb=0D、a=2b=2【答案】A44、以下叙述中正确的是A、while循环的循环体至少执行1次B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑龙江 科技大学 2023 计算机 语言 冲刺 含六卷
链接地址:https://www.31ppt.com/p-7158797.html