为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序设计选择题精编

2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序设计选择题精编

2020-03-09 5页 pdf 2MB 13阅读

用户头像 机构认证

掌心博阅电子书

青岛掌心博阅电子书有限公司主要从事考试类电子书的编辑与创作工作。

举报
2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序设计选择题精编第1页,共42页2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序设计选择题精编主编:掌心博阅电子www.handebook.com第2页,共42页特别说明本书根据历年考研大纲要求并结合历年考研真题对该题型进行了整理编写,涵盖了这一考研科目该题型常考试题及重点试题并给出了参考答案,针对性强,考研复习首选资料。版权声明青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分内容参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者...
2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序设计选择题精编
第1页,共42页2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序选择题精编主编:掌心博阅电子www.handebook.com第2页,共42页特别说明本书根据历年考研大纲要求并结合历年考研真题对该题型进行了整理编写,涵盖了这一考研科目该题型常考试题及重点试题并给出了参考答案,针对性强,考研复习首选资料。版权声明青岛掌心博阅电子书依法对本书享有专有著作权,同时我们尊重知识产权,对本电子书部分参考和引用的市面上已出版或发行图书及来自互联网等资料的文字、图片、表格数据等资料,均要求注明作者和来源。但由于各种原因,如资料引用时未能联系上作者或者无法确认内容来源等,因而有部分未注明作者或来源,在此对原作者或权利人表示感谢。若使用过程中对本书有任何异议请直接联系我们,我们会在第一时间与您沟通处理。因编撰此电子书属于首次,加之作者水平和时间所限,书中错漏之处在所难免,恳切希望广大考生读者批评指正。www.handebook.com第3页,共42页一、选择题1.设int类型的数据长度为两个字节,则unsignedint类型数据的取值范围是__________。A.0〜255B.0〜65535C.-32768〜32765D.-256〜255【答案】B【解析】unsignedint类型数据的取值范围是0000000000000000(0)~1111111111111111(216-1)即0〜65535。本题答案为B。2.以下能正确表达x的取值范围在或内的表达式是__________。A.B.C.D.【答案】B【解析】注意逻辑与和逻辑或关系使用,由于前者的优先级高,这里可以不用括号。本题答案为B。3.在下列定义字符串和给字符串赋初值的语句中有语法错误的是__________。A.B.C.D.【答案】A【解析】选项A中给用等号赋值是错误的,应用采用函数给字符串赋值;选项B和D是给字符串赋初值,是允许的;C是将字符串赋值给指针数组的第一个元素,也是允许的。因此,本题正确选项为A。4.已知inta,b;,对于以下if语句:;在编译时,C编译程序__________。A.能指出该语句有语法错误B.不能指出该语句有语法错误C.编译正确,其功能是当b为0时输出“a=b”D.以上都不对【答案】B【解析】“a=b”可以看成是一个条件表达式,由b的值决定其真假,当b为0时,a=b返回0表示条件为假,不会输出“a=b”。本题答案为B。5.对于文件包含处理,在编译时__________。A.把用命令指定的文件与本文件用命令进行联接B.把用命令指定的文件与本文件进行宏替换C.把用命令指定的文件与本文件用命令进行联接D.把用命令指定的文件与本文件作为一个源文件进行编译【答案】Dwww.handebook.com第4页,共42页6.有以下程序:执行后输出结果是__________。A产生语法错B.随机值C.AD.65【答案】C7.以下描述错误的是__________。A.字符数组可以存放字符串B.可以用输入语句把字符串作为一个整体输入给字符数组C.不能在赋值语句中通过赋值运算符“=”对字符数组整体赋值D.可以用关系运算符对两个字符串进行比较【答案】D【解析】字符串比较需要调用库函数strcmp()。8.对以下程序段,下画线中应填入的正确是__________。A.B.C.D.【答案】D9.下列可用于C语言用户标识符的一组是__________。A.CD12float3MB.CarC.elseQwertmD.78mautoxyz【答案】Bwww.handebook.com第5页,共42页10.有以下程序段:程序输出结果是__________。A.a=10b=50c=10B.a=10b=50c=30C.a=10b=30c=10D.a=50b=30c=50【答案】A【解析】该题目考查if语句的使用。if条件不成立,其对应语句块不执行。因此,本题的正确选项为A。11.以下说法正确的是__________。A.定义函数时,形参的类型说明可以放在函数体内B.return后面的值不能为表达式C.如果函数值的类型与返回值的类型不一致,则以函数值类型为准D.如果形参与实参类型不一致,则以实参类型为准【答案】C12.以下if语句不正确的是__________。A.B.C.D.【答案】C【解析】选项A,if语句的执行体是一条空语句,正确;选项B,if语句的执行体是由逗号表达式组成的一条语句,正确;选项C,不正确,应该是。13.如果x为float类型变量,则以下语句输出为_________。A.213.82B.宽度不够,不能输出C.213.82631D.213.83【答案】D【解析】输出时只保留小数点后两位。14.若要声明一个类型名STP,使得定义语句STPs等价于以下选项中正确的是__________。A.B.C.D.www.handebook.com第6页,共42页【答案】D。15.有如下程序:运行该程序的输出结果是_________。A.34B.42C.43D.33【答案】D【解析】y=3,x=3,z=l,printf语句中,先执行z+2为3,(++x,y++)为一个逗号表达式,返回y++即y值3。16.执行以下程序段后,w的值为__________。A.-1B.NULLC.1D.0【答案】C17.设有定义以下C语言表达式与代数式计算结果不相符的是__________。A.B.C.D.【答案】B18.下列关于C语言标识符的叙述中正确的是__________。A.标识符中可以出现下划线和中划线(减号)B.标识符中不可以出现中划线,但可以出现下划线C.标识符中可以出现下划线,但不可以放在标识符的开头D.标识符中可以出现在下划线和数字,它们都可以放在标识符的开头【答案】B19.若有说明语句:inta;floatb;,以下输入语句正确的是__________。A.B.C.D.【答案】C【解析】整型的格式说明符为%d,单精度型的格式说明符为%f,并且格式说明符应与其后的变量一一对应,因此,A和B错。scanf()函数中变量名前需要加上地址符,因此,D错。www.handebook.com第7页,共42页20.设数组a是一个包含30个元素的字符数组,则在以下语句中,对数组a的正确定义语句为__________。A.B.C.D.【答案】B【解析】本题中,选项A在数组定义中用了圆括号,所以A选项错;选项C用了花括号,所以C选项错;选项D在定义数组元素个数时用了变量i,所以D选项错。因此,本题的正确答案为B。21.以下程序的输出结果为__________。A.0B.1C.2D.3【答案】D22.设有下面的程序段,则__________。A.运行后将输出ChinaB.运行后将输出ChC.运行后将输出ChiD.编译出错【答案】D23.凡是函数中未指定存储类别的局部变量,其隐含的存储类型都是__________。A.自动(auto)B.静态(static)C.外部(extern)D.寄存器(register)【答案】A【解析】此题涉及的是变量的存储类别。C语言规定,在函数中未指定存储类别的局部变量,其隐含的存储类型是auto。所以此题的答案是A。24.有语句定义:intx,y;,则程序段中“{…循环体…}”的执行次数是__________。A.20www.handebook.com第8页,共42页B.24C.25D.30【答案】A25.冯·诺伊曼在他的ENIAC计算机中,提出了两个重要的概念,它们是__________。A.采用二进制和存储程序控制的概念B.引入CPU和内存储器的概念C.机器语言和十六进制D.ASCII编码和指令系统【答案】A26.有以下程序段:则while循环执行的次数是__________。A.无限次B.有语法错误,不能执行C.一次也不执行D.执行一次【答案】A27.已知shortint类型变量在内存中占用两个字节,有如下定义:shortintarray[10]={0,2,4};则数组array在内存中所占字节数是__________。A.3B.6C.10D.20【答案】D28.不能把字符串赋给数组b的语句是__________。A.B.C.D.【答案】B29.有以下程序:.程序执行后的输出结果是__________。A.8B.20C.25www.handebook.com第9页,共42页D.36【答案】A30.以下程序运行的结果是__________。A.17B.18C.19D.20【答案】C31.下面函数调用语句含有实参的个数为__________。A.1B.2C.4D.5【答案】B【解析】func函数只有和两个实参。本题答案为B。32.以下程序的输出结果是__________。A.20B.24C.25D.15【答案】D【解析】f函数中的i为静态变量,第1次调用时i置初值0,退出该函数时i不会释放存储空间,以后再调用f时,不再给i置初值,直接使用其以前的结果。本题答案为D。www.handebook.com第10页,共42页33.执行以下语句后,b的值为__________。A.6B.0C.1D.4【答案】A34.以下定义不正确的是__________。A.B.C.D.【答案】C【解析】本题考查结构体类型和变量的定义。可以单独定义结构体类型,如A;可以在定义结构体类型的同时定义结构体变量,如B和D,D中省略结构体名也是合法的。C错误的,缺少结构体名或结构体变量名。35.以下选项中正确的定义语句是__________。A.doublea;b;B.doublea=b=7;C.doublea=7,b=7;D.double,a,b;【答案】C【解析】选项C是在定义a、b两个变量的同时对变量进行初始化。36.已知:,则以下函数的返回值是__________。A.形参P中存放的值www.handebook.com第11页,共42页B.不确定的值C.一个整数D.形参P的地址值【答案】C【解析】函数返回值的类型由定义函数时设定的类型决定,函数定义时返回值的类型为int,所以函数的返回值是一个整数,即指针p所指向的变量的值。37.以下叙述错误的是__________。A.一个变量的作用域的开始位置取决于定义语句的位置B.全局变量可以在函数以外的任何位置进行定义C.局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用D.一个全局变量说明为static存储类是为了限制其他编译单位的使用【答案】C【解析】局部变量分为静态局部变量和动态局部变量,静态局部变量的运算结果可以保存至下一次调用,动态局部变量的生存期仅限本次函数调用。38.在定义语句中标识符f代表的是__________。A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名【答案】D39.为了向二进制文件尾部增加数据,打开文件的方式应采用__________。A.B.C.D.【答案】A40.若有说明:inta[3][4];,则对a数组元素的非法引用是__________。A.a[0][2]B.a[1][3]C.a[4-2][0]D.a[0][4]【答案】D41.在C语言中,int、char和short三种类型数据所占用的内存是__________。A.均为2个字节B.由用户自已定义C.由所用机器的机器字长决定D.是任意的【答案】C【解析】这三种类型数据所占用的内存是由所用机器的机器字长决定的,例如,在16位机中,int型数据占2个字节,在32位机上,int型数据占4个字节。本题答案为C。42.C语言程序的注释__________。A.以“”开头且以“”结束www.handebook.com第12页,共42页B.以“”开头且以“”结束C.以“”开头D.以“”开头或“”开头【答案】A【解析】C语言程序的注释以“”开始并以“”结束,在“”和“”之间书写注释的内容,可以跨行注释。C语言程序的注释也可以以“”开始,但注释的内容不能跨行,即只能在以“”开头至本行末尾结束,C项仅指定注释以“”开头而未指定到何处结束,因此是错误的。故选A。43.C语言提供了条件编译命令,其基本格式如下:其中,X可以是__________。A.ifdef、ifndef、ifB.define、ifC.ifdef、includeD.ifdef、ifndef、define【答案】A44.下列哪一种变量一定不是局部变量__________。A.静态变量B.形式参数变量C.外部变量D.自动局部变量【答案】C【解析】此题考查对变量存储类型的理解。全局与局部的区别在于变量定义位置的不同,只要是在函数内部定义的,包括在形式参数表中定义的,都是局部变量;而在函数外部定义的变量,称之为全局变量或外部变量。至于静态问题,取决于是否在变量定义时加static关键字,可以有静态局部变量和静态外部变量两种。综合这些知识,本题选C。45.下面错误的字符串常量是__________A.´abc´B."12'12"C."0"D.""【答案】A【解析】字符串应以双引号括起来。本题答案为A。46.函数的作用是__________。A.使位置指针重新返回到文件的开始B.将位置指针指向文件中所要求的特定位置C.使位置指针指向文件的末尾D.使位置指针自动移到下二个字符位置【答案】Awww.handebook.com第13页,共42页47.假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行后,程序的输出结果是__________。A.hellogoodB.hgC.helD.hellogood【答案】B【解析】:这里,,,,程序输出后两个字符串的第1个字母。本题答案为B。48.设有以下说明:则对字符串引用错误的是__________。A.B.C.D.【答案】C【解析】引用结构体变量成员的方式有3种:(*指针变量).成员名,结构体变量名.成员名,指针变量一成员名。由此可以看出,选项A、B、D都正确,引用错误的是选项C。49.有如下程序:该程序的输出结果是__________。A.69825B.63825C.6385www.handebook.com第14页,共42页D.693825【答案】C50.在下列for循环中,其循环次数是__________。A.4B.3C.1D.无数多次【答案】B51.以下4种说法中,正确的是__________。A.等价于“”B.”等价于“”C.”等价于“”D.“”等价于“”【答案】C【解析】此题涉及的知识点是指向字符型的指针赋值操作及字符数组的使用,逐项分析如下。(1)A中的“”的功能是定义字符型变量a并初始化,使其指向字符串“china”;而所谓的等价语句“”中的“”不能使a指向字符串“china'(2)B中的“”语句在语法上是错误的。(3)C中的语句“”和“”在功能上都是定义了指针变量s,并使其指向字符串“china”。(4)D中的语句“”存在语法错误。所以此题的答案是C。52.表示关系的数学表达式2<x<5的C语言表达式是__________。A.B.C.D.【答案】A53.若有说明:则下列哪一种表达错误__________。A.B.C.D.【答案】A【解析】选项A用a+3给数组名a赋值,但是a是指针常量,不可以改变,所以是错的。选项B中p是指针变量,其值是可以改变的,p+3相当于指针移动3个数组元素,也就是访问p[3],即数组元素a[3]。选项C,p[4]和a[4]等价,得到5,然后继续访问p[5]即a[5]得到3。选项D是用数组名进行间接访问,首先是为3,然后是得到28。www.handebook.com第15页,共42页54.设有如下说明:则下面叙述中正确的是__________。A.以上的说明形式非法B.ST是一个结构体类型C.NEW是一个结构体类型D.NEW是一个结构体变量【答案】C55.已有如下定义:以下语句中,错误的是__________。A.B.C.D.【答案】D【解析】由于d是符号常量,++运算符只能用于变量,所以选项D是错误的。56.若程序执行语句后,则point是__________。A.8个指向浮点变量的指针B.指向8个浮点变量的一维数组指针C.指向8个浮点变量的函数指针D.8个指针的一维数组,指向浮点变量【答案】B【解析】在语句中,定义了指针point,再与右边的[8]相结合,说明point为指向8个元素数组的指针,数组的元素为float型。因此,本题的正确选项为B。57.当调用函数时,实参是一个数组名,则向函数传送的是__________。A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值【答案】B。58.假设x、y、z为整型变量,且1=2,y=3,z=10,则下列表达式中值为1的是__________。A.B.C.D.【答案】A【解析】选项A第1步计算x&&y(相当于“真&&真”),结果为真(1),第2步计算l||z(相当于“真||真”),结果为真(1)。www.handebook.com第16页,共42页59.已知“”,则下列要求输入/输出a的值的语句中,错误的是__________。A.B.C.D.【答案】D60.语句中的表达式!E等价于__________。A.B.C.D.【答案】A【解析】E为0时,为真,表示条件成立,执行循环体。而当E为0时,也为真,也表示条件成立,执行循环体,因此选A。61.声明语句“”的含义是__________。A.p是一个指向int型数组的指针变量B.p是指针变量,指向一个整型数据C.p是一个指向函数的指针变量,该函数的返回值是整型数D.以上都不对【答案】C62.下面4个选项中,叙述不正确的是__________。A.宏替换不占用程序运行时间B.宏名无类型C.宏名必须用大写字母表示D.宏替换只是字符替换【答案】C【解析】此题涉及的知识点是宏的基本概念。宏名一般用大写字母表示,也可以用小写字母表示,所以此题的答案是C。63.若p是一个指向函数的指针,则下面正确选项是__________。A.B.C.D.【答案】B【解析】由于p是一个指向函数的指针,因此和中的++运算是没有意义的。另外,max是一个函数,所以也是非法的操作。因此,本题的正确选项为B,表示p指向。64.下面不合法的字符常量是__________。A.B.C.D.【答案】A【解析】转义字符是以“\”开头的字符序列,它只代表一个字符。当“\”后跟3个八进制数时,表示该转义字符为ASCII码值等于这3个八进制数数值的字符。选项A中出现了数字8,超出www.handebook.com第17页,共42页了八进制0~7的范围,故错误;选项B表示的是一个双引号“”的转义字符;选项C表示的是一个反斜杠“\”的转义字符;选项D表示一个ASCII码值为十六进制cc的字符。故选A。65.以下程序是将一个名为的文件复制到一个名为的新文件中。请填空。①A.B.C.D.②A.B.nwb+”C.D.【答案】①A、②C【解析】打开文件用于读,选择文件模式,打开文件用于写,选择文件模式。本题答案为①A、②C。66.设变量a是整型,f是实型,i是双精度型,则表达式的值的数据类型为__________。A.B.C.D.不确定【答案】C67.下列程序段的输出结果是__________。A.10,20B.20,10C.20,20D.10,10【答案】Cwww.handebook.com第18页,共42页68.以下数组定义正确的是__________。A.B.C.D.【答案】A69.表达式的值是__________。A.7B.8C.9D.0【答案】D【解析】因为赋值运算符的结合方向是从右向左,先计算表达式x=8,其值为8,变量x的值也为8;这样表达式等价于,即,赋值表达式的值为0,变量x的值也为0;最后计算表达式,它等价于,即,因此,整个表达式的值为0。70.对以下说明语句的正确理解是__________。A.将5个初值依次赋给至B.将5个初值依次赋给至C.将5个初值依次赋给至D.因为数组长度与初值的个数不相同,所以此语句不正确【答案】B71.设有定义语句“;”,则表达式“”的值是__________。A.9B.10C.11D.12【答案】B【解析】本题的重点是理解在VC++6.0环境下计算机中执行加法运算时一次只能对两个数进行加法运算,即“两两相加”。在本题中,执行第一个“i++”,i值没有发生变化,仍为2(该操作要等到整个表达式的计算结束后才执行;执行第二个“++i”,i值由2变为3,此时完成前两个i值的相加(注意,此时的i值为3),即3+3=6;然后,再执行第三个“++i”,i值由3变为4,即前两个i值相加的结果6再加上这第三个“++i”的值4,最终得到的结果为10。故选B。72.对于以下的变量定义,表达式__________是不正确的。A.B.C.D.【答案】D【解析】选项D应改为。本题答案为D。www.handebook.com第19页,共42页73.若有定义则能够正确表示数组元素的表达式是__________。A.B.C.D.【答案】D【解析】选项A写法错误,选项B相当于数组元素,选项C是一级地址(即数组元素的地址)。74.以下程序段的输出结果是__________。A.输出321B.输出23C.不输出任何内容D.死循环【答案】B75.已知,下列语句中语句能够执行的是__________。A.B.C.D.【答案】B【解析】在选项A中,由于条件a为假,不会执行语句;在选项B中,a=b是一个赋值表达式,其值为赋值后变量a的值,即4,由于条件为真,会执行语句;在选项C中,由于条件为假,不会执行语句;在选项D中,b-a等于4,为0,由于条件为假,不会执行语句。76.若有“”,则与“”等价的语句是__________。A.B.C.D.【答案】B【解析】此题涉及的知识点是指向变量的指针变量的应用,以及“”和“”两个运算符的使用。首先定义指针变量P,使其指向变量i的地址,则表示的是i,表示的是变量j的地址,表示的是变量j,是错误的,因为P并不是二维指针,所以此题的答案是B。77.已知各变量的类型定义如下:则以下不符合C语言语法的表达式是__________。A.x%(-3)B.w+=-2www.handebook.com第20页,共42页C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)【答案】A【解析】%运算符只能用于整型数。本题答案为A。78.已有定义,且ptrl和ptr2均已指向变量k,则下面不能正确执行的赋值语句是__________。A.B.C.D.【答案】B79.以下对枚举类型名的定义中正确的是__________。A.B.C.D.【答案】B【解析】选项A和C有语法错误,选项D中枚举常量只能是符号,不能为字符串。本题答案为B。80.下面程序如果只有一个错误,是(每行代码前面的数字表示行号,不是源程序代码的部分)__________有错误。A.第2行B.第6行C.第4行D.没有错误【答案】C81.若a、b、c、d都是int类型的变量且初值为0,以下选项中错误的赋值语句是__________A.a=b=c=d=100;B.d++;C.c+b;D.d=(c=22)-(b++);【答案】C【解析】选项A中的语句等价于a=100、b=100、c=100、d=100,是合法赋值语句;选项B中,d++算价于d=d+l,是合法赋值语句;选项C中没有赋值运算符;选项D中语句等价于c=22;d=c-b;b++。是合法赋值语句。本题答案为C。82.已知:,则下面叙述正确的是__________。A.T和C都是结构体类型的变量www.handebook.com第21页,共42页B.可以用C定义结构体变量C.T是结构体类型的变量D.C是结构体类型的变量【答案】B【解析】C是结构体类型,而非变量,可以用它来定义结构体变量。83.若有以下说明和语句能正确引用c数组元素的是__________。A.B.C.D.【答案】D84.设有以下结构类型:并且结构体数组st中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下错误的格式是__________。A.B.C.D.【答案】C85.下面程序中有错误的行是(每行代码前面的数字表示行号,不是源代码内容)__________。A.2B.5C.6D.4【答案】B86.C语言的编译系统对宏命令的处理是__________。A.在程序运行时进行的B.与C程序中的其他语句同时进行编译的C.在程序连接时进行的D.在对源程序中其他语句正式编译之前进行的【答案】Dwww.handebook.com第22页,共42页87.C语言中,while和循环的主要区别是__________。A.的循环体至少执行一次B.while的循环体至少执行一次C.do-while的循环体是复合语句D.while的循环体可以是复合语句【答案】A【解析】while循环和do-while循环的循环体都可以是复合语句,但do-while循环是先执行循环体再进行条件表达式的判断。因此,本题的正确选项为A。88.若有以下定义:且变量a和b之间已有如下图所示的链表结构。指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句是__________。图一个单链表的结构A.B.C.D.【答案】C【解析】注意c结点由q指针所指向,即q与相等。本题答案为C。89.变量a中的数据用二进制表示的形式是,变量b中的数据用二进制表示的形式是。若要求将a的高4位取反,低4位不变,所要执行的运算是__________。A.B.C.D.a«4【答案】A90.在函数调用过程中,若函数A调用了函数B,函数B又调用了函数A,则__________。A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言不允许这样的递归调用【答案】B【解析】C语言中函数的递归调用是指在调用一个函数的过程中,又出现了直接(在函数A内又调用了函数A)或间接(在函数A内调用了函数B,而在函数B内又调用了函数A)调用该函数本身。直接调用该函数自身的调用为函数的直接递归调用,而间接调用该函数称为函数的间接递归调用。显然本题所说的函数调用为函数的间接递归调用,故选B。www.handebook.com第23页,共42页91.要把整数赋予整型变量I,则应说明I的类型是__________。A.B.C.D.【答案】B92.以下程序段的描述,正确的是__________。A.是死循环B.循环执行两次C.循环执行一次D.有语法错误【答案】C93.以下叙述正确的是__________。A.一个C程序有且只能有一个main()函数B.一个C程序的main()函数必须放在最前面C.一个C程序可以有多个main()函数D.一个C程序总是从第一个函数开始执行,在程序的最后一个函数中结束【答案】A【解析】该题目考查C语言程序基本结构。因此,本题的正确选项为A。94.假定以下程序经编译和连接后生成可执行文件prog.exe,如果在此可执行文件所在目录的DOS提示符下键入:则输出结果为__________。A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH【答案】D95.以下不正确的描述是__________。A.在函数外部定义的变量是全局变量B.在函数内部定义的变量是局部变量C.函数的形参是局部变量D.局部变量不能与全局变量同名【答案】D96.在一个源文件中定义的全局变量的作用域为__________。A.本文件的全部范围www.handebook.com第24页,共42页B.本程序的全部范围C.本函数的全部范围D.从定义该变量的位置开始至本文件结束为止【答案】D【解析】全局变量的作用域为从定义该变量的位置开始至本文件结束为止。本题答案为D。97.下列函数的功能是__________。A.将a所指字符串赋给b所指空间B.将a所指字符串和b所指字符串进行比较C.使指针b指向a所指字符串D.检查a和b所指字符串中是否有【答案】A98.若x和y都是int型变量,x=100,y=200,且有下面的程序段:上面程序段的输出结果是_________。A.200B.100C.100200D.输出格式符不够,输出不确定的值【答案】A【解析】(x,y)看成是一个逗号表达式。99.将一个空格赋给字符变量c,正确的赋值语句是__________。A.B.C.c=0D.c=32【答案】D【解析】空格字符(即´´)在内存中存储的是空格的ASCII码32,因此,将整数32赋给字符变量c,相当于给c赋一个空格字符。100.为了避免嵌套的if-else语义的二义性,C语言规定else总是与__________配对。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if【答案】C101.以下错误的语句是__________。A.B.C.D.www.handebook.com第25页,共42页【答案】D102.对于类型相同的两个指针变量,它们之间不能进行__________运算。A.+B.-C.=D.==【答案】A【解析】-表示求两指针间的元素值,=表示赋值,==表示比较,这几种运算都可以。103.已知“”,这两个语句执行后,变量y的值为__________。A.1B.2C.3D.4【答案】A104.以下叙述中错误的是__________。A.C程序中必须有一个main()函数,C程序是从main()函数的第一条语句开始执行的B.非主函数都是在执行主函数时通过函数调用或嵌套调用而执行的C.C程序中的main()函数必须放在程序的开始位置D.C程序中的main()函数的位置可以任意指定【答案】C【解析】C语言规定,main()函数在程序中的位置是任意的,故选项C不正确。105.以下说法不正确的是__________。A.C语言规定,实参可以是常量、变量或表达式B.C语言规定,形参可以是常量、变量或表达式C.C语言规定,实参可以是任意类型D.C语言规定,实参应与其对应的形参类型一致【答案】B106.下面语句中正确的是__________。A.B.C.D.【答案】A【解析】此题涉及的知识点是数组的定义及字符数组的赋值。定义数组时需要指明大小,且不能用赋值语句将一个字符串常量或字符数组直接赋给另一个字符数组,所以此题的答案是A。107.关于函数调用,下面叙述中正确的是__________。A.函数的实参和对应的形参共占同一存储单元B.形参只是形式上的参数,不占用具体存储单元C.调用函数时,实参可以是表达式D.函数的实参和对应的形参,如果名称相同,则它们共占同一存储单元【答案】C【解析】当函数调用时,系统为形参分配内存空间。无论形参与实参的名称是否相同,它们都各自占用自己的存储空间。www.handebook.com第26页,共42页108.若有说明:,则language[2]的值是__________。A.一个字符B.一个地址C.一个字符串D.一个不定值【答案】B109.以下叙述中错误的是__________。A.函数用于从终端读入字符串B.函数用于从磁盘文件读入字符C.函数用于把字符串输出到文件D.函数用于以二进制形式输出数据到文件【答案】B110.若变量已正确定义并赋値,则以下符合C语言语法的语句是__________。A.a=b+lB.a=b=c+2;C.intl8.5%3D.a=a+7=c+b;【答案】B111.以下定义正确的是__________。A.B.C.D.【答案】A112.当用户输入的字符串含空格时,应使用__________函数读入字符串。A.scanf()B.gets()C.getchar()D.getc()【答案】B113.以下选项中,不能作为合法常量的是__________。A.1.234e04B.1.234eO.4C.1.234e+4D.1.234e0【答案】B【解析】选项B错在字母e的右侧是小数。114.以下叙述正确的是__________。A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.结构化程序由顺序、选择和循环三种基本结构组成D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误www.handebook.com第27页,共42页【答案】C115.以下叙述中正确的是__________。A.构成C语言程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义【答案】A116.若文件的内容为,则以下程序的输出结果是__________。A.hellB.helloC.helloeD.helloeveryone【答案】A【解析】是读取一个长度为n-1的字符串,第n个字符为字符串结束标志。117.设有定义:,以下赋值语句中与语句等价的是__________。A.B.C.D.【答案】A【解析】两个指针变量P和q分别指向变量n2和nl。要通过指针变量实现n2=nl,就要将q所指变量的值赋给P所指向的变量,即。118.C语言规定,在一个源程序中,main函数的位置__________。A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后【答案】C119.设变量均已正确定义,若要通过语句为变量a1和a2赋数值10和30,为变量c1和c2赋字符e和f,以下正确的输入是__________。注:表示空格。A.B.www.handebook.com第28页,共42页C.D.【答案】D【解析】本题中的格式控制字符串是其中,表示要输入整数,表示要输入字符,且各控制符之间无任何分隔符,故要求输入的数据之间也不能分开(若要求连续输入的是数据类型,则必须以空格分隔每个数据,因为系统不知道该如何去分隔这一系列数据)。选项A、B、C在10和e之间都加了空格,这会使系统在输入时误将空格赋给cl,从而导致后面的输入全部错位,故选项D符合题意。120.已知,则条件表达式的值是__________。A.4B.3C.2D.1【答案】B【解析】因为条件运算符的结合方向是从右向左,先计算表达式,其值为3,这样表达式等价于表达式,因此,结果为3。121.若有说明,则下列对a数组的第i行第j列(假设i,j已正确说明)元素值的引用正确的是__________(第一个元素为)A.B.C.D.【答案】A122.C语言程序中函数如果没有返回值,则定义时该函数的返回值类型设为__________。A.voidB.intC.floatD.double【答案】A123.若有以下定义和说明:则以下不能将文件内容读入数组a中的语句组是__________。A.B.C.D.www.handebook.com第29页,共42页【答案】D124.阅读以下程序:程序运行后,如果通过键盘输入则输出结果是__________。A.3B.4C.5D.6【答案】B125.while(!x)中的!x与下面的表达式__________等价。A.x==0B.x==lC.x!=5D.x!=0【答案】A126.设有定义语句则strips)的值为__________。A.7B.8C.9D.10【答案】A【解析】字符数组可以存放字符串,但字符数组的长度并不是字符串的长度。字符串的长度是指在字符串结束符1W之前存放在字符数组中的字符个数。本题中,数组s中依次存放的字符是“1234567”及2个字符串结束符’\0’,因此字符串的长度是7。故选A。127.有以下程序:程序运行时键盘输入9<回车>,则输出的结果是__________。A.10B.11C.9D.8【答案】Awww.handebook.com第30页,共42页128.以下关于typedef的叙述不正确的是__________。A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型C.用typedef只是将已存在的类型用一个新的名称来代表D.使用typedef可提高程序的通用性【答案】B129.若要用fopen函数打开一个已存在的文本文件,向该文件尾部增加数据,则文件打开方式应是__________。A.B.C.D.【答案】D130.若二维数组a有m列,则计算任一元素在数组中位置的公式为__________(第一个元素为)。A.B.C.D.【答案】A131.x、y、z定义为int型变量,从键盘给x、y、z输入数据,正确语句是__________。A.B.C.D.【答案】C【解析】该题目考查格式化输入函数的使用。因此,本题的正确选项为C。132.下列叙述中错误的说法是__________。A.C预处理命令行都是以开头B.是正确的宏定义C.C预处理命令行结尾不用分号标识D.C预处理操作是在程序的执行过程进行【答案】D【解析】依据C预处理规定,其操作是在程序的编译阶段完成。因此,本题的正确选项为D。133.以下不正确的定义语句是__________。A.;B.;C.;D.;【答案】B【解析】选项B中,赋值的数组元素个数与数组的下标范围不一致。www.handebook.com第31页,共42页134.字符’0’的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是__________。A.39B.9C.38D.8【答案】B【解析】s是共用体变量r的指针,r的成员i是一个短整型数组,该数组有2个元素,分别为r.i[0]和r.i[1],每个元素占2个字节,在执行s->i[0]=0x39和s->i[l]=0x38后,i中从低位到高位分别为9、3、8、3,对应c[0]的是9。本题答案为B。135.以下程序段的输出结果是__________。A.9B.12C.13D.14【答案】A136.以下叙述中正确的是__________。A.C程序中的注释部分可以出现在程序中任意合适的地方B.花括号和只能作为函数体的定界符C.构成C语言程序的基本单位是函数,所有的函数名都可以由用户命名D.分号是C语言之间的分隔符,不是语句的一部分【答案】A137.以下程序段中调用scanf函数给变量a输入数值的方法是错误的,其原因是__________。A.表示的是指针变量p的地址B.表示的是变量a的值,而不是a的地址C.表示的是指针变量p的值D.只能说明p是一个指针变量【答案】Bwww.handebook.com第32页,共42页138.有以下程序段:编译时出现错误,以下叙述中正确的是__________。A.程序中只有语句错误B.语句错误C.;语句错误D.和语句都错误【答案】A139.假设所有变量均为整型,则表达式的值是__________。A.7B.8C.6D.2【答案】B140.有如下定义:根据上述定义,能输出字母M的语句是__________。A.B.C.D.【答案】D【解析】,。本题答案为D。141.以下语句的输出结果是__________。A.8,16,10B.10,10,10C.8,8,10D.8,10,10【答案】A【解析】010表示八进制数,0x10表示十六进制数,10表示十进制数。格式说明符%d表示以十进制形式输出。142.下列哪一种存储类别用于变量声明而不是变量定义__________。A.B.C.D.www.handebook.com第33页,共42页【答案】C【解析】4个关键字用于说明变量的存储类型,变量声明与变量定义的区别在于,变量声明不给变量分配存储空间,而变量定义需要给变量分配存储空间。这两个概念在单文件程序,尤其是自动局部变量的使用中一般不做区分,但是在涉及全局变量,以及多个文件中使用某一个文件中定义的全局变量时,就需要做严格区分。关键字用于声明一个全局变量而不是定义,其后声明的变量在别的文件或者是本文件的后续位置作为全局变量定义过。其余3个关键字都是在变量定义时出现的,故本题选择C。143.假设整型变量a的值为12,a的地址为2000,若欲使p为指向a的指针变量,则下以赋值正确的是__________。A.;B.;C.;D.;【答案】D144.与k=n++等价的语句是__________。A.B.C.D.【答案】B【解析】该题目考查自增运算符的使用。是先取n的值作为整个表达式的值,然后将n加1。因此,本题的正确选项为B。145.设有以下语句:则下面叙述中正确的是__________。A.PER是结构体变量名B.PER是结构体类型名C.typedefstruct是结构体类型D.struct是结构体类型名【答案】B【解析】采用typedef指定一个无名的结构体类型的名称为PER,也就是说定义了一个名称为PER的结构体类型。本题答案为B。146.设有如下定义,则语句的输出结果是__________A.1B.0C.4D.3【答案】D【解析】返回x/y的结果即3,所以z=3,输出z之值。本题答案为D。www.handebook.com第34页,共42页147.C程序中,正确表示“10<a<20或a>30”的条件表达式为__________。A.B.C.D.【答案】B【解析】10<a<20意在判断a的值是否介于10〜20之间,但是如果在C程序中如此表示,则是错误的,正确的表示方法是。下面解释这两种表示方法的不同之处。假设有定义:inta=30;表达式10<a<20分两步运算。第1步计算l0<a为真(1),第2步计算1<20为真(1)。但是变量a的值是30,并不介于10~20之间,用这个表达式判断的结果是错误的。表达式a>10&&a<20分三步运算。第1步计算a>l0为真(1),第2步计算a<20为假(0),第3步计算1&&0为假(0),于是判断的结果是正确的。该表达式中,“>”和“<”是同级运算符,优先级髙于&&。148.C语言源程序名后缀是__________。A..exeB..cC..objD..cp【答案】B【解析】C语言源程序名后缀可以是“.c”或“.cpp”,故选B。149.编写C程序一般需要经过的几个步骤依次是__________。A.编译、编辑、链接、调试、运行B.编辑、编译、链接、运行、调试C.编译、运行、调试、编辑、链接D.编辑、调试、编辑、链接、运行【答案】B【解析】C程序设计一般要经历4个基本步骤:编辑(产生.c源文件)、编译(产生.obj目标文件)、链接(产生.exe可执行文件)、运行。若程序有错误,还应对程序进行调试。150.使用函数,则打开文件的方式必须是__________。A.只写B.添加C.读或读/写D.B和C都正确【答案】C【解析】函数的功能是从指定文件中读一个字符,所以文件必须以读或读/写的方式打开。本题答案为C。www.handebook.com第35页,共42页151.设有以下函数:如果在下面的程序中调用该函数,则输出结果是__________。A.789B.7911C.71013D.777【答案】A【解析】f函数中的c为静态变量,第1次调用时c置初值3,退出该函数时c不会释放存储空间,以后再调用f时,不再给c置初值,直接使用其以前的结果。本题答案为A。152.以下叙述正确的是__________。A.C语言允许main函数带参数,且参数个数和形参名均可由用户任意指定B.C语言允许main函数带参数,形参名只能是argc和argvC.当main函数带有形参时,传给形参的值一般从命令行中得到D.若有说明:,则形参argc的值必须大于1【答案】C153.已知:则以下叙述正确的是__________。A.循环控制表达式的值为0,不执行循环体B.循环控制表达式的值为1,执行循环体C.循环控制表达式不合法D.以上说法都不正确【答案】B【解析】t=l是一个赋值表达式,赋值表达式的值为赋值后运算符左侧变量的值,所以循环控制表达式的值为1,执行循环体。154.若有以下定义语句,则下列选项中正确的是__________。A.B.www.handebook.com第36页,共42页C.D.【答案】C【解析】switch语句中表达式的值必须是整型或字符型数据,与之对应,case后面的常量,也应为整型或字符型常量,按照这一原则选项B和选项D不正确;在选项A中,取余的两个操作数都应为整数,这样表达式不正确,因此,只有选项C是正确的。155.以下程序运行后的输出结果是__________。A.11B.19C.13D.20【答案】B【解析】本题的二维数组元素分布如图所示,循环过程如下。第1次循环:i=0,s=s+aa[0][l]=0+2=2。第2次循环:i=l,s=s+aa[l][l]=2+6=8。第3次循环:i=2,s=s+aa[2][l]=8+9=17。第4次循环:i=3,s=s+aa[3][l]=17+2=19。最后输出s的值为19。图www.handebook.com第37页,共42页156.有x、y、z三个整型变量,在执行“x=y=1;z=x++,y++,++y;”完成后,x、y、z的值为__________。A.2,3,1B.2,3,2C.2,3,3D.2,2,1【答案】A【解析】该题目考查逗号表达式的使用。完成第一个语句“x=y=l;”后,x=l,y=l。第二语句完成后z=l,x=2,y=3。因此,本题的正确选项为A。157.设有定义语句则数组元素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。158.当顺利执行了文件关闭操作时,函数的返回值是__________。A.-1B.TRUEC.0D.1【答案】C159.如下程序,运行时输入”China?”其执行结果是__________。A.chinaB.china?C.ChinaD.China?【答案】A【解析】最后输入的“?”不会输出。本题答案为A。www.handebook.com第38页,共42页160.设有定义:,以下选项的4个表达式中与其他3个表达式的值不相同的是__________。A.B.C.D.【答案】A【解析】选项A中表达式的值为0,其他选项表达式的值都为1。161.将一个函数指定为static存储类别后,该函数将__________。A.既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用B.只能被同一源文件中的函数调用,不能被其他源文件中的函数调用C.只能被其他源文件中的函数调用,不能被同一源文件中的函数调用D.既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用【答案】B【解析】静态函数只能被同一编译单元(源文件)中的函数所调用。本题答案为B。162.下列说法正确的是__________。A.结构体和共用体可以相互互用B.结构体与共用体变量都可以作为数组元素C.结构体与共用体在程序运行中原理一样D.结构体和共用体都不能用作定义全局变量【答案】B【解析】结构体与共用体是两种不同的类型,对其中成员空间的处理有不同的机制,故不可混用,所以答案A不对。结构体与共用体在程序运行中,对于内部元素的空间使用方法不同,所以答案C不对。共用体与结构体都是C语言支持的数据类型,可以定义该种类型的全局变量,所以D不对。因此,本题的正确选项为B。163.计算机中的所有信息都是以__________的形式存储在机器内部。A.字符B.二进制编码C.BCD码D.ASCII码【答案】B164.设有定义:,以下能给数组x下标为5的元素读入数据的语句是__________。A.B.C.D.【答案】C【解析】选项A,数组元素的类型是double,对应的格式控制符应为,不正确。选项B,表示,不正确;选项C,指针P指向x数组的首元素,P+5表示的地址,正确;选项D,相当于,不正确。165.以下选项中能表示合法常量的是__________。A.B.www.handebook.com第39页,共42页C.D.【答案】A【解析】选项B中E后面必须为整型。选项C反斜杠需要转义。选项D中不能有逗号。因此,本题的正确选项为A。166.有以下程序段:while循环执行的次数是__________。A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次【答案】A167.数据块读函数中,表示__________。A.一个文件指针,代表要读的文件B.一个整型变量,代表要读取的次数C.一个地址,表示将读取的数据存入以为首址的内存空间中D.一个整型变量,代表要读入的数据总量【答案】C168.下面的表达式正确的是__________。A.B.C.D.【答案】Dwww.handebook.com第40页,共42页169.下面程序的功能是将已按升序排列的两个字符串a和b中的字符按升序归并到字符串c中。①A.B.C.D.②A.B.C.D.③A.B.C.D.④A.B.C.D.【答案】①A、②B、③C、④D170.若有如下定义和语句,则输出结果是__________。A.10,20B.10,10C.20,10D.20,20【答案】D【解析】此题涉及的知识点是变量、一级指针、二级指针的关系。通过赋值语旬“”使二级指针变量PP指向了一级指针变量P,又通过两个赋值语句“”和“”使一级指针变量p指向变量b,此时,代表的是b,代表的也是b,所以此题的答案是D。www.handebook.com第41页,共42页171.能正确表示a和b同时为正或同时为负的逻辑表达式是__________。A.B.C.D.【答案】D172.设变量已正确定义并赋值,以下正确的表达式是__________。A.B.C.D.【答案】A【解析】选项B和D中取余运算的运算数只能是整数。选项C中不能将一个表达式赋值给另一个表达式。因此,本题的正确选项为A。173.设有定义语句“,,;”,则下面选项中值为0的表达式是__________。A.B.C.D.【答案】A【解析】计算逻辑表达式要注意以下三点:(1)逻辑运算符优先级从高到低的顺序是“!”“&&”“||”。(2)“&&”左边的表达式为“假”或“||”左边的表达式为“真”时就能够得出整个表达式的值,而无须再计算“&&”或“||”右边的表迖式(即忽略其右边的表达式)。(3)逻辑值能够自动转换为整数值,即“真”=1,“假”=0,整数值也能自动转换为逻辑值,即0=“假”,非0=“真”。选项A中,(忽略“&&”右边的表达式)。选项B中,。选项C中,。选项D中,(忽略“||”右边的表达式)。故选A。174.下列定义变量的语句中错误的是__________。A.B.C.D.【答案】D【解析】定义变量的语句应以分号结尾。175.算法的空间复杂度是指__________。A.算法在执行过程中所产生临时数据占用的存储空间B.算法所执行的语句个数C.算法所处理的数据量大小www.handebook.com第42页,共42页D.算法在执行过程中所需要的计算机存储空间【答案】D【解析】该题目考查算法空间复杂度的定义。因此,本题的正确选项为D。176.以下数组定义中不正确的是__________。A.B.C.D.【答案】D【解柝】选项D错在数组d定义时缺省了列长度,而语法规定只允许缺省行长度,不能缺省列长度。
/
本文档为【2021年武汉轻工大学电气与电子工程学院341农业知识综合三考研核心题库之C语言程序设计选择题精编】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索