欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    广西艺术学院往年C语言专升本(共六卷).docx

    • 资源ID:1111993       资源大小:188.03KB        全文页数:167页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    广西艺术学院往年C语言专升本(共六卷).docx

    广西艺术学院往年C语言专升本(一)总分:100分考试时间:60分钟注意事项:> 仔细查看答题卡正反面,如出现字迹模糊、行列歪斜或缺印、破损、有褶皱等现象,要立即向监考老师报告。> 答题须在专用的"答题卡"上进行,在试题卷和草稿纸上答题无效。> 考试结束前要离开考场的考生须先按答题卡、试卷、草稿纸从上到下的顺序平放在桌面上,再举手提出离场。一.单项选择题(每小题2分,共IoO分)1.下列说法中,正确的是OA、指针是一个变量B、指针中存放的可以是任何类型的值C、指针变量是变量地址D、指针变量占用存储空间【答案】D【解析】指针是地址,存放指针的变量是指针变量,不同类型的指针变量存放不同类型数据的地址,指针变量作为可存储指针的变量,也要占用一定的存储空间。2、若int类型占两个字节,则以下语句输出为intk=-l;Printf("%d,%un",k,k);A、-Iz-IBx-1,65536C、-1,32768D、-lz65535【答案】D3、在嵌套使用if语句时,c语言规定else总是一A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对【答案】C4、下列各循环语句中,不是死循环的是oAsinti=100;while(i)i=i%100+l;if(i=20)break;)Bxintizsum=0;for(i=l;i+)sum=sum+l;Cxintk=0;do+k;while(k>=0);Dxints=3379;while(s+%2+3%2)s+÷;【答案】A【解析】分析各个选项。选项A中,当变量i的值等于20时,会执行break;语句,即退出整个While循环体。所以选项A的循环语句不是死循环。其他各个选项的循环语句中,没有循环退出点,所以都是死循环。5、以下叙述不正确的是。A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面【答案】D【解析】本题考查C语言的基本基础知识。在C程序中,注释用符号7*"开始,而以符号*/结束。程序的注释可以放在程序的任何位置。通常将注释放在程序的开始,以说明本程序的功能;或者放在程序的某个语句后面,以对此语句的功能进行说明。无论将注释放有何处,在程序进行编译时,编译程序不会处理注释的内容,且注释内容也不会出现在目标程序中。6、设intx=7,则x的值是oA、-8B、7C、-1D、1【答案】A7、若二维数组a有m列则计算任一元素aij在数组中位谿的公式为(假设a00位于数组的第一个位谿上)A、i*m+jBxj*m÷iCi*m+j-lDxi*m+j+l【答案】D8、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是OA、一条C语句可能会被转换成零条机器指令B、一条C语句可能会被转换成多条机器指令C、一条C语句对应转换成一条机器指令D、某种类型和格式的C语句被转换成机器指令的条数是固定的【答案】C9、下面程序段的运行结果是char*s="abcdeM;s+=2;pntf(n%d"zs);A、cdeB、字符'c'C、字符'c'的地址D、无确定的输出结果【答案】C【解析】对于字符串指针,其保留的是整个串的首地址,即第一个字符的起始地址;当该指针做算术运算时,就是该指针根据其类型向后移动相应的存储空间。10、表达式if(!x)中的"!x"等效于()A、X=OB、X=IC、x!=0D、x!=l【答案】A【解析】表达式if”)表示判定X是否为0,即“如果x=0".11、有如下函数调用语句func(recl,rec2+rec3zrec4,rec5);该函数调用语句中,含有的实参个数是.A、3B、4C、5D、有语法错误【答案】B12、下列标识符,不合法的是oA、abcB、_dC、123D、el【答案】C【解析】123不是合法的标识符,标识符不能以数字开头。13、每个C程序中都必须有且仅有一个A、类B、预处理命令C、主函数D、语句【答案】C【解析】每个C程序中都要有且仅有一个主函数,该函数是程序的入口,而语句、预处理命令和函数及类在程序中都可以有多个。14、若有如下定义和语句,且0<小<5,下面()是对数值为3数组元素的引用inta=123,4,5,*p,i;P=a;A、*(a+2)B、 ap-3C、p÷2D、a+3【答案】A15、有以下程序#include<stdio.h>main()intx=0x13;printf("int%dnx+l);)程序运行后的输出结果是OA、INT:20B、INT:13C、INT:12D、INT:14【答案】A16、用在switch语句的关键字没有哪个?A、continueBxbreakC、defaultD、if【答案】A17、在C语言中A、函数定义可以嵌套,但函数调用不能嵌套B、函数定义不可以嵌套,但函数调用可以嵌套C、函数定义和调用均不能嵌套D、函数定义和调用均可以嵌套【答案】B【解析】函数可以实现嵌套调用,但它的定义不可以嵌套。18、以下程序的输出结果是fun(intX,inty)return(x+y);main()(inta=lzb=2,c=3,sum;sum=fun(a+zb+,a+b),c+);printf(n%d",sum);)A、9B、8C、7D、6【答案】B【解析】逗三达式a+,b÷+,a+b先计算a+,a=2;再计算b+,b=3;表达式的值就是a÷b的值,为5。表达式c+的值是c递增前的值,为3。所以fun(a+,b+,a+b),c+)等价于fun(5,3),返回值为5+3=8o19、下列字符数组初始化语句中,不正确的是oA、charc=,goodmorning,;B、chare20="goodmorning":C、CharcD=Ca'b,c'd');D、charc=ffgoodmoming");【答案】A20、c语言中的基本数据类型包括A、整型、实型、字符型B、整型、字符型、数组C、整型、实型、逻辑型D、整型、实型、结构体【答案】A21、若采用双符号位判断溢出,当结果的符号位为11时,表示(13)oA、结果为正溢出B、结果正,无溢出C、结果负溢出D、结果为负,无溢出【答案】D【解析】本题考查定点数加、减法溢出问题。定点数加、减时,若采用双符号位法,即采用两个符号位,如果两个符号位相同,则没有溢出;若不同,则表示出现溢出,而第一符号位才是真正的符号。即两个符号位的高位为1表示负溢出,而高位为0、低位为1则表示正溢出。题目中给出的结果的符号位为11,根据上面的分析,第一个符号位才是真正的符号,那么此数是负数,但两个符号位相同,表示没有溢出。22、未指定存储类别的变量,其隐含的存储类别为AxautoBxstaticC、 externD、register【答案】A23、若有函数char*func(char*p).returnp;则该函数的返回值是,A、无确切的值B、形参P中存放的地址C、一个临时存储单元的地址D、形参P自身的地址【答案】B24、以下不正确的是oAx语句for(i=0:;i+)表示无限循环B、for(;)表示无限循环C、for()也表示无限循环D、WhiIeQ)表示无限循环【答案】C25、以下叙述中正确的是oA、不能用字符串常量对字符数组名进行整体赋值操作B、字符串常量"Hell。”会被隐含处理成一个无名字符型数组,它有5个元C、CharStr7="String!”;在语法上是合法的,运行也是安全的D、char*strjstr="Hello"jcharstr;Str="Hello"效果是一样的【答案】A【解析】字符数组在定义时可以用字符串赋初值,其后就不可以再用字符串常量进行赋值。答案选择A。26、inta=l,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为oA、1B、2U3Dx不一定【答案】B27、若有定义语句:doublex5=1.0,2.0,3.0,4.0,5.0,*p=x;则错误引用X数组元素的是OA、*pB、 x5C、 *(p÷l)D、*x【答案】B28、C源程序中的命令includedefine阶段被处理的。A、预处理B、编译C、连接D、执行【答案】A29、下列表达式中,类型可以作为int型的是Ax"abeh+"efg"B、"abc"+"efg"Cx'a'÷'b'D、3+"4"【答案】C【解析】选项A的运算结果为字符串类型;选项B语法错误;选项D的运算结果也是字符串;只有选项C可以看做是两个字符的ASCII值相加,结果为int型。30、若要打开a盘上的USer子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是OA、fopen(,Auserabc.txt","r")B、fopen("AAuserabc.txtn,r+")C、fopen("AAuserabc.txt"z"rbn)D、fopen("A:userabc.txt"/'w")【答案】B31、下列程序的运行结果是ovoidfun(int*a,int*b)(int*k;k=a;a=b;b=k;)main()(inta=3,b=6,*x=8ia,*y=b;fun(x,y);printf("%d%d",azb);A、63B、36C、编译出错Dx00【答案】B【解析】在C语言中,调用函数时是将实参复制一份给形参,所以无论怎么改变形参的值,都不会影响到实参,即传值调用。即使形参是指针变量,也没有改变C语言传值调用这个事实,实参指针也还是复制了一份给形参指针,无论怎么改变形参指针的内容(注意:不是形参指针所指向的内容),也不会影响实参指针的内容。但它们两个现在的值一样,即指向的是同一个内存地址,所以改变形参指针所指向的内容,也就改变了实参指针所指向的内容,C语言就是这样实现传址调用的。本题中fun()函数的形参就是两个指针,但函数中没有任何语句改变这两个指针所指向的内容,只是交换了两个参数的内容,所以该函数不会对传递给它的实参以及实参所指向的内容造成任何影响,故a,b初始化时为3,6,输出结果亦为3和6应该选择B032、若希望当a的值为奇数时,表达式的值为"真二a的值为偶数时,表达式的值为”假则以下不能能满足要求的表达式是OA、!(A%2)Bx!(A%2=0)C、A%2=lD、A%2【答案】A33、以下与库函数StrCPy(Char*pl,char*p2)功能不等的程序段是。A、strcpyl(char*plzchar*p2)while(*pl+=*p2+)!='0');)B、strcpy2(char*pl,char*p2)while(*pl=*p2)!=,O,)pl+;p2+;C、strcpy3(char*plzchar*p2)while(*pl+=*p2+);D、strcpy4(char*plzchar*p2)while(*p2)*pl+=*p2+;)【答案】D34、C语言中用于定义类的关键字是oA、classB、structC、defaultDxsizeof【答案】A【解析】C中类定义的关键字是classclass不能大写。35、以下程序的输出结果是。#defineSQR(X)X*Xmain()(intA,k=2,m=l;A=SQR(k+m)SQR(k+m);printf(',%dn,za);A、1B、7C、9D、3【答案】B36、与下面程序段等价的是for(n=100;n<=200;n+)(if(n%3=0)continue;printf(,'%4d"zn);)A、for(n=100;(n%3)&&n<=200jn÷+)printf("%4d"zn);B、for(n=100;(n%3)|n<=200;n+)Printf("%4d",n);C、for(n=100;n<=200;n+)if(n%3!=O)printf("%4dn);D、for(n=100;n<=200;n+)if(n%3)Printf("%4d",n);EISecontinue;Break;【答案】C37、语句int(*ptr)();的含义是OA、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是一个函数名,该函数的返回值是指向int型数据的指针【答案】C38、下面程序的输出结果是.#include<stdio.h>voidmain()(intx=8fy=-7,z=9;if(×<y)if(y<0)z=0;elsez-=1;printf("%dn",z);A、8B、1C、9D、0【答案】C39、下列一维数组初始化语句中,正确且与语句floata=0,30,9);等价的是Axfloata6=0,3,8,0,9;Bxfloata4=0,3,8,0,9;C、floata7=0,3,8,0,9;D、floata5=0,3,8,0,9;【答案】D40、有以下程序structstu(charname10;intnum;;voidf(char*name,intnum)(structstus2="sundan",20044,"penghua",20045;num=s0.num;strcpy(name,s0.name);)main()structstus2="yangsan20041,"lisiguo"z20042p;P=&sl;f(p->name,p->num);printf("%s%dn"zp->name,p->num);)程序运行后的输出结果是OA、SunDan20042B、SunDan20044C、LiSiGuo20042D、YangSan20041【答案】A41、以下叙述中错误的A、C程序在运行过程中所有计算都以二进制方式进行B、C程序在运行过程中所有计算都以十进制方式进行C、所有C程序都需要编译链接无误后才能运行D、C程序中整型变量只能存放整数,实型变量只能存放浮点数【答案】B42、设x=06Ly=OI6,贝Uz=xy的值是。A、 00001111B、 11111111Cx00111111D、11000000【答案】C【解析】本题主要考查按位或运算,X=O61(二进制为00110001)fy=016(二进制为OoOoIIlO),进行或运算后结果为00111111o43、三种基本结构中,能简化大量程序代码的是oA、JIl页序结构B、分支结构C、选择结构D、重复结构【答案】D44、以下描述中正确的是A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B、do-while循环由d。开始,用WhiIe结束在WhiIe(表达式)后面不能写分号C、在do-while循环体中,一定要有能使while后面表达式的值变为零C假")的操作D、do-while循环中,根据情况可以省略while【答案】C45、charh/s=&h;可将字符h通过指针存入变量h中的语句是。A、*s=H;B、*s='H'c、s=H;D、s=1H,【答案】B46、以下数据中,不正确的数值或字符常量是(A、OB、5LC、013D、9861【答案】C47、若有定义:inta10,则对数组a元素的正确引用是A、a10B、 a3.5C、 a(5)D、a0【答案】D48、下列运算符中,不属于关系运算符的是oA、B、=C、=D、!【答案】D【解析】C语言中关系运算符有<(小于)、>(大于)、>=(大于等于)、<二(小于等于)、=(等于)、!=(不等于)等六种,!是逻辑运算符。49、下列类型的数据不可以存储在可变型变量中的是oA、整型B、字节型C、单精度型D、日期型【答案】B【解析】本题考查可变型变量。可变型变量可以存储9种类型的数据:空、NULL型、整型、长整型、单精度型、双精度型、货币型、日期型和字符串型。选项A错误,整型数据可以存储在可变型变量中;选项B正确,字节型数据不可以存储在可变型变量中;选项C错误,单精度型数据可以存储在可变型变量中;选项D错误,日期型数据可以存储在可变型变量中。答案为Bo50、有以下程序:#include<stdio.h>main()(file*fp;inti,k=0=0;fp=fopen("dl.dat,z"w");for(i=l;i<4;i+)fprintf(fp%d",i);fclose(fp);fp=fopen("dl.dat",r");fscanf(fp,w%d%d",&k,&n);printf("%d%dn",k,n);fclose(fp);执行后输出结果是OA、12B、1230C、123D、00【答案】B广西艺术学院往年C语言专升本(二)总分:100分考试时间:60分钟注意事项:> 仔细查看答题卡正反面,如出现字迹模糊、行列歪斜或缺印、破损、有褶皱等现象,要立即向监考老师报告。> 答题须在专用的"答题卡"上进行,在试题卷和草稿纸上答题无效。> 考试结束前要离开考场的考生须先按答题卡、试卷、草稿纸从上到下的顺序平放在桌面上,再举手提出离场。一.单项选择题(每小题2分,共IoO分)1.下列运算符中,()是布尔逻辑运算符。A、÷÷B、<<c、IlD、&【答案】C【解析】选项A是算术运算符,又掳作数进行自增运算;选项B是位运算符,对操作数进行按位左移操作;选项D是位运算符,对操作数进行按位与操作;选项C是布尔逻辑运算符,实现操作数的逻辑或运算。2、下列定义变量的语句中错误的是oA、int_int;Bxdoubleint_;CxcharFor;DxfloatUS$;【答案】D【解析】本题考查C语言中标识符的概念。用户标识符由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,并且不能与C语言关键字相同。选项D)所定义的浮点型变量名中包含了字符$,不属于上述范畴,因此选项D)是错误的定义语句。3、有以下程序main()(chark;inti;for(i=l;i<3;i+)(scanf("%c8tk);switch(k)(case'0':printf("anothern");case,1,:printf("numbern");)程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是oA、anothernumberB、anothernumberanotherC、anothernumbernumberD、numbernumber【答案】C4、下列程序段的输出结果为ointy=l;while(y-);printf(,'y=%dn",y);A、 y=-lB、y=0C、死循环D、y=9【答案】A【解析】当y一返回0时,while语句停止循环,此时y=-lo5、若有以下说明很(K)不是先Tstrcpy库函数正确的调用。StrCPy库函数用于复制一个字符串:Char*strl="abed",strz10str3="hijklmn*str4-2str5="aaaa"A、strcpy(str2,strl)B、strcpy(str3,slrl)C、strcpy(strl,str2)D、strcpy(str5,strl)【答案】C6、若int类型数据占2字节,则以下语句的输出为intk=32768;printf("%dr%un"zk,k);A、-1,65535B、-1,32767C、-I1-I1D、-32768,32768【答案】D7、已知3个字符为:a、z和&按它们的ascii码值升序排序,结果是oA、8,a,ZB、 a,8,ZC、a,Z,8D、8,Z,a【答案】D【解析】在ASCII码袁中,根据码值由小到大的排列顺序是:控制符、数字符、大写英文字母、小写英文字母。8、若X和y都是int型变量,x=100,y=200,且有下面的程序片段:Printf("%d",(x,y);上面程序片段的输出结果是.A、200B、100C、100200D、输出格式符不够,输出不确定的值【答案】A9、以下程序运行后的输出结果是main()(CharsO="ABCDVp;for(p=s+l;p<s+4;p+)printf("%sn",p);)A、ABCDBCDCDDB、ABCDC、BD、BCDCDD【答案】D【解析】本题考查指向字符串指针的运算方法。执行p=s+l后,指针变量P就指向字符串中的第二个字符B,然后输出字符串“BCD”并换行;继续执行循环语句,指针变量p指向下一个字符c,输出字符串"CD",最后一次循环,p指向字符"D",输出字符串“D"。10、有如下程序段int*p,a=5,b=l;p=&a;a=*p+b;执行该程序段后,a的值为OA、5B、6C、7D、编译出错【答案】B11、PUtChar()函数可以向终端输出一个A、整型变量表达式值B、字符C、字符串D、实型变量值【答案】B12、若变量a、i已正确定义,且i已正确赋值合法的语句是A、a=lB、+iC、a=a+=5D、a=int(i)【答案】B13、关于return语句,下列正确的说法是。A、不能在主函数中出现且在其他函数中均可出现B、必须在每个函数中出现C、可以在同一个函数中出现多次D、只能在除主函数之外的函数中出现一次【答案】C14、下列关于b。Iean类型的叙述中,正确的是。A、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型【答案】D15、下面程序的输出结果是°main()(unsignedintnumzk;num=26;k=l;do(k*=num%10;num/=10;)while(num);printf(',%dn'k);)A、2B、12C、60D、18【答案】B16、若有以下程序段,w和k都是整型变量:w=k;IbJf(W=O)gotoIe;w-;printf("*");gotolb;e:.则不能与上面程序段等价的循环语句是oA、for(w=k;w!=0;w-)printf("*");Bxw=k;<CR>while(w-!=0)printf("*");w+;Cxw=k;<CR>dow;printf("*");while(w!=O);D、for(w=k;w;w)printf("*h);【答案】C17、若已定义x为int型变量,说明指针变量p的正确语句是A、intP=&x;B、int*p=x;Cxint*p=&x;Dx*p=*X;【答案】C18、阅读下面的程序#include<stdio.h>voidmain()(charch;scanf("%3c",&ch);printf(h%cch);)如果从键盘上输入abc<回车>则程序的运行结果是A、aB、bC、cD、程序语法出错【答案】A19、若在以下定义和赋值语句,则才s数组的第i行第j歹女假设ij已正确说明并赋值)元素地址的合法引用为ints23=0z(*p)3;p=s;A、*(*(p+i)+j)B.*(pi+j)C、(p+i)+jD、(*(p+i)j【答案】A【解析】考查用指向数组的指针引用数组元素的方法。解题要点p÷i是数组s的第i+1行的首地址,而*(p+i)则是数组第i÷l行第1列的元素的地址,*(p+i)÷j则是第i÷l行的第j÷l列的地址,*(*(p÷i)+j)引用的是数组元素sij的值。考点链接通过建立一个指针数组来引用二维数组元素。20、下列选项中不属于c语言的数据类型是oA、复数型B、逻辑型C、双精度型D、集合型【答案】A【解析】在C语言中,数据类型可分为基本数据类型、构造数据类型、指针类型、空类型4大类,其中基本类型;字符型、整型、实型(单精度型和双精度型)、枚举类型。构造类型:数组、结构体、公用体。选项B中的逻辑型和C中双精度类型都属于基本数据类型,选项D集合类型属于构造类型;而选项A复数型不是C语言的数据类型。21、以下选项中不合法的标识是oA、&aB、FORCxprintD、.GO【答案】A22、设有定义:longx=123456l;则以下能够正确输出变量X值的语句是A、Printf("x=%dn",x)B、Printf("x=%ldn",x)CxPrintf("x=口ln",x)D、Printf("x=%Dn",x);【答案】B23、设有以下函数:voidfun(intn,char*s)则下面对函数指针的定义和赋值均正确的是.A、void(*pf)();pf=fun;B、void*pf();pf=fun;C、void*pf();*pf=fun;D、void(*pf)(intzchar);pf=&fun;【答案】A24、以下关于结构化程序的说法中,正确的是oA、结构化程序由单入口、单出口和循环3种结构组成B、结构化程序由顺序、单入口和单出口3种结构组成C、结构化程序由顺序、循环和GOTO语句结构组成D、结构化由顺序、循环、循环和分支3种结构组成【答案】C【解析】结构化程序的基本要求是:所有的模块只使用单入口、单出口及顺序、选择和循环基本控制结构。结构化程序由循环和GoTO语句结构组成。25、若有定义:int(*p)4;则标识符POA、是一个指向整型变量的指针B、是一个指针数组名C、是一个指针,它指向一个含有四个整型元素的一维数组D、定义不合法【答案】C26、将十进制数0.625转换成二进制数是oA、0.111B、0.101C、0.5D、0.A【答案】B27、对以下说明语句inta10=6,7,8,9,10;的正确理解是(工A、将5个初值依次赋给al至a5B、将5个初值依次赋给a0三a4C、将5个初值依次赋给a6至a10D、因为数组长度与初值的个数不相同,所以此语句不正确【答案】B28、下列数据中,为字符的是oAs,AB,B、"A"C、HowD、TV【答案】D29、对下述程序的判断中,正确的是omain()(char*p,s256;P=S;while(strcmp(s,"theend")printf("inputthestring:");gets(s);while(*p)putchar(*p+);)A、此程序循环接收字符串并输出,直到接收到字符串"theend"为止B、此程序循环接收字符串,接收到字符串"theend"则输出,否则程序终止C、此程序循环接收字符串并输出,直到接收字符串"theend"为止,但因为代码有错误,程序不能正常工作D、此程序循环接收字符串并将其连接在一起,直到接收字符串"theend"为止,输出连接在一起的字符串【答案】C30、在c语言中,下列关于文件操作的叙述正确的是oA、对文件操作必须先关闭文件B、对文件操作必须先打开文件C、对文件操作顺序没有统一规定D、以上全错【答案】B【解析】本题考查对文件的操作。文件打开后才可以对文件进行操作,使用结束后要关闭文件。对文件的操作都是Jl质序读写,即从文件的第一个数据开始,依次进行读写。31、以下程序的输出结果为omain()(inta=l,b=2zc=3,d=4,e=5;printf("%dn",func(a+b,b+QC+a)Xd+e);)intfunc(intx,inty)(return(x+y);)A、15B、13C、9D、函数调用出错【答案】B32、在c语言中,要求运算数必须是整型或字符型的运算符是A、&&B、&C、!D、Il【答案】B33、下面关于指针的说法中错误的是oA、在指针定义的同时可以对其进行初始化B、指针根据其所指向变量的类型的不同,所占用内存大小也不同C、指针中存放的是内存单元的地址D、相同类型的指针之间可以相互赋值【答案】B【解析】指针是一种用来存放其他变量地址的数据类型,它的声明形式为:(类型)÷变量名,可以在声明的时候对其进行初始化。由于其存放的是内存单元的地址,所以大小一般都是4个字节。34、以下程序运行后的输出结果是#include<stdio.h>structst(intx,y;data2=1,10l2l20);main()(structst*p=data;printf("%d,p->y);printf("%dn(+p)->x);A、10,1B、20,1C、10,2D、20,2【答案】C【解析】正确地给结构体数组赋初值,data0.x=Ldata0.y=10.datal,x=2xdatal.y=20;首先,P指向dataOz第一条打印语句输出p->y,即dataO.y的值10;(+p)->x含义是先+p,此时P指向datal,第二条打印语句输出(+p)->x,即dalalx的值2。35、以下程序的输出结果是#defineSQR(X)X*Xmain()inta=16zk=2,m=1;a/=SQR(k+m)SQR(k+m);printf("%dn"za);)A、16B、2C、9D、1【答案】B36、有以下程序:main()(itij;for(j=10;j<ll;j+)(for(i=9J<j;i+)if(!(j%i)break;if(i=j-l)printf("%dj);)输出结果是OA、11B、10C、9D、1011【答案】B37、有以下程序#include<stdio.h>intfun(inta,intb)if(b=0)returna;elsereturn(fun(-a,-b);)main()printf("%dn"zfun(4z2);)程序的运行结果是OA、1B、2C、3D、4【答案】B【解析】由程序可知,函数fun(inta,intb)是一个递归函数。所以当主函数中调用fun(4,2)叶,其执行过程如下:fun(4,2)->fun(3,l)->fun(2,0),其返回值为2o所以正确答案为选项B)o38、以下四个程序中,完全正确的是。A、#include<stdio.h>main();/*programming*/printf("programming!nn);B、#include<stdio.h>main()/Vprogramming/*/printf("programming!nn);C、#include<stdio.h>main()/*/*programming*/*/printf("programming!nn);D、include<stdio.h>main()/*programming*/printf("programming!nn);【答案】B【解析】选项A中的main()后而不能直接用分号。选项C中的注释符使且不正确,编译器会把从第一个7*到第一个*/"之间的当作注释,最后一个*/会被作为程序代码去编译。选项D中的include前要加上#表示是预定义语句。39、以下正确的定义语句是oAsintA'B'B、 intA8,3;CintA9;D、intA5;【答案】D【解析】本题主要考查的知识点为数组的定义。要点透析一维数组的定义格式为;数据类型数组名长度;二维数组定义格式为:数据类型数组名行长度列长度;其中长度、行长度、列长度均为整型常量表达式,通常为整型常量,故A、B项错误。在二维数组中,若给所有元素赋初值,则行长度可以省略,故C项错误。40、已知函数的原形如下,其中结构体a为已经

    注意事项

    本文(广西艺术学院往年C语言专升本(共六卷).docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开