首页 2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编

2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编

举报
开通vip

2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编第1页,共37页2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编主编:掌心博阅电子www.handebook.com第2页,共37页特别说明本书根据历年考研大纲要求并结合历年考研真题对该题型进行了整理编写,涵盖了这一考研科目该题型常考试题及重点试题并给出了参考答案,针对性强,考研复习首选资料。版权声明青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均...

2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编
第1页,共37页2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编主编:掌心博阅电子www.handebook.com第2页,共37页特别说明本书根据历年考研大纲要求并结合历年考研真题对该题型进行了整理编写,涵盖了这一考研科目该题型常考试题及重点试题并给出了参考答案,针对性强,考研复习首选资料。版权声明青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者和来源。但由于各种原因,如资料引用时未能联系上作者或者无法确认内容来源等,因而有部分未注明作者或来源,在此对原作者或权利人表示感谢。若使用过程中对本书有任何异议请直接联系我们,我们会在第一时间与您沟通处理。因编撰此电子书属于首次,加之作者水平和时间所限,书中错漏之处在所难免,恳切希望广大考生读者批评指正。www.handebook.com第3页,共37页一、选择题1.下列各变量均为整型,则下列选项中不正确的C语言赋值语句是__________。A.B.C.D.【答案】D2.以下叙述中错误的是__________。A.改变函数形参的值,不会改变对应实参的值B.函数可以返回地址值C.可以给指针变量赋一个整数作为地址值D.当在程序的开头包含文件时,可以给指针变量赋【答案】C3.以下正确的说法是__________。A.用户若需要调用标准库函数,则调用前必须重新定义B.用户可以重新定义准库函数,若如此,则该函数将失去原有含义C.系统根本不允许用户重新定义标准库函数D.用户若需要调用标准库函数,则调用前不必使用预编译命令将该函数所在的文件包括到用户源文件中,系统自动去调【答案】B4.以下叙述中错误的是__________。A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下画线开头D.用户所定义的标识符,大小写字母代表不同的标识【答案】A5.在下述程序中,判断i>j执行的次数是__________。A.4B.7C.5D.6【答案】D【解析】在for循环中,i每次增大2,直到12时成立,所以判断共执行6次。www.handebook.com第4页,共37页6.字符串常量“”在内存中占的字节数为__________,此字符串的长度为__________。A.6B.7C.8D.9【答案】B、A【解析】字符串常量“”中含有的字符为B、B、\n、\\、\´和\r,共6个字符,在内存中有一个结尾符\0。本题答案为B、A。7.若有定义语句,其中的标识符p是__________。A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个行指针,它指向具有M个整型元素的一维数组D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量【答案】C【解析】本题考查行指针的基本概念。8.若有定义语句,则以下说法正确的是__________。A.定义语句非法B.P是一个指针数组,每个元素是一个指向整型变量的指针变量C.P是一个行指针变量,可以将每行具有4个整型元素的二维数组名赋给它D.P是一个指向整型变量的指针变量【答案】C9.以下程序的输出结果是__________。A.20B.24C.25D.15【答案】D【解析】f函数中的i为静态变量,第1次调用时i置初值0,退出该函数时i不会释放存储空间,以后再调用f时,不再给i置初值,直接使用其以前的结果。本题答案为D。10.C语言的基本类型包括__________。A.整型、实型、逻辑型B.整型、实型、字符型、逻辑型www.handebook.com第5页,共37页C.整型、字符型、逻辑型D.整型、实型、字符型【答案】D11.以下程序段的描述,正确的是__________。A.是死循环B.循环执行两次C.循环执行一次D.有语法错误【答案】C12.下面语句中不正确的是__________。A.B.C.D.【答案】D【解析】此题涉及的知识卓是二维数组的初始化。在对二维数组初始化时,可以分行给二维数组赋值;也可以将所有数据写在一个大括号内,按数组排列顺序对各元素赋值;还可以只对部分元素赋值。如果对全部元素赋初值,则定义数组时可以不指定第一维的长度,但第二维的长度不能省略。所以此题的答案是D。13.下面是对s的初始化,其中不正确的是__________。A.B.C.D.【答案】D14.以下定义语句,错误的是__________。A.;B.;C.;D.;【答案】D【解析】定义数组时,[]中只能是常量表达式,不能为变量,所以选项D错误。15.以下说法正确的是__________。A.定义函数时,形参的类型说明可以放在函数体内B.return后面的值不能为表达式C.如果函数值的类型与返回值的类型不一致,则以函数值类型为准D.如果形参与实参类型不一致,则以实参类型为准【答案】Cwww.handebook.com第6页,共37页16.下列程序的运行结果是__________。A.LanguageB.IanguageC.LANGUAGED.IANGUAGE【答案】C17.最早开发C语言是为了编写__________操作系统。A.WindowsB.DOSC.UNIXD.Linux【答案】C【解析】C语言是贝尔实验室开发UNIX操作系统的“副产品”。18.从下列表达式中,与while(E)中的E不等价的表达式是__________。A.B.C.D.【答案】C19.下面叙述中错误的是__________。A.可以通过typedef增加新的类型B.可以用typedef将已存在的类型用一个新的名字来表示C.用typedef定义新的类型名后,原有类型名仍有效D.用typedef可以为各种类型起别名,但不能为变量起别名【答案】A【解析】关键字typedef用来给已有的类型起一个新的名字。所以,通过typedef不可能增加新的类型。www.handebook.com第7页,共37页20.对以下程序段,下画线中应填入的正确格式是__________。A.B.C.D.【答案】D21.函数的一般调用形式为__________。A.fscanf(文件指针,格式字符串,输出表列)B.fscanf(格式字符串,输出表列,文件指针)C.fscanf(格式字符串,文件指针,输出表列)D.fscanf(文件指针,格式字符串,输入表列)【答案】D22.设有定义语句则数组元素a[l][2]的值是__________。A.0B.1C.2D.不确定【答案】A【解析】二维数组定义及初始化时,其初始化列表既可以使用一对花括号表示,又可以使用双重嵌套的花括号表示。若使用双重嵌套花括号,则在外层花括号中,按顺序出现的无论是一个值(无花括号括起来的值)还是一个以花括号括起来的值序列,都顺序对应二维数组相应的行。若表示的某行元素个数不足,则系统自动以“0”补齐。因此,本题中的初始化列表分别对应数组a的0〜2行。初始化后数组a第0行的元素值为0,0,0;第1行的元素值为1,0,0;第2行的元素值为2,0,0。因此数组元素a[l][2]的值为0,故选A。23.假设有定义②行语句后,b的值是__________。②执行语句后,b的值是__________。③执行语句后,b的值是__________。A.20B.30C.21D.31【答案】①A、②B、③C【解析】指针p初始时指向数组元素a[l]。①执行语句,第一步取出a[l]的值20赋给变量b,第二步p后移指向a[2]。②执行语句,第一步指针p后移指向a[2],第二步取出a[2]的值30赋给变量b。③执行语句,第一步取出a[l]的值,第二步执行++a[l]得21,第三步把21赋给变量b。24.有定义,,对a中数组元素值引用正确的是__________。A.B.C.www.handebook.com第8页,共37页D.【答案】D【解析】选项定义中p为行指针,且和数组a的列数一致,因此p访问数组元素的方法和用数组名a类似。选项A,p+2表示移动2行,再间接访问,得到的是p[2]也就是a[2],表示的是地址值,而且也超出数组范围了。同理选项B中的在p[2]超范围的情况下得到的值是不能确定的。选项C,p[l]是列指针,加1移动一列,此时指向a[l][l],是个地址值。选项D中的p+1指向数组的1行,得到了1行0列的地址,得到了1行2列元素的地址,最后在前面加一个*运算符就得到了数组元素a[l][2]的值了。25.有循环语句:,以下叙述中正确的是__________。A.此while语句将无限循环B.getchar()不以出现在while语句的条件表达式中C.当执行此while语句时,只有按回车键程序才能停止D.当执行此while语句时,按任意键程序就能停止【答案】C26.设有语句:inta=3,b=5,m;,若执行语句改为:后,m的值为__________。A.0B.1C.2D.3【答案】B27.下面关于C语言中文件的叙述,错误的是__________。A.C语言中的文本文件以ASCII码形式存储数据B.C语言中对二进制文件的访问速度比文本文件快C.语句定义了一个名为fp的文件指针变量D.C语言中的随机文件以二进制代码形式存储数据【答案】C【解析】定义文件类型指针变量的一般形式为,因此选项C错误,而其余选项都正确,故选C。28.有以下程序段,while循环执行的次数是__________。A.执行1次B.有语法错,不能执行C.执行0次D.无限次【答案】A29.在进行文件操作时,文件读操作的一般含义是__________。A.将计算机内存中的信息存入磁盘B.将磁盘中的信息读入计算机内存C.将计算机CPU中的信息存入磁盘D.将磁盘中的信息读入计算机CPU【答案】B【解析】文件的读/写操作是相对于计算机内存的。本题答案为B。www.handebook.com第9页,共37页30.有以下程序:程序运行后输出的结果是__________。A.4,4,5B.0,4,5C.4,4,4D.0,0,0【答案】B31.已知整型、字符型和单精度型数据所占的字节数分别为4、1、4,共用体变量定义如下:,则的值是__________。A.4B.5C.6D.8【答案】A32.以下错误的语句是__________。A.B.C.D.【答案】D33.C语言short型数据占2个字节,则unsignedshort型数据的取值范围是__________。A.B.C.D.【答案】B【解析】此题考查的知识点是:整型数据类型在计算机内存中的二进制存储格式。无符号短整型的最小表示二进制数0,最大表示二进制数“”,即。因此本题选择答案B。www.handebook.com第10页,共37页34.有以下程序:输出结果是__________。A.ZhangB.ZhaoC.WangD.18【答案】B【解析】实参students+2指向students[2]。本题答案为B。35.对于字符数组a,正确的初始化方法是__________。A.B.C.D.【答案】D【解析】本题主要考察字符串赋初值方法。字符串赋初值要求初值是花括号括起来的一串字符。选项A中数组的初值放在圆括号中,所以选项A错;在选项B中数组的初值放在方括号中,所以选项B错;选项C中,花括号中各项是字符串,不是字符,所以C选项错。因此,本题的正确答案为D。36.以下函数返回a所指数组中最大值所在的下标值。在下画线处应填入的内容是__________。A.B.C.D.【答案】Dwww.handebook.com第11页,共37页37.在定义一个结构体变量时系统分配给它的存储空间是__________。A.该结构体中第一个成员所需的存储空间B.该结构体中最后一个成员所需的存储空间C.该结构体中占用最大存储空间的成员所需的存储空间D.该结构体中所有成员所需存储空间的总和【答案】D【解析】结构体变量分配的空间大小为所有成员的存储空间的总和。本题答案为D。38.设有以下程序段:则__________。A.运行程序段后输出0B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次【答案】B【解析】x=0,!x=l,!x!=0为真,执行s+=++x,++x返回1,x=l,s=s+l=l;x=l,!x=0,!x!=0为假,不再执行循环语句。本题答案为B。39.以下程序有错,错误原因是__________。A.p和q的类型不一致,不能执行B.中存放的是地址值,因此不能执行C.q没有指向具体的存储单元,所以*q没有意义D.q有指向字符型变量ch,但是没有确定的值,因此执行没有任何意义。【答案】D【解析】选项A中,得到的是int和char类型的变量值,在C语言中,char可以转化为int进行赋值操作,所以是可以的。选项B,p是指针,p本身的值是地址值,但是表示间接访问,相当于i=40,也是对的。选项C,在定义中q指向变量ch,有意义,只是ch没有赋值,是个随机值,用它给p指向的i赋值没有任何意义,所以本题应选择D。40.下面程序段的内循环体要执行的次数是__________。A.15B.16C.20www.handebook.com第12页,共37页D.25【答案】C【解析】外循环要执行5次(5〜1),内循环要执行4次(0〜3),因此内循环体总共要执行20次。41.下面程序的运行结果是__________。A.B.C.D.【答案】D【解析】循环体打印语句的格式控制部分使用了条件表达式。当x为奇数时,条件表达式的值为,打印及x的值;当x为偶数时,条件表达式的值为,打印##及x的值,并换行。42.以下函数的功能是__________。A.没有交换和的值B.存在语法错误,可能造成异常C.能成功交换和所指向的变量的值D.能成功交换和的值【答案】C43.在C语言中,不同数据类型占用内存的字节长度是__________。A.相同的B.由用户自己定义的C.任意的www.handebook.com第13页,共37页D.与编译环境有关的【答案】D【解析】此题考查的知识点是:对于某种数据类型在内存中究竟占多少字节,在C语言标准中并未严格规定,而是与具体的C语言编译环境有关。例如:对于int类型,在编译环境下占4个字节,但是在下只占2个字节。因此本题选择答案D。44.已知字符´g´的ASCII码是103,将它赋给字符变量c,正确的语句是__________。A.B.C.;D.;【答案】C【解析】在单引号或双引号内的反斜线\表示转义字符,选项A在无引号时使用反斜线是错误的;字符常量必须用单引号括起来,所以B是错误的;选项C表示ASCII码为八进制数147(十进制数103)的字符g,正确;单引号只允许括起一个字符,选项D在单引号内出现了4个字符,是错误的。45.以下叙述中错误的是__________。A.计算机不能直接执行用C语言编写的源程序B.C语言源程序经编译程序编译后生成的扩展名为.obj的文件是一个二进制文件C.扩展名为.obj的文件经连接程序连接后生成的扩展名为.exe的文件是一个二进制文件D.扩展名为.obj和.exe的二进制文件都可以直接执行【答案】D【解析】C语言源程序经过C编译程序编译后会生成一个扩展名为.obj的目标文件,然后经连接程序连接后(连接程序把.obj文件与C语言提供的各种库函数连接起来)生成扩展名为.exe的可执行文件,这样才能够执行。故本题选项中的D是错误的。46.设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为__________。A.B.C.D.P+i【答案】B47.设,执行表达式后,x的值是__________。A.3B.2C.1D.0【答案】C48.判断char型变量ch是否为大写字母的正确表达式是__________。A.B.C.D.【答案】Cwww.handebook.com第14页,共37页49.设“”,以下表达式不正确的是__________。A.B.C.D.【答案】B50.下列程序的执行结果是_________。A.3B.3.2C.0D.3.07【答案】C【解析】x为整型,x=1.2转化为整数后变为1,y=(x+3.8)/5.0=4.8/5.0=0.96,y为整型,y=0.96转化为整数后变为0。51.C语言程序的注释__________。A.以“”开头且以“”结束B.以“”开头且以“”结束C.以“”开头D.以“”开头或“”开头【答案】A【解析】C语言程序的注释以“”开始并以“”结束,在“”和“”之间书写注释的内容,可以跨行注释。C语言程序的注释也可以以“”开始,但注释的内容不能跨行,即只能在以“”开头至本行末尾结束,C项仅指定注释以“”开头而未指定到何处结束,因此是错误的。故选A。52.若x为unsignedshortint型变量,则执行以下语句后x的值为__________。A.65535B.1C.-1D.编译出错【答案】A【解析】unsignedshortint可以表示65535。本题答案为A。53.下列运算符中优先级别最高的是__________。A.<B.+C.D.www.handebook.com第15页,共37页【答案】B54.若有说明,则不是对a数组元素的引用是__________。A.B.C.D.【答案】D55.贝尔实验室的DennisM.Ritchie于1973年用C语言重写了__________操作系统。A.DOSB.UNIXC.WINDOWSD.LINUX【答案】B【解析】根据C语言的发展简史,答案选B。56.下列4组选项中,均是不合法的用户标识符的选项是__________。A.WP_0defineB.4d-aintgotoC.for–abca_6D..a2.DO.sizeof【答案】B57.设“”,以下对数组元素的引用错误的是__________。A.B.C.D.【答案】D58.下列运算符按优先级从高到低正确排序的是__________。A.B.C.D.【答案】B【解析】单目运算符!的优先级高于双目运算符,在双目运算符中,算术运算符高于关系运算符,关系运算符高于逻辑运算符。59.合法的数组定义是__________。A.B.C.D.【答案】Dwww.handebook.com第16页,共37页60.以下程序执行后的输出结果是__________。A.112B.221C.222D.233【答案】C61.设有以下语句:则当0≤i<10时,对数组a引用不正确的是__________。A.B.C.D.【答案】B【解析】二维数组才能采用选项B的引用方式。62.已知:则下面叙述中错误的是__________。A.变量t与成员d2所占的内存字节数相同B.成员dl和d2的地址相同C.变量t和成员d2的地址相同D.若给赋99后,则中的值是【答案】D【解析】共用体成员共用一个内存区,共用体变量所占字节数为成员中占字节数最大者所需的字节数,选项A对;共用体变量的地址和它的各成员的地址相同,选项B、C对。因为整型数和浮点数在内存中的存储方式不同,浮点数是按尾数和阶码进行存储,而整型数不是这祥,所以D错。63.第一个结构化程序设计语言是__________。A.PASCALB.CC.BASICD.FORTRAN【答案】A【解析】高级语言从应用角度分为基础语言、结构化语言、专用语言3大类,PASCAL语言是第一个结构化程序设计语言,因此答案选A。www.handebook.com第17页,共37页64.有以下程序:程序运行后的输出结果是__________。A.10B.20C.30D.40【答案】D【解析】建立3个结点,分别由p、q、r所指向,然后构成一个单链表,输出p所指结点和r所指结点的num成员之和。本题答案为D。65.以下函数的功能是__________。A.比较两个字符串的大小B.计算s所指字符串占用的内存字节数C.计算s所指字符串的长度D.将s所指字符串复制到字符串t中【答案】C66.执行以下程序后,a和b的值分别为__________。}A.-1,5B.1,6C.0,7D.4,10www.handebook.com第18页,共37页【答案】C67.以下不合法的用户标识符是__________。A.j2_KeyB.MainC.4dD._8_【答案】C【解析】选项C错在以数字开头。68.若fp是指向某个文件的指针变量,且已读到文件的末尾,则函数的返回值是__________。A.EOFB.-1C.非零值D.NULL【答案】C【解析】在C语言文件中是文件末尾的标志,而函数用于判断文件读/写指针是否到达文件末尾,若到达文件末尾则返回“真”(即非0值);否则返回“假”(即0值)。而NULL值为0,表示指针变量不指向任何变量。故选C。69.若有定义,以下均为正确赋值语句的选项是__________。A.B.C.D.【答案】B【解析】选项A中,错误;选项C中,是将p2所指的值赋值给p1所指的值,其中都表示取指针值运算,p2没有指向任何有效的数据,不能执行取数据即*p2操作;选项D中,由于尚未让p2指向任何存储空间,不能执行取数据即操作,即出错(这是较难识别的错误)。本题答案为B。70.若a是float型变量,b是unsigned型变量,以下输入语句合法的是_________。A.B.C.D.【答案】C【解析】在scanf()中可以指定域宽,但不能规定小数点后的位数,所以选项A的%6.2f不合法,选项B中%n不合法;选项D中unsigned型变量的输入格式描述符只能用或。71.设变量定义为,则相当于__________。A.B.C.xD.【答案】Awww.handebook.com第19页,共37页72.当调用函数时,实参是一个数组名,则向函数传送的是__________。A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值【答案】B。73.以下关于文件的叙述中正确的是___________。A.对文件操作必须先关闭文件B.对文件操作必须先打开文件C.对文件的操作顺序没有统一的规定D.以上都不对【答案】B【解析】对文件操作必须先打开文件,本题答案为B。74.设有如下程序段:则以下对数组元素的引用,错误的是__________。A.B.C.D.【答案】B【解析】选项A,相当于,正确;选项B,相当于,数组a的行下标只能是0和1,下标超界,错误;选项C,相当于,正确;选项D,相当于,正确。75.已知:如果的地址是160,则和的地址分别是__________。A.166,167B.160,160C.161,162D.212,213【答案】B【解析】共用体中的变量共用一个内存区。共用体变量的地址和它的各成员的地址都相同。76.的输出结果是__________。A.123.141593B.123.141593C.12,3.141593D.123.1415930【答案】Awww.handebook.com第20页,共37页【解析】%8.6f表示输出的实数占8个字符的宽度,且小数位数为6位。77.在位运算中,将操作数左移一位相当于__________。A.操作数乘以4B.操作数除以4C.操作数乘以2D.操作数除以2【答案】C78.若有定义,则以下__________是正确的叙述。A.p是一个指针数组B.p是一个指针,它只能指向一个包含3个int类型元素的二维数组C.p是一个指针,它可以指向一个一维数组中的任一元素D.与等价【答案】B79.以下关于float型变量和double型变量的描述,不正确的是__________。A.double型变量精度更高B.double型变量的取值范围更大C.double型变量占用的存储空间更大D.double型变量更常用【答案】D80.在while(x)语句中的x与下面的表达式等价的是__________。A.x=0B.x=1C.x!=1D.x!=0【答案】D81.有int型变量x、y、z,语句“if(x>y)z=0;elsez=l;”和__________等价A.B.z=x>y;C.z=x<=y;D.z=x<=y?0:1;【答案】C【解析】本题题目中,当x>y时,z=0;当x<=y时,z=l。选项A:当x>y时,z=l;x<=y时,z=0。选项B:当x>y时,z=l;x<=y时,z=0。选项C:当x<=y时,z=l;当x>y时,z=0。选项D:当x<=y时,z=0;当x>y时,z=l。故选C。82.一个C程序的执行是从__________。A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束【答案】A【解析】main函数也称为主函数,它是一个C程序的入口和正常出口,而不论其放在程序的任何位置。www.handebook.com第21页,共37页83.设有宏定义:,且变量已正确定义并赋值,则宏调用:为真时所要表达的是__________。A.判断m是否能被5或者7整除B.判断m是否能被5和7整除C.判断m被5或者7整除是否余1D.判断m被5和7整除是否余1【答案】D84.下面正确的字符常量是__________。A.B.C.D.【答案】C85.下面错误的字符串常量是__________A.´abc´B."12'12"C."0"D.""【答案】A【解析】字符串应以双引号括起来。本题答案为A。86.已知i、j、k为int型变量,若从键盘输入:1,2,3,<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是__________。A.B.C.D.【答案】C【解析】本题考查scanf()函数的格式控制串,当格式控制串中有普通字符时,必须原样输入。选项C的格式控制串为,其中的两个逗号是普通字符,所以在输入3个整数的同时,还要原样输入两个逗号。87.以下正确的说法是__________。A.定义函数时,形参的类型定义可以放在函数体内B.return后边的值不能为表达式C.如果函数类型与返回值类型不一致,以函数类型为准D.如果形参与实参类型不一致,以实参类型为准【答案】C88.有以下语句:执行后,c的值为__________。A.6B.7C.8www.handebook.com第22页,共37页D.9【答案】D89.以下表达式的值与x无关,其值恒为真的是__________。A.B.C.D.【答案】B90.以下函数调用语句中含有__________个实参。A.1B.2C.4D.5【答案】B91.如果实参为变量,则它与形参之间的数据传递方式是__________。A.地址传递B.从实参到形参的单向值传递C.由用户指定传递方式D.实参值传给形参,形参值再传回给实参【答案】B92.下列说明中应该是__________。A.指向整型常量的指针变量B.指向整型变量的指针常量C.指向整型变量的指针变量D.指向整型常量的指针常量【答案】D93.已知:,以下赋值表达式中错误的是__________。A.B.C.D.【答案】A【解析】赋值表达式的左侧必须是一个变量。选项A中,对于表达式,因为不是一个变量,所以不正确。94.C言的编译系统对宏命令的处理是__________。A.在程序运行时进行的B.在程序连接时进行的C.和C程序中的其他语句同时进编译的D.在对源程序中其他成分正式编译之前进行的【答案】Dwww.handebook.com第23页,共37页95.有字符数组和,则正确的输出语句是__________。A.B.C.D.【答案】D96.已知,则在程序中能将字符串赋给数组str1的正确语句是__________。A.B.C.D.【答案】B97.以下选项中叙述错误的是__________。A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B.C程序的复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不会自动赋给确定的初值D.C程序函数的形参不可以说明为型变量【答案】A98.设,以下表达式正确的是__________。A.B.C.D.【答案】B99.以下的叙述不正确的是__________。A.一个命令只能指定一个被包含头文件B.头文件包含是可以嵌套的C.命令可以指定多个被包含头文件D.在命令中,文件名可以用双引号或尖括号括起来【答案】C【解析】此题考查的是文件包含命令的基本概念。根据命令的格式,答案A和D的叙述显然正确;答案B的含义是一个被包含的头文件中可以用命令再包含其他头文件,这也是正确的;根据命令的格式,答案C的叙述不正确。因此本题选择答案C。100.下面程序的输出是__________。A.32www.handebook.com第24页,共37页B.16C.8D.24【答案】C【解析】them是一个共用体变量,其x成员占8个字节,y成员占8个字节,z成员占8个字节,所以them的长度为8。本题答案为C。101.有以下程序:若要按以下形式输出数组右上半三角则在程序下划线处应填入的是__________。A.i—1B.iC.i+1D.4—i【答案】Bwww.handebook.com第25页,共37页102.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是__________。A.B.C.D.【答案】A103.在下列语句中,将c定义为文件型指针的是__________。A.B.C.D.【答案】B104.C语言规定,函数返回值的类型由__________。A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.定义该函数时所指定的函数类型所决定【答案】D105.以下正确的函数形式是__________。A.B.C.D.www.handebook.com第26页,共37页【答案】D106.已知:则以下语句正确的是__________。A.B.C.D.【答案】D【解析】不能对共用体变量直接赋值,只能通过引用成贯的方式对共用体进行操作,选项A错。共用体变量在任何时刻只有一个成员存在,不能对它同时赋值,选项B错。m是整型变量,a是共用体变量,不能将a赋给m,选项C错。107.下列字符ASCII码值最小的是__________。A.B.C.D.【答案】B108.程序中头文件的内容是:程序如下:程序编译后运行的输出结果是__________。A.10B.20C.25D.30【答案】C。【解析】在编译程序时,预处理过程中将文件的文本替换语句。109.设有定义语句,则下列表达式值为零的是__________。A.www.handebook.com第27页,共37页B.C.D.【答案】C110.若函数的形参为多维数组,则以下叙述正确的是__________。A.调用函数时实参数组的维数必须等于形参数组的维数B.定义形参数组时可以省略每一维的大小C.定义形参数组时只能省略第一维的大小D.定义形参数组时必须指定每一维的大小【答案】C【解析】对于多维数组作为形参,只有第一维的大小可以省略。因为除第一维以外,其余每一维的大小都将与各类指针如何进行移动和偏移有关,故不能省略。本题答案为C。111.以下程序的输出结果是__________。A.-6B.12C.出错D.-12【答案】C【解析】a+a-=a*a计算错误,该表达式中,*运算符优先级最高,先执行a*a返回9,+运算符次之,执行a+a得到6,再执行6-=9,赋值运算符右边是常量,出现错误。本题答案为C。112.以下__________是不正确的if语句A.B.C.D.【答案】B113.C程序中,运算对象必须为整型数据的运算符是__________。A.++B.%C./D.*【答案】B【解析】选项B是求余运算符,语法规定其两侧的操作数必须是整数。www.handebook.com第28页,共37页114.请读程序:若运行时从键盘上输入,则上面程序的输出结果是__________。A.B.C.D.【答案】B【解析】实参s是一个一维数组,传递的是该数组的对应元素的地址,程序的功能是将输入的字符串逐个转换为小写字母后输出。本题答案为B。115.下列对C语言字符数组的描述中错误的是__________。A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较【答案】C116.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是__________。A.externB.registerC.autoD.static【答案】D117.当接受用户输入的含空格的字符串时,应使用的函数是_________。A.scanf()B.gets()C.getchar()D.getc()【答案】B【解析】scanf函数不能接受用户输入的含空格的字符串。118.设x是double型变量,则能将x的值四舍五入保留到小数点后两位的表达式是__________。A.www.handebook.com第29页,共37页B.C.D.【答案】B【解析】此题考查的是算术运算符和强制类型转换的用法。可以采用特例分析,假设,则答案A的计算结果是;答案B的计算结果是;答案C的计算结果是;答案D的计算结果是。显然本题选择答案B。本题中四舍五入的表达式在编程中经常用到。119.下列函数的功能是__________。A.将a所指字符串赋给b所指空间B.将a所指字符串和b所指字符串进行比较C.使指针b指向a所指字符串D.检查a和b所指字符串中是否有【答案】A120.已知inta,b;,对于以下if语句:;在编译时,C编译程序__________。A.能指出该语句有语法错误B.不能指出该语句有语法错误C.编译正确,其功能是当b为0时输出“a=b”D.以上都不对【答案】B【解析】“a=b”可以看成是一个条件表达式,由b的值决定其真假,当b为0时,a=b返回0表示条件为假,不会输出“a=b”。本题答案为B。121.下列程序的运行结果是__________。A.6B.8C.10D.12【答案】Awww.handebook.com第30页,共37页122.执行以下程序时,从键盘输入9,则输出结果是__________。A.11B.10C.9D.8【答案】B123.设c是字符变量,以下语句中错误的是__________。A.B.C.D.【答案】C124.若有以下程序:则以下叙述中不正确的是__________。A.若只在主函数中对函数f()进行说明,则只能在主函数中正确调用函数f()B.若在主函数前对函数f()进行说明,则在主函数和其后的其他函数中都可以正确调用函数f()C.对于以上程序,编译时系统会提示出错信息,提示对f()函数重复说明D.函数f()无返回值,所以可以用void将其类型定义为无返回值类型【答案】C125.若定义,是指向某一已经正确打开了的文件的指针,以下函数调用中不正确的__________。A.B.C.D.【答案】A【解析】fread函数的第一个参数是存放读入数据的内存区的首地址,而不是某个数据元素。本题答案为A。www.handebook.com第31页,共37页126.下面不合法的字符常量是__________。A.B.C.D.【答案】A【解析】转义字符是以“\”开头的字符序列,它只代表一个字符。当“\”后跟3个八进制数时,表示该转义字符为ASCII码值等于这3个八进制数数值的字符。选项A中出现了数字8,超出了八进制0~7的范围,故错误;选项B表示的是一个双引号“”的转义字符;选项C表示的是一个反斜杠“\”的转义字符;选项D表示一个ASCII码值为十六进制cc的字符。故选A。127.以下叙述中错误的是__________。A.函数的返回值类型不能是结构体类型,只能是简单类型B.函数可以返回指向结构体变量的指针C.可以通过指向结构体变量的指针访问所指结构体变量的任何成员D.只要类型相同,结构体变量之间可以整体赋值【答案】A【解析】函数的返回值类型可以是结构体类型,也可以是简单类型。本题答案为A。128.有下列函数调用语句,函数的实参个数是__________。A.3B.4C.5D.6【答案】A【解析】此题涉及的知识点是函数调用时实参的类型,可以是常量、变量、表达式。这里,的实参分别是算术表达式、逗号表达式和函数表达式,共3个,所以此题的答案是A。129.以下选项中正确的语句组是__________。A.B.C.D.【答案】D130.设有定义:,则下列说法正确的是__________。A.定义了基类型为int的8个指针变量B.定义了基类型为int的具有8个元素的指针数组C.定义了一个名为、具有8个元素的整型数组D.定义了一个名为P的指针变量,它可以指向每行有8个数据的整型二维数组【答案】D【解析】P是一个行指针,可以指向二维数组。www.handebook.com第32页,共37页131.设所有的变量均为整型,下列循环执行结束后,变量m的值为__________。A.1B.0C.16D.15【答案】C132.若已定义a为int型变量,则__________是对指针变量p的正确定义和初始化。A.B.C.D.【答案】D133.若要用fopen函数打开一个已存在的文本文件,向该文件尾部增加数据,则文件打开方式应是__________。A.B.C.D.【答案】D134.以下能将字符串正确地存放在字符数组s中,或使指针s能指向这个字符串的是__________。A.B.C.D.【答案】D135.若有两种描述__________。A.都正确B.都错误C.前者正确D.后者正确【答案】A。136.已知:;,若int型变量占4个字节,则数组a在内存中所占的字节数是__________。A.16B.20C.40D.不定【答案】C【解析】数组所占字节数由数组的大小来确定,该数组包含10个整型元素,因此在内存中所www.handebook.com第33页,共37页占的字节数是40。137.若定义“floatx=1.5;inta=1,b=3,c=2”,则正确的switch语句是__________。A.B.C.D.【答案】A【解析】该题目考查switch语句的使用。switch后面必须是整型表达式,每个case后必须是整型常量表达式。因此,本题的正确选项为A。138.C程序中主函数的个数是__________。A.2B.3C.任意多个D.1【答案】D【解析】在一个C程序中,主函数有且仅有一个,它是一个程序的人口和正常出口。139.对应于语句,应通过键盘输入的内容是__________。A.10100B.10,bC.x=10,y=bD.x=2y=b【答案】D140.若有定义,且0<i<4,则__________是错误的赋值。A.p=aB.C.D.【答案】Awww.handebook.com第34页,共37页141.有以下程序:其运行后的输出结果为__________。A.2B.3C.43D.44【答案】A142.以下函数的正确运行结果是__________。A.777B.71013C.7911D.789【答案】D143.x为int型变量,执行以下语句后,x的值为__________。A.10B.20C.30D.40【答案】B144.在定义一个结构体变量时,系统分配给它的存储空间是__________。A.该结构体中第一个成员所需的存储空间B.该结构体中最后一个成员所需的存储空间C.该结构体中占用最大存储空间的成员所需的存储空间D.该结构体中所有成员所需的存储空间之和www.handebook.com第35页,共37页【答案】D【解析】因为结构体变量的每一个成员都需要分配存储空间,因此所需存储空间为所有成员所占存储空间之和。145.变量的指针,其含义是指该变量的__________。A.值B.地址C.名D.一个标志【答案】B146.已知,变量x的值是__________。A.1B.2C.3D.4【答案】D【解析】因为(1,2,3,4)是一个逗号表达式,其值为逗号最右侧表达式的值,即4。147.下列变量定义中合法的是__________。A.B.C.D.【答案】A【解析】_a是合法的变量名。本题答案为A。148.在C语言中,运算对象必须是整型运算符的是__________。A.+B./C.*D.%【答案】D149.有如下程序段:执行该程序段后,x的值为__________。A.tureB.falseC.0D.1【答案】D150.以下对一维整型数组的正确说明是__________。A.B.C.www.handebook.com第36页,共37页D.【答案】D151.电子计算机“ENIAC”于1946年诞生于__________大学。A.英国剑桥B.美国卡耐基梅隆C.美国哈佛D.美国宾夕法尼亚【答案】D【解析】世界上第一台电子计算机“ENIAC”于1946年诞生于美国宾夕法尼亚大学,是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的。因此答案选择D。152.设有以下程序段,则__________。A.while循环执行10次B.循环是无限循环C.循环体一次也不执行D.循环体执行一次【答案】C153.如果已经定义了变量,则能正确交换变量a和b的值的是__________。A.B.C.D.【答案】C154.下面程序段输出的结果是。A.0,1B.1,2C.1,1D.2,2【答案】A【解析】printf语句对输出列表中各输出项的求值顺序是自右向左的,然后再由左到右将刚才的计算结果输出,并且若输出项个数多于格式字符的个数,则多余的输出项将不输出。因此本题第一个printf语句的输出项由右向左计算,即先计算i++,由于“++”后置,因此待输出操作结束后再计算;接下来计算——i,由于“——”前置,因此先进行减1计算使得i值由1变到0;最后计算i,由于i不进行任何计算故其值不变仍是0。计算结束后将由左至右输出刚才的计算结果,由于仅有一个格式符“%d,因此只输出第一个输出项i的值,即0。注意,输出0后还要进行刚才第三个输出项i++中并未计算的“++”运算,即i值由0变为1。因此,第二个printf语句输出的i值为1。即本程序段输出的结果为0,1。www.handebook.com第37页,共37页155.在C语言中,数组的下标可以是__________。A.整型常量表达式B.整型表达式C.整型常量或整型表达式D.任何类型的表达式【答案】A【解析】数组的下标不能为变量,整型表达式中可以包含整型变量,所以选项B、C、D不对;数组的下标可以是整型常量表达式。156.若有定义及赋值:,则下列各式中表示地址的表达式是__________。A.B.C.D.【答案】C157.若变量a为int类型,并执行了语句,则正确的叙述是__________。A.a的值是浮点型B.a的值是67.8C.不允许字符型和浮点型相加D.a的值是字符“A”的ASCII值加上2【答案】D158.以下程序的输出结果是__________。A.6,6B.8,8C.11,11D.语法错误【答案】D【解析】由于if下面的两条语句未加花括号,这样将是一条独立的语句,后面的else部分找不到对应的if部分,因此,有语法错误。
本文档为【2021年东北大学软件学院858C语言程序设计与数据结构考研核心题库之标准C语言程序设计选择题精编】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥40.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
掌心博阅电子书
青岛掌心博阅电子书有限公司主要从事考试类电子书的编辑与创作工作。
格式:pdf
大小:2MB
软件:PDF阅读器
页数:37
分类:
上传时间:2020-03-09
浏览量:79