在线网课知道智慧《C语言程序设计(山盟-菏泽学院)》单元测试考核答案_第1页
在线网课知道智慧《C语言程序设计(山盟-菏泽学院)》单元测试考核答案_第2页
在线网课知道智慧《C语言程序设计(山盟-菏泽学院)》单元测试考核答案_第3页
在线网课知道智慧《C语言程序设计(山盟-菏泽学院)》单元测试考核答案_第4页
在线网课知道智慧《C语言程序设计(山盟-菏泽学院)》单元测试考核答案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章单元测试第二章单元测试第三章单元测试第四章单元测试第五章单元测试第六章单元测试第七章单元测试第八章单元测试第九章单元测试第十章单元测试第十一章单元测试第十二章单元测试第十三章单元测试第十四章单元测试第一章单元测试1【单选题】(10分)能将高级语言编写的源程序转换为目标程序的是()。A.编译程序B.解释程序C.链接程序D.编辑程序2【单选题】(10分)C语言的注释定界符是()。A.()B./**/C.[]D.{}3【单选题】(10分)以下标识符中,不能作为合法的C用户定义标识符的是()。A.IFB.voidC.a3_b3D._1234【单选题】(10分)C语言源程序的基本单位是()。A.过程B、函数C、子程序D、标识符B.函数C.标识符D.子程序5【单选题】(10分)计算机能直接执行的程序是用()程序设计语言编写的。A.机器语言B.C语言C.汇编语言D.C++6【单选题】(10分)C程序中main函数的位置是()。A.必须在程序的中间位置B.可以任意位置C.必须在程序的开始D.必须在程序的最后7【单选题】(10分)C语言程序上机调试步骤是()。A.编写源程序、执行B.编写源程序、组建、执行C.编写源程序、编译、组建、执行D.编写源程序、编译、执行8【判断题】(10分语句的结束标志是冒号“:”。A.对B.错9【判断题】(10分C程序中1条语句必须写在1行。A.对B.错10.【多选题】(10分)正确答案:CD属于低级语言的是()。A.C语言B.JAVA语言C.汇编语言D.机器语言第二章单元测试1【单选题】(5分)C语言中,最基本的数据类型是()A.整型,实型,逻辑型B.整型,实型,字符型,逻辑型C.整型,实型,字符型D.整型,字符型,逻辑型2【单选题】(5分)以下不合法的整型常量是()。A.0xabcB.12345C.147D.683【单选题】(5分)以下浮点数的表示不正确的是()。A.7.19E21B.12.E2C.22.3D.e234【判断题】(5分C程序中变量可以不定义而直接使用。A.对B.错5【判断题】(5分不能将字符串赋给字符变量。A.错B.对6【单选题】(5分)以下不合法的实型常量是()。A.5.0B.0.5C..5D.57【单选题】(5分)以下哪个是字符数据类型关键字()。A.charB.CHARC.cD.string8【判断题】(5分在程序运行期间,变量可以多次被赋值。A.对B.错9【单选题】(5分)以下关于符号常量的说法正确的是()。A.使用符号常量不仅便于程序的调试和维护,还能大大提高程序的运行速度B.可以将圆周率这个常量值定义为符号常量,定义方法为:#definePI=3.1415926C.符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其作用域内不能改变D.符号常量名可以不遵循C语言的标识符和命名规则10【单选题】(10分)以下定义变量的语句错误的是()。A.Doublea1;B.doublez1;C.floaty1;D.intx1;11.【多选题】(10分)正确答案:ABC以下能正确定义变量并给变量赋值的是()。A.inta,b;a=b=6;B.inta=5,b=5;C.inta=5,b;b=5;D.inta=b=5;12.【多选题】(10分)正确答案:ABC以下是合法C语言常量的是()。A.012B.‘a’C.“a”D.e-213.【多选题】(5分)正确答案:ABC以下合法的C语言整型常量是()。A.-0xffffB.160C.011D.01a14【单选题】(5分)若已定义inta=11;执行printf("a=%d,a=%o,a=%x",a,a,a);语句后的输出结果是()。A.a=11,a=13,a=bB.a=11,a=13,a=cC.a=11,a=12,a=13D.a=11,a=11,a=b15【单选题】(5分)函数putchar(65)的功能是向终端输出()。A.6B.有编译错误C.65D.A16【判断题】(5分使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。A.对B.错17【判断题】(5分getchar()和scanf()均为输入函数,它们之间可通用,没有任何区别。A.对B.错第三章单元测试1【单选题】(5分)若变量已正确定义,表达式(j=3,j++)的值是____。A.3B.6C.5D.42【单选题】(5分)若"intn;floatf=13.8;",则执行"n=(int)f%3"后,n的值是()。A.1B.4.6C.4.33333D.43【单选题】(5分)若有定义“chara;intb;floatc;doubled;”,则表达式“a*b+d-c”值的类型为____。A.charB.doubleC.floatD.int4【单选题】(5分)若x为浮点型,则表达式x=10/4为()。A.2.0B.3C.2.5D.25【单选题】(5分)假设字符变量ch中存放有小写英文字母,将其转换为相应的大写英文字母的表达式是()。A.tolower(ch)B.ch=ch+32C.ch-='a'+'A'D.ch=ch-'a'+'A'6【单选题】(5分)C语言中,要求运算对象只能为整数的运算符是()。A.*B./C.D.%7【判断题】(5分为了确保表达式n/2的值为float型,可写成float(n/2)。A.对B.错8【单选题】(5分)若有定义:inta=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()。A.2.0B.1.4C.2D.19【单选题】(5分)设有i=10,在表达式j=i--,则j的值是()。A.9B.8C.10D.1110【单选题】(5分)在C语言程序中,表达式5%2的结果是()。A.3B.2C.2.5D.111【单选题】(5分)若x、i、j和k都是int型变量,则计算x=(i=4,j=16,k=32)表达式后,x的值是()。A.52B.4C.32D.1612【判断题】(5分设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y的值。A.对B.错13【单选题】(5分)若变量已正确定义,以下合法的赋值表达式是()。A.++(a+b)B.a=a/(b=5)C.y=int(a)D.a=1/b=214【单选题】(5分)逻辑运算符两侧运算对象的数据类型()。A.只能是0或非0正数B.可以是任何类型的数据C.只能是0或1D.只能是整型或字符型数据15【判断题】(5分在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。A.错B.对16【单选题】(5分)若a为int型,且其值为3,则执行完表达式:a+=6后,a的值是()。A.12B.3C.6D.917【判断题】(5分单目运算符、赋值运算符和条件运算符均为右结合性。A.对B.错18【单选题】(5分)能表示x为偶数的表达式是().A.x%2B.x%2==0C.x%2==1D.x%2!=019【单选题】(5分)已知inti=10;表达式'3<=i<=5'的值是()A.1B.19C.20D.020【单选题】(5分)能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x=1)||(x<=10)||(x=200)||(x<=210)<!--=10)||(x--B.(x=1)||(x<=10)(x=200)||(x<=210)<!--=10)&&(x--C.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()D.(x=1)(x<=10)||(x=200)(x<=210)<!--=10)||(x--第四章单元测试1【单选题】(10分)以下程序运行时,输入的x值在()范围时才会有输出结果。A.大于3且不等于10的整数B.不等于10的整数C.小于3的整数D.大于3且等于10的整数2【单选题】(10分)若a是基本整型变量,c是单精度实型变量,输入语句____是错误的。A.scanf("d=%d,c=%f”,a,c);B.scanf("%d%f”,a,c);C.scanf("%d,%f”,a,c);D.scanf("%d%f”,a,c);3【单选题】(10分)main(){inta=2,b=-1,c=2;if(a<b)c=0;elsec++;printf(“%d”,c);}该程序的输出结果是()A.2B.0C.3D.14【单选题】(10分)有以下程序<stdio.hmain(){intx=1,y=2,z=3;if(xy)if(y<z)printf(“%d”,++z);elseprintf(“%d”,++y);printf(“%d”,x++);}</stdio.h程序的运行结果是()A.321B.3C.1D.315【单选题】(10分)若x=0,y=3,z=3,以下表达式值为0的是()。A.!xB.x%2y==zC.x<y?1:0D.y=x||z/36【判断题】(10分在C程序中,运算符%仅能用于整型数的运算。A.错B.对7【单选题】(10分)有以下程序<stdio.hvoidmain(){inta;scanf(“%d”,a);if(a<9)printf(“%d”,a);elseprintf(“%d”,a--);}程序运行时键盘输入9<回车,则输出的结果是()<!--回车--</stdio.hA.8B.11C.10D.98【单选题】(10分)为了避免嵌套的if—else语句的二义性,C语言规定else总是与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的最近的ifC.同一行上的ifD.在其之前未配对的if9【判断题】(10分赋值运算符的结合性为左结合。A.对B.错10【单选题】(10分)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是()A.必须是整数值B.可以是任意合法的数值C.必须是正数D.必须是逻辑值第五章单元测试1【单选题】(10分)设有程序段intm=20;while(m=0)m=m++;以下说法正确的是()A.循环是无限循环B.while循环执行10次C.循环体语句一次也不执行D.循环体语句执行一次2【单选题】(10分)以下叙述正确的是()。A.do-while语句构成的循环不能用其它语句构成的循环来代替.B.用do-while语句构成的循环,在while后的表达式为非零时结束循环.C.用do-while语句构成的循环,在while后的表达式为零时结束循环D.do-while语句构成的循环只能用bak语句退出.3【单选题】(5分)在以下给出的表达式中,与do--while(E)语句中的(E)不等价的表达式是()。A.(!E==0)B.(E!=0)C.(E==0)D.(E0||E<0)4【单选题】(5分)对for(表达式1;;表达式3)可理解为()。A.for(表达式1;表达式1;表达式3)B.for(表达式1;表达式3;表达式3)C.for(表达式1;0;表达式3)D.for(表达式1;1;表达式3)5【单选题】(5分)从循环体内某一层跳出,继续执行循环外的语句是()。A.turn语句B.continue语句C.空语句D.bak语句6【单选题】(10分)下列程序的输出为()。main(){inty=10;while(y--);printf(“y=%d”,y);}A.y=0B.y=-1C.y=1D.while构成无限循环7【单选题】(5分)若i为整型变量,则以下循环执行次数是()。for(i=2;i==0;)printf(“%d”,i--);A.无限次B.2次C.0次D.1次8【单选题】(5分)C语言中while和do-while循环的主要区别是()。A.do-while允许从外部转到循环体内B.do-while的循环体至少无条件执行一次C.do-while的循环体不能是复合语句D.while的循环控制条件比do-while的循环控制条件更严格9【单选题】(10分)有以下程序<stdio.hmain(){inta=1,b=2;while(a<6){b+=a;a+=2;}printf(“%d,%d”,a,b);}程序运行后的输出结果是()</stdio.hA.6,1B.5,11C.7,1D.7,1110【单选题】(10分)有以下程序段intn=0,p;do{scanf(“%d”,p);n++;}while(p!=12345n<3);此处do-while循环的结束条件是______。A.p的值不等于12345或者n的值小于3B.p的值不等于12345并且n的值小于3C.p的值等于12345并且n的值大于等于3D.p的值等于12345或者n的值大于等于311【单选题】(5分)以下程序段中的变量已正确定义for(i=0;i<4;i=i+2)for(k=1;k<3;k++)printf('*');程序段的输出结果是()A.****B.********C.*D.**12【单选题】(10分)以下程序的运行结果是()。main(){inti,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b0){b--;k++;}}printf(“k=%d,b=%d”,k,b);}A.k=8,b=-1B.k=3,b=0C.k=8,b=-2D.k=3,b=-113【判断题】(5分循环结构中的continue语句是使整个循环终止执行A.错B.对14【判断题】(5分while和do…while循环不论什么条件下它们的结果都是相同的.A.对B.错第六章单元测试1【单选题】(10分)在一个被调用函数中,关于turn语句使用的描述,错误的是()A.被调用函数中可以不用turn语句B.被调用函数中,如果有返回值,就一定要有turn语句C.被调用函数中可以使用多个turn语句D.被调用函数中,一个turn语句可以返回多个值给调用函数2【单选题】(10分)以下()函数的定义是错误的?A.voidf(inti){turni+1;}B.voidf(){}C.voidf(inti){}D.intf(){turn0;}3【单选题】(5分)C语言中函数返回值的类型是由()决定的。A.调用函数时临时决定B.定义函数时所指定的函数类型C.调用该函数的主调函数的类型D.turn语句中的表达式类型4【单选题】(5分)C语言规定,必须用()作为主函数名。A.mainB.includeC.stdioD.Function5【单选题】(10分)下列说法正确的是()。A.main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的B.main函数必须放在C程序的开头C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D.main函数必须放在C程序的最后6【单选题】(10分)以下程序的输出结果是()。voidfun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(“%d”,a);}A.29B.无定值C.0D.317【单选题】(10分)C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:()。A.地址传递B.单向值传递C.由用户指定传递方式D.双向值传递8【单选题】(5分)以下函数头定义正确的是:()。A.doublefun(intx,y)B.doublefun(intx;inty)C.doublefun(intx,inty)D.doublefun(intx,inty);9【单选题】(10分)现有如下程序#include“stdio.h”intfun(intx){printf(“x=%d”,++x);}intmain(){fun(12+5);turn0;}则程序的输出结果是()。A.x=18B.x=17C.x=13D.x=1210【单选题】(10分)有以下程序,执行后输出的结果是()。voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}}main(){inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf('%d,%d,%d',a,b,c);}A.4,3,5B.5,4,3C.3,4,5D.5,3,411【单选题】(5分)以下关于C语言程序中函数的说法正确的是:()。A.函数的定义不可以嵌套,但函数的调用可以嵌套B.函数的定义和调用均不可以嵌套C.函数的定义和调用都可以嵌套D.函数的定义可以嵌套,但函数的调用不可以嵌套12【判断题】(5分turn语句在一个函数体内只能有一个。A.对B.错13【判断题】(5分在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。A.错B.对第七章单元测试1【单选题】(10分)凡是函数中未指定存储类别的局部变量,其隐含的存储类别是____。A.gisterB.autoC.externD.static2【单选题】(20分)下列程序的输出结果是()。#include<stdio.hintf(intn){staticintk,s;n--;for(k=n;k0;k--)s+=k;turns;}intmain(void){intk;k=f(3);printf("(%d,%d)",k,f(k));turn0;}A.(6,6)B.(6,12)C.(3,6)D.(3,3)3【单选题】(10分)在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()。A.gisterB.autoC.staticD.extern4【单选题】(10分)以下程序的输出结果是()。#defineMAX(x,y)(x)(y)?(x):(y)main(){inta=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf('%d',t);}A.60B.7C.70D.65【单选题】(10分)变量的有效范围与其定义的位置有关,()的作用域在整个源程序文件中都有效。A.在定义第一个函数之前所定义的变量B.在第一个函数中定义的变量C.在主函数中定义的变量D.在函数中定义的静态变量6【单选题】(10分)以下关于编译预处理的叙述中错误的是()。A.预处理命令行必须以#开始B.预处理命令不是C语言本身的组成部分C.一条有效的预处理命令必须单独占据一行D.预处理命令行只能位于源程序中的所有语句之前7【单选题】(10分)如果在一个函数中的复合语句中定义了一个变量,则该变量()。A.只在该复合语句中有效B.在该函数中有效C.为非法变量D.在本程序范围内有效8【判断题】(10分进行宏定义时,宏名必须使用大写字母表示。A.错B.对9【判断题】(10分在C语言中,在gister寄存器中存储变量比在内存中存储变量运算速度快。A.对B.错第八章单元测试1【单选题】(10分)下面的程序段将输出▁▁▁▁▁。doublea[]={1,2,3,4,5};printf("%d",sizeof(a));A.5B.0C.48D.402【单选题】(10分)下面程序的运行结果是()#include<stdio.hintmain(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;bak;case1:a[i]--;}bak;}for(i=0;i<4;i++)printf("%2d",a[i]);printf("");turn0;}A.3040B.2050C.3344D.03043【单选题】(10分)以下正确地定义了一维整型数组a的语句组是()A.intn=10,a[n];B.intn;scanf(“%d”,n);inta[n];C.inta[SIZE];(在程序开始有#defineSIZE10)D.inta(10);4【单选题】(10分)假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};则数组x在内存中所占字节数是()。A.20B.3C.10D.65【单选题】(10分)在C语言中,一维数组的定义方式为:类型说明符数组名().A.[整型变量]B.[整型表达式]C.[整型常量]或[整型表达式]D.[整型常量表达式]6【单选题】(5分)若有说明:inta[10];,则对a数组元素的正确引用是().A.a[10-10]B.a(5)C.a[10]D.a[3.5]7【单选题】(5分)下面关于数组的描述不正确的是().A.数组是构造数据类型B.同一个数组共用一个数组名C.数组是基本数据类型D.数组是相同数据类型的集合8【单选题】(5分)以下能对一维数组a进行正确初始化的语句形式是().A.inta[3]=(10,5,8);B.inta[10]=(0,0,0,0,0);C.inta[]={0};D.inta[10]={};9【单选题】(10分)若有定义:intx[10]={1,2,4};则数组元素x[4]的值是()。A.0B.4C.1D.210【单选题】(10分)若有说明:inta[5];,则下面可以输出数组a中所有元素值的是()。A.while(b[i]!='')printf("%d",a[i]);B.for(i=0;i<5;i++)printf("%d",a[i]);C.printf(“%d”,a);D.for(i=1;i<=5;i++)printf(“%d”,a[i]);11【单选题】(5分)下列不是给数组的第一个元素赋值的语句是().A.inta[4];scanf("%d",a);B.a[1]=2;C.inta[4]={2*3};D.inta[4]={1};12【判断题】(5分若有说明:inta[10]={6,7,8,9,10};则该语句不正确,因为数组长度与初值个数不相同。A.错B.对13【判断题】(5分一般地,一维数组各元素分配在连续地内存单元之中。A.错B.对第九章单元测试1【单选题】(10分)有两个字符数组s1,s2,则以下正确的输入格式是()A.gets("s1"),gets("s2");B.scanf("%s%s",s1,s2);C.scanf("%s%s",s1,s2);D.gets(s1,s2);2【单选题】(10分)以下不能对二维数组a进行正确初始化的语句是()A.inta[][3]={1,2,3,4,5,6};B.inta[2][3]={{1,2},{3,4},{5,6}};C.inta[2][3]={0};D.inta[][3]={{1,2},{0}};3【单选题】(10分)以下对二维数组a的正确说明是()A.floata(3,4);B.inta[3][];C.floata[3][4];D.floata(3)(4);4【单选题】(10分)若有说明:inta[][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是()A.无确定值B.4C.3D.25【单选题】(10分)有以下程序段:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d”,a[1][5]);,执行后输出的结果是()A.10B.编译有错误C.11D.46【单选题】(5分)若有初始化语句:inta[3][4]={0};,则下面正确的叙述是()。A.数组a中各元素都可得到初值,但其值不一定为0B.此初始化语句不正确C.只有元素a[0][0]可得到初值0D.数组a中每个元素均可得到初值07【单选题】(5分)如有说明:inta[3][4];,则对a数组元素的正确引用是()。A.a[1+1][0]B.a[1,3]C.a(2)(1)D.a[3][4]8【单选题】(5分)对两个数组a和b进行初始化:chara[]=“ABCDEF";charb[]={'A','B','C','D','E','F'};则以下叙述正确的是()A.a与b中都存放字符串B.a的长度比b长C.a与b数组完全相同D.a与b长度相同9【单选题】(5分)下列能正确定义二维实型数组a的选项是().A.floata[3][];B.floata(3,4);C.floata[3][4];D.floata[3][]={{1},{0}};10【单选题】(5分)下面描述正确的是().A.字符个数多的字符串比字符个数少的字符串大B.字符串"That"小于字符串"The"C.两个字符串所包含的字符个数相同时,才比较字符串D.字符串"STOP□"与“STOP"相等(其中□表示1个空格)11【单选题】(5分)若有定义:chara[4]="abc",b[20]="Hello";,则执行语句strcat(b,a);后,数组b中的内容为().A.abcHelloB.HelloabcC.abcD.Hello12【判断题】(5分字符数组中的数据存储时必须以'\0'结尾。A.错B.对13【判断题】(5分有定义:chara[]="1";则a数组的长度是2。A.对B.错14.【多选题】(5分)正确答案:ACD下列字符串赋值语句中,能正确把字符串Cprogram赋给数组的语句是()A.chara[10]={'C','','p','r','o','g','r','a','m',''};B.chara[]={'C','','p','r','o','g','r','a','m'};C.chara[10]={"Cprogram"};D.chara[10];strcpy(a,"Cprogram");15.【多选题】(5分)正确答案:ABC如有说明:inta[3][4];,则对a数组元素的合法引用是()A.a[2][0]B.a[0][2]C.a[1][3]D.a[0][4]第十章单元测试1【判断题】(10分for(j=h+1;j<=max-1;j++)printf("%04d",a[j]);输出结果中,若数组小于1000则前面显示前导字符0.A.错B.对2【判断题】(10分程序能实现求20的阶乘值。ints=1;n=1;for(n=1;n<=20;n++)s=s*n;A.错B.对3【判断题】(10分对数组下标的访问规律变化,可用数组赋指定值实现。A.错B.对4【判断题】(10分扫雷游戏设计数据结构只能用二维数组。A.错B.对5.【多选题】(10分)正确答案:ABCDE程序设计基本过程包括:A.理解题意,分析需求。B.总体设计和详细设计C.界面设计。D.代码的编写、调试、运行。E.确定数据的组织形式即数据结构。6【单选题】(5分)一个递归算法必须包括()。A.终止条件和递归部分B.终止条件和循环部分C.递归部分D.循环部分7【单选题】(5分)对于递归函数f,调用f(4),其返回值为()。intf(intn){if(n)turnf(n-1)+n;elseturnn;}A.0B.其余选项均不是C.4D.108【单选题】(5分)调用函数f(27)的输出结果是()。voidf(intn){if(n<5)printf("%d",n);else{printf("%d",n%5);f(n/5);}}A.20B.102C.201D.219【单选题】(5分)有如下函数调用语句:func(c1,c2+c3,(c4,c5));则该函数调用语句中,含有的实参个数是()。A.3B.有语法错C.4D.510【单选题】(5分)在C语言中,下列错误的说法是。A.对于continue语句,可以通过改变程序的结构而不使用它B.函数可以递归调用C.不允许在函数定义中再定义函数D.递归程序不可能用非递归算法实现11【单选题】(5分)对于以下递归函数f,调用f(4),其返回值为()。intf(intn){turnf(n-1)+n;}A.其余选项均不是B.10C.0D.1112【单选题】(5分)有两个字符数组a,b,则以下正确的输入语句是().A.gets("a"),gets("b");B.gets(a,b);C.scanf("%s%s",a,b);D.scanf("%s%s",a,b);13【单选题】(5分)若用数组名作为函数调用时的实参,则实际上传递给形参的是()。A.数组元素的个数B.数组中全部元素的值C.数组首地址D.数组的第一个元素值14【判断题】(5分对字符串进行输入输出操作时,只能对字符串整体进行输入输出。A.对B.错15【判断题】(5分若有说明:inta[][4]={0,0};则表示二维数组a的第一维大小为1。A.对B.错第十一章单元测试1【单选题】(10分)使用指针变量访问目标变量,也称为对目标变量的()访问。A.直接B.间接C.一般性D.一次性2【单选题】(10分)若有说明:inti,j=7,*p=i;则与i=j;等价的语句是().A.i=**p;B.*p=*j;C.i=j;D.i=p;3【单选题】(10分)inta=2,*p=a,*q=p,则以下非法赋值语句是()。A.a=*q;B.q=a;C.*p=*q;D.p=q;4【单选题】(10分)若有定义“int*p,m=5,n;”,则下列选项中正确的是().A.scanf("%d",n);*p=n;B.p=n;scanf("%d",*p);C.p=n;scanf(“%d”,p);D.p=n;*p=m;5【单选题】(10分)若定义:inta=5,*b=a;则printf(“%d”,*b);的输出结果是()。A.无确定值B.5C.a的地址D.66【单选题】(10分)下列关于指针概念的描述,错误的是().A.指针是变量,它也具有一个内存地址值B.指针中存放的是某变量或对象的地址值C.指针的类型是他所存放的数值的类型D.指针的值是可以改变的7【单选题】(10分)如果x是整型变量,则合法形式为()。A.(x+5)B.*xC.*xD.*x8【单选题】(10分)变量的指针,其含义是指该变量的()。A.值B.名C.一个标志D.地址9【判断题】(10分系统对变量的直接访问是将变量的地址放在另一个内存单元中。A.错B.对10【判断题】(10分“inti,k,*p=i;”中定义的“*p=i;”等价于“int*p;p=i;”。A.错B.对第十二章单元测试1【单选题】(10分)假设scanf语句执行时输入ABCDE<回车,能使puts(s)语句正确输出ABCDE字符串的程序段是__。A.chars[5]={"ABCDE"};puts(s);B.chars[5]={'A','B','C','D','E'};puts(s);C.char*s;s="ABCDE";puts(s);D.char*s;scanf("%s",s);puts(s);2【单选题】(10分)下面程序的运行结果是()。#include<stdio.hintmain(void){intx[5]={2,4,6,8,10},*p,**pp;p=x;pp=p;printf(“%d”,*(p++));printf(”%d”,**pp);turn0;}A.24B.44C.22D.463【单选题】(10分)根据声明inta[10],*p=a;,下列表达式错误的是()。A.a[9]B.p[5]C.a++D.*p++4【单选题】(10分)若有定义“inta[10]={1,2,3,4,5,6,7,8,9,10},*p;”,则下列语句正确的是()。A.for(p=a;p<(a+10);++a)B.for(p=a,a=a+10;p<a;p++)C.for(p=a;p<(a+10);p++)D.for(p=a;a<(p+10);a++)5【单选题】(10分)若有定义“inta[10],*p=a;”,则p+5表示()。A.a[5]的值B.a[4]的地址C.a[5]的地址D.a[6]的值6【单选题】(10分)若有定义chara[]="Iamaboy",*b="Iamaboy";,则下列叙述错误的是()。A.b中存放的地址值可以改变B.a+3表示的是字符m的地址C.b指向其他字符串时,字符串的长度不受限制D.b中存放的地址就是数组a的首地址7【单选题】(10分)若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,则()不是对a数组元素的正确引用(0<=i<=10)。A.a[p-a]B.p[i]C.*(a[i])D.*(*(a+i))8【单选题】(5分)若有定义“inta[5],*p=a;”,能正确引用a数组元素的是()。A.a[5]B.*(a+2)C.a+2D.*(p+5)9【单选题】(5分)设有定义语句“floats[10],*p1=s,*p2=s+5;”,下列表达式错误的是()。A.p2--B.p1=0xffffC.p1-p2D.p1<=p210【单选题】(5分)以下程序段的输出结果是()。char*p[]={"ABC","DEF","GHI"};intj;puts(p[1]);A.BB.ABCC.DEFD.C11【判断题】(5分用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。A.对B.错12【判断题】(5分数组名代表数组的起始地址。A.错B.对13【判断题】(5分有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8)。A.错B.对第十三章单元测试1【单选题】(10分)以下程序运行后的输出结果是____。#include<stdio.hstructs{intx;inty;}data[2]={10,100,20,200};intmain(){structs*p=data+1;printf("%d",p-x);turn0;}A.11B.10C.21D.202【单选题】(10分)有如下定义:structStudent{charname[10];intage;chargender;}std[3],*p=std;则以下各输入语句中错误的是:A.scanf("%s",);B.scanf("%d",(*p).age);C.scanf("%c",std[0].gender);D.scanf("%c",(p-gender));3【单选题】(10分)有如下定义:structdate{intyear;intmonth;intday;};struct{charname[20];charsex;structdatebirthday;}person;下面正确的赋值语句是()。A.birthday.year=1980;B.person.year=1980;C.year=1980;D.person.birthday.year=1980;4【单选题】(10分)共用体变量在程序执行期间()。A.没有成员一直驻留在内存中B.只有一个成员一直驻留在内存中C.所有成员一直驻留在内存中D.部分成员一直驻留在内存中5【单选题】(10分)设有以下定义:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正确的赋值语句是()。A.p=data.a;B.p=data.a;C.*p=data.a;D.p=a;6【单选题】(10分)对于结构体变量的引用,下列叙述正确的是()。A.只能引用结构体变量成员的地址,不能引用结构体变量的地址。B.对结构体成员可以进行各种运算,其中“.”优先级最低。C.如果成员本身就是一个结构体,只能对最低级的成员进行赋值等引用和运算。D.两个同一类型的结构体变量之间不能整体赋值。7【单选题】(5分)以下叙述错误的是()。A.用typedef定义新类型后,原有类型名仍有效B.用typedef可以为各种类型起别名,但不能为变量起别名C.可以用typedef将已存在的类型用一个新的名字代表D.可以通过typedef增加新的类型8【单选题】(5分)在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()。A.q-ne

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论