版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一部分:选择题(40分,2分/小题)第一章程序设计概述第二章C语言概述1、下面关于C语言的叙述中,对的的是()A.每行只能写一条语句B.程序中必须包具有输入语句C.main函数必须位于文献的开头D.每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是()A.若一条语句较长,也可分写在下一行上B.构成C语言源程序的基本单位是表达式C.C语言源程序中大、小写字母是有区别的D.一个C语言源程序可由一个或多个函数组成3、下面叙述错误的是()A.所有语句都必须以分号";"结束B.语句是构成C语言源程序的基本单位C.C语言源程序必须包含一个main()函数D.注释部分在程序编译和运营时不起作用4、C程序中main函数的位置()A.必须位于程序文献的最前面B.必须在系统库函数后面C.可以在自定义函数后面D.必须位于程序文献的最后面5、C语言的函数体由()括起来A.()B.{}C.[]D./**/6、关于C语言的叙述中,不对的的是()A.C程序可由一个或多个函数组成B.C程序必须包含一个main()函数C.C程序的基本组成单位是函数D.注释说明只能位于一条语句的后面7、一个程序的执行是从()A.本程序的第一个函数开始,到最后一个函数结束B.本程序的main函数开始,到main函数结束C.本程序的main函数开始,到最后一个函数结束D.本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是()A.函数结构、分支结构、判断结构B.函数结构、嵌套结构、平行结构C.顺序结构、分支结构、循环结构D.分支结构、循环结构、嵌套结构9、调试程序是指对程序进行()A.编辑B.编译C.查错和排错D.连接10、C语言中,复合语句的构成是将一系列语句置于()A.begin与end之间B.一对圆括号“()”之间C.一对花括号“{}”之间D.一对方括号“[]”之间11、构成C语言源程序的基本单位是()A.语句B.过程C.表达式D.函数12、以下叙述对的的是()。A.注释部分可单独占用一行,也可跟在语句的后面B.函数体定界符也可用一对方括号"[]"C.C语言源程序每一行就是一条语句D.由于C语言源程序都是从main()函数开始执行,所以main()函数必须位于程序文献最前面13、()是结构化程序设计应遵循的原则。A.选用的控制结构可有多个入口和一个出口B.不可使用嵌套基本控制结构表达复杂程序逻辑C.应使用顺序、选择、循环三种基本控制结构表达程序逻辑D.为提高程序效率,应尽量使用goto语句14、描述一个算法可以有不同的方式,常见的有()。A.汇编语言、高级语言和低档语言B.自然语言、流程图和伪代码C.机器语言、汇编语言和高级语言D.高级语言、自然语言和伪代码15、C源程序的编译是指对源程序()A.进行录入与编辑B.生成以二进制代码形式表达的目的程序C.进行查错与解释D.进行连接与运营第三章数据类型、运算符与表达式1、在C语言中,对的的用户标记符是()A.3fB._forC.structD._f.52、C语言的基本数据类型涉及()A.整型、实型、字符型B.整型、实型、字符型、逻辑型C.整型、字符型、逻辑型D.整型、实型、逻辑型3、以下()是对的的常量A.E-5B.1E5.1C.‘a12’4、以下()是对的的变量名A.a.beeB.–p11C.int5、以下()是对的的字符常量A.“c”B.‘//”C.‘W’D.“\32a”6、以下()是不对的的字符串常量A.‘abc’B.“12’12”C.“0”7、C语言的整型数据在内存中的存储形式是()A.原码B.反码C.补码D.ASCII码8、以下()是对的的浮点数A.e3B..62C.2e4.5D.1239、下列不属于C语言关键字的是()A.continueB.integerC.staticD.signed10、C语言的字符型数据在内存中的存储形式是()A.原码B.补码C.反码D.ASCII11、在C语言中,变量所分派的内存空间大小是()A.由变量的类型决定B.由用户自己决定C.任意的D.均为两个字节12、关于C语言数据类型,叙述对的的是()A.变量使用前应定义相应的数据类型B.不允许使用空类型C.指针类型属于基本类型D.结构类型并不是构造类型13、TurboC中,基本数据类型存储空间长度的排列顺序是()A.char<int<longint<float<doubleB.char=int<longint<float<doubleC.char<int<longint<float=doubleD.char=int<longint<float=double14、若有定义:inta=2;则对的的赋值表达式是()A.a-=(a*3)B.double(-1)C.a*3D.a*4=315、语句x=(a=3,b=++a);运营后,x、a、b的值依次为()A.3,3,4B.4,4,3C.4,4,4D.16、语句a=(3/4)+3%2;运营后,a的值为()A.0B.1C.217、以下四项中,符合C语言语法的语句是()A.inta+b=c;B.inta=12:b=12:c=12;C.inta=12,b=12,c=12;D.inta,b=12,floatc=2118、若有定义:intx,a;则语句x=(a=3,a+1);运营后,x、a的值依次为()A.3,3B.4,4C.4,3D.19、若变量已对的定义并赋值,符合C语言语法的表达式是()A.a=8+b+c,a++B.a=3aC.int(12.3%4)D.a=a+1=c+b20、若有定义:inta,b;doublex;则以下不符合C语言语法的表达式是()A.x%(-3)B.a+=-1C.a=b=2D.21、若有定义:intx=2,y=3;floati;则以下符合C语言语法的表达式是()A.x=x*3=2B.x=(y==1)C.i=float(x)D.i%(-3)22、若有定义:intx;则语句x=(2*3)+6%5;运营后,x的值是()A.8B.7C.623、下面关于C语言变量的叙述中,错误的是()A.可以用const关键字定义变量B.在C程序中,SUM和sum是不同的变量C.变量名必须由字母或下划线组成D.变量的类型拟定了变量的取值范围24、若有定义:intx=5,y=6;则表达式x=(y==6)的值为()A.5B.1C.625、下面叙述对的的是()A.2/3与2.0/3.0等价B.(int)2.0/3与2/3等价C.++5与6等价D.‘A’与”A”等价26、下面叙述中,错误的是()A.C语言基本的算术运算符不包含模运算符”%”B.算术运算符的优先级高于关系运算符C.自加和自减运算符的结合方向是”自右向左”D.C语言规定在表达式求值时,按其中运算符的优先级先高后低的顺序进行27、下面叙述对的的是()A.强制类型转换运算的优先级高于算术运算B.若a和b是整型变量,(a+b)++是合法的C.‘A’*’B’是不合法的D.“A”+”B”是合法的28、若有定义:inti=1,j=5;则表达式(++j)*(i--)的值为()A.1B.0C.629、设整型变量a为5,使b不为2的表达式是()A.b=(++a)/3B.b=6-(--a)C.b=a%2D.b=a/230、若有定义:inta=1,b=2,c=3;则语句++a||++b&&++c;运营后b的值为()A.1B.0C.231、若有定义:inti,j;则表达式(i=2,j=5,i++,i+j++)的值是()A.7B.8C.932、若有定义:inta,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是()A.7B.8C.933、若有定义:inti=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为()A.8B.6C.734、若已定义:inti=3,k;则语句k=(i--)+(i--);运营后k的值为()A.4B.5C.635、若已定义:longinti;charc;doublex;则表达式i*c+(int)x结果的类型是()。A.intB.charC.doubleD.longint36、若已定义:floatm;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()A.scanf(“%5.2f”,&m);B.scanf(“%3.2f”,&m);C.scanf(“%6.2f”,&m);D.scanf(“%6f”,&m);37、已知doublea;使用scanf()函数输入一个数值给变量a,对的的函数调用是()A.scanf(“%ld”,&a);B.scanf(“%lf”,&a);C.scanf(“%c”,&a);D.scanf(“%u”,&a);338、已知chara;使用scanf()函数输入一个字符给变量a,不对的的函数调用是()A.scanf(“%d”,&a);B.scanf(“%lf”,&a);C.scanf(“%c”,&a);D.scanf(“%u”,&a);39、putchar()函数的功能是向终端输出()A.多个字符B.一个字符C.一个实型变量值D.一个整型变量表达式40、以下程序段运营后的输出结果是()intk=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A.k=11,k=13,k=cB.k=11,k=12,k=13C.k=11,k=13,k=bD.41、若有定义:intx=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运营后的输出结果为()A.B.31212C.1234+1234+1234D.1234+123+1242、已有如下定义和输入语句,inta;charc1,c2;scanf("%d%c%c",&a,&c1,&c2);若规定a、c1、c2的值分别为10、A和B,对的的数据输入是()A.10ABB.10ABC.10ABD.10AB43、以下程序段的运营结果是()inta=0,b=0,c=0;if(a&&++b)c++;printf(“%d,%d\n”,b,c);A.0,0B.1,2C.2,2D.44、以下程序的运营结果是()voidmain(){inta=65;charc=’A’;printf(“%x,%d”,a,c);}A.65,aB.41,aC.65,65D.41,6545、下列叙述对的的是()A.表达式"3"+"4"的结果是"34"B.若已定义:inta,b;,则表达式(a+b)++是进行a+b之和的自增1运算C.强制类型转换运算的优先级高于算术运算D.表达式'3'+'4'的结果是'7'46、要使用以下程序段给三个整变量x1,x2,x2分别赋值1,2,3,对的的数据输入格式是()intx1,x2,x3;scanf("%d,%d,%d",&x1,&x2,&x3);A.123B.1,2,3C.123D.12347、若有下列语句段:charchr;inta;scanf("%c%d",&chr,&a);拟从键盘将'B'和6分别赋予变量chr和a,对的的数据输入是()。A.B6B.B,6C48、在C语言中,鉴定逻辑值为“真“的最对的的叙述是()A.1B.非0的数C.大于0的数D.非0的整数49、下列程序段的运营结果是()。inta=66;charc='A';printf("%c+%c=%d\n",c,a,c+a);(注:字母'A'的ASCII值为65)A.65+B=131B.A+66=131C50、能对的表达数学关系式800>=y>=500的C语言表达式为()A.(y<=800)&&(y>=500)B.(y<=800)AND(y>=500)C.800>=y>=500D.(y<=800)&(y>=500)51、若有定义:intx=3,y=4;则表达式!x||y的值为()A.1B.0C.352、若有定义:inti=7,j=8;则表达式i>=j||i<j的值为()A.1B.变量i的值C.0D.变量j的值53、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。则不能满足规定的表达式是()A.a%2==1B.!(a%2==0)C.!(a%2)D.a%254、若有定义:intx=3,y=4,z=5;则值为0的表达式是()A.‘x’&&yB.x<=yC.x||y+z&&y-zD.!((x<y)&&!z||1)55、若已定义:inta=1,b=2,c=2;则表达式(a+b)/1.0/c的值是()。A.1.5B.1C56、C语言中,能对的表达条件10<x<20的逻辑表达式是()A.10<x<20B.x>10||x<20C.x>10&&<20D.57、以下运算符中优先级最低的是()A.<<B.&C.>>D.|58、已知doublea=5.2;则对的的赋值表达式是()A.a+=a-=(a=4)*(a=3)B.a=a*3=2C.a%3D.a=double(-2)59、已知chara='R';则对的的赋值表达式是()A.a=(a++)%4B.a+2=3C.a+=256--D.60、已知inta=’R’;则对的的表达式是()A.a%10B.a=int(3e2)C.2*a=a++D.a=a+a=a+361、设有语句floatx=3.0,y=3.0;使x值为6.0的表达式是()A.x*=y-4B.x*=yC.x=y+4D.x+=y62、若有定义:floatx=3.5,intz=8;则表达式x+z%3/4的值为()A.3。75B.3.5C.363、若已定义:intx,y;则下列不能对的表达数学关系式|x-y|>5的表达式是()A.(x-y)>5||(x-y)<-5B.abs(x-y)>5C.(x-y)<-5&&(x-y)>5D.(x-y)*(x-y)>2564、若有定义:inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是()A.3.5B.3.0C.2.565、若有定义:intb=7;floata=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是()A.2.5B.3.5C.4.566、以下程序的运营结果是()#defineM(a,b)a*bmain(){intx=3,y=2,s1,s2;s1=M(x+y,x-y);s2=M(x-y,x+y);printf("%d,%d\n",s1,s2);}A.-1,7B.5,5C.7,-1D.67、以下叙述中,对的的是()A.“#definePRICE=30”定义了与30等价的符号常量B.预编译解决命令行都必须以“#”开头C.程序中使用带参的宏时,参数类型要与宏定义时一致D.宏名只能包含大写字母和数字字符68、以下叙述中,对的的是()A.宏展开不占用运营空间,只占用编译时间B.预编译解决命令行必须以分号结束C.一个源程序只能有一个预编译解决命令行D.使用带参数的宏定义时,应当说明每个参数的数据类型69、以下的叙述中不对的的是()A.宏展开不占用运营时间,只占用编译时间B.宏名无类型C.宏名必须用大写字母表达D.预解决命令行都必须以#号开始70、以下程序运营后,屏幕输出为()#defineMIN(a,b)((a)<(b)?(a):(b))main(){intx=2,y=3,z;z=2*MIN(x,y);printf("%d",z);}A.2B.3C.4D.71、下列#include命令中,对的的是()A.#inclue[string.h]B.#include{string.h}C.#include(string.h)D.#include<string.h>72、下面程序的输出结果是()#include<stdio.h>#defineONE1#defineTWOONE+1#defineTHREETWO+1voidmain(){printf("%d\n",THREE-ONE);}A.产生错误B.1C.2D.73、下列叙述错误的是()。A.预解决命令行都必须以#号开始B.#definePER1.5的作用是用标记符PER代表1.5C.C语言源程序中加入一些预解决命令是为了改善程序设计环境,提高编程效率D.宏定义可出现在源程序中任意合适的位置,且必须在行末加分号74、以下程序的运营结果是()#defineADD(x)x+xmain(){intm=1,n=2,k;k=ADD(m+n)*3;printf("%d",k);}A.9B.10C.12D.75、下面程序的运营结果是()#defineM10#defineS(x)x*x#defineF(x)(x*x)main(){intn1,n2;n1=1000/S(M);n2=1000/F(M);printf("%d,%d\n",n1,n2);}A.10,10B.1000,10C.10,1000D.76.在对无符号数的位运算中,操作数左移一位相称于()。A.操作数除以2 B.操作数乘以2 C.操作数除以4ﻩD.操作数乘以477.若有定义:inta=20,b=28,c;则执行语句c=(a^b)<<2;后c的值为()。A.2B.5ﻩC.32ﻩ78.若有定义:inta=5,b=7,c;则执行语句c=a&b;后c的值为()。A.12 ﻩB.2ﻩ ﻩC.6ﻩﻩﻩD.579.下面程序段的运营结果是()。inta=5,b=6;printf("%d",a|b);A.5ﻩ B.6ﻩﻩ C.7 ﻩD.880、以下程序段运营后,c的二进制值是()。inta=2,b=3,c=10;c>>=a|b;A.00000001B.00000010C.00101000D.01010000第四章程序控制结构1、下列程序段的运营结果是()。inta=6,b=5;if(a>b++)printf("True:%d\n",++a);elseprintf("False:%d\n",b++);A.True:7B.False:6C2、若已定义inta,b,c,k;下列程序段与语句k=(a>b?(a>c?1:0):0);功能等价的是()。A.if((a>b)&&(a>c))k=1;elsek=0;B.if((a>b)||(a>c))k=1;elsek=0;C.if(a>b)k=0;elseif(a>c)k=1;elsek=0;D.if(a>c)k=1;elseif(a>b)k=0;elsek=0;3、下列程序段的运营结果是()。intx;if(x=3)printf("%d\n",x++);elseif(x>3)printf("%d\n",x+2);elseprintf("%d\n",x+3);A.4B.5C4、下列()不能当作一条语句。A.if(k>0)m=1;elsen=2;B.m=1,n=2,k=3;C.if(k>0);D.if(k==0)m=1;n=2;5、以下程序段运营时,若从键盘输入10,则输出结果是()inta;scanf(“%d”,&a);if(a++>10)printf(“%d\n”,a);elseprintf(“%d\n”,++a);A.2B.11C.3D.6、以下程序的运营结果是()voidmain(){intx,y=1,z;z=-1;if(z==0)z=-z;elsex=y>0?3:5;printf(“%d\n”,x);}A.-1B.3C.1D.7、对于整型变量x,下属if语句()与赋值语句:x=x%2==0?1:0;不等价。A.if(x%2!=0)x=0;elsex=1;B.if(x%2)x=1;elsex=0;C.if(x%2==0)x=1;elsex=0;D.if(x%2==1)x=0;elsex=1;8、以下程序段运营的结果是()inta,b,c,x;a=b=c=0;x=15;if(!a)x--;elseif(b);if(c)x=3;elsex+=4;printf("%d\n",x);A.15B.17C.18D.9、若有定义:inta=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为()if(a<b){c=a;a=b;b=c;}A.a=1,b=2,c=3B.a=2,b=3,c=1C.a=2,b=3,c=3D.10、以下程序段运营后变量a的值为()intx=6,y=5;inta;a=(--x==y++)?x:y+1;A.0B.1C.611、下列程序段的运营结果是()inta=6;switch(++a){case7:ﻩprintf("%d",a);case6:ﻩprintf("%d",a++); break;case5: printf("%d",a);default: printf("%d",a++);}A.8B.712、下列程序段的运营结果是()。intk=8;switch(k%5){default:printf("DD");case1:printf("AA");break;case2:printf("BB");case0:printf("CC");}A.CCB.AAC.DDAAD.DD13、以下程序的运营结果是()voidmain(){intn=’e’;switch(n--){defalut:printf(“error”);case‘a’:case‘b’:printf(“good”);break;case‘c’:printf(“pass”);case‘d’:printf(“warn”);}}A.errorB.goodC.errorgoodD.warn14、以下程序的运营结果是()voidmain(){intn=’c’;switch(n++){defalut:printf(“error”);case‘a’:case‘b’:printf(“good”);break;case‘c’:printf(“pass”);case‘d’:printf(“warn”);}}A.passB.warnC.passwarnD.error15、以下程序的运营结果是()voidmain(){intn=5;if(n++>6)printf(“%d\n”,n);elseprintf(“%d\n”,++n);}A.4B.5C.6D.16、下面关于switch语句的叙述中,错误的是()A.case后面的表达式可以是关系表达式B.switch语句是多分支选择语句C.每一个case后面的值必须互不相同,否则会出现矛盾的现象D.在执行一个case分支后,可用一个break语句使流程跳出switch语句17、若有定义:inta=1,b=2,c=3;则以下程序段运营后c的值为()if(a>b)c=a*b;elsec=a-b;A.2B.0C.1D.18、若有定义:intx;以下不会产生死循环的是()A.for(;(x=getchar())!=’\n’;);B.while(1){x++;}C.for(i=10;;i++);D.for(;;x+=1);19、在循环语句的循环体中,break语句的作用是()A.暂停程序的运营B.结束本次循环C.继续执行break语句之后的循环体各语句D.提前结束循环,接着执行该循环后续的语句20、循环语句的循环体中,continue语句的作用是()。A.继续执行continue语句之后的循环体各语句B.结束本次循环,并跳出循环C.结束本次循环D.立即终止程序运营21、以下程序段运营后,循环体中的“count+=2;”语句运营的次数为()inti,j,cuont=0;for(i=1;i<=4;i++){count+=2;printf(“%d”,count);}A.4次B.10次C.16次D.20次22、在c语言中while循环和do-while循环的重要区别是()A.do-while循环体内可以使用break语句,while循环体内不能使用break语句B.do-while的循环体至少无条件执行一次,while的循环体不是C.do-while循环体可以使用continue语句,while循环体内不能使用continue语句D.while的循环体至少无条件执行一次,do-while的循环体不是23、以下程序段运营后,循环体运营的次数为()inti=0,x;for(;i<10;i++)x=x+i;A.10B.0C.124、以下程序段运营后变量n的值为()inti=1,n=1;for(;i<3;i++){continue;n=n+i;}A.4B.3C.2D.25、有以下程序:voidmain(){inti;for(i=0;i<3;i++)switch(i){case1:printf(“%d”,i);case2:printf(“%d”,i);case3:printf(“%d”,i);}}执行后输出的结果是()A.11122B.01222C.01302026、以下程序的运营结果是()voidmain(){intsum=0,item=0;while(item<5){item++;sum+=item;if(sum>=6)break;}printf(“%d\n”,sum);}A.10B.15C.6D.27、以下程序的运营结果是()voinmain(){intsum=0,item=0;while(item<5){item++;if(item==2)continue;sum+=item;}printf(“%d\n”,sum);}A.10B.13C.15D.28、以下程序段执行后变量sum的值为()inti,j=1,sum=0;for(i=1,i<=3,i++){sum+=j;j++;}A.5B.3C.6D.29、以下程序的运营结果是()#include<studio.h>main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}A.1B.2C.-1D.30、下列程序段运营时,语句k+=2;执行的次数是()。inti,k=0;for(i=7;i>3;i--,i--)k+=2;A.3B.2C31、下列程序段运营后m的值为()。inti,j,m=0;for(i=1;i<=3;i++)for(j=2;j<=4;j++)m=m+i+j;A.33B.45C32、下列程序段运营后sum的值为()。inti=8,sum=0;while((i--)>=5){sum+=2;}A.10B.8C33、下列程序段执行时,循环体的执行次数是()。inti=7,a=0;for(i++;i<8;i++)a+=2;A.0次B.1次C.8次D.7次34、下列程序段的运营结果是()。inti;for(i=3;i>=1;i--)switch(i){case1:printf("%d",i);break;case2:printf("%d",i);default:printf("%d",i);}A.3221B.321C35、下列程序段的运营结果是()。inta=0,i=1;while(i<=10){if(i%3==1)a+=i;++i;}printf("%d\n",a);A.12B.22C第五章数组1、C语言中数组元素下标的数据类型是()A.实型常量B.整型常量或整型表达式C.任何类型的表达式D.字符型常量2、下列数组定义中,对的的是()A.inta[10];B.intn=10,a[n];C.intN=10;inta[N];D.intn;scanf(“%d”,&n);inta[n];3、若已定义:inta[13];则不能对的引用a数组的元素的是()A.a[0]B.a[10]C.a[10+3]D.a[13-5]4、若有定义:inta[3]={0,1,2};则a[1]的值为()A.0B.1C.25、若有定义:inta[5]={1,2,3,4,5};则语句a[1]=a[2]+a[2+2]-a[3-1];运营后a[1]的值为()A.6B.5C.16、以下合法的数组定义是()A.inta[]=“string”;B.inta[5]={0,1,2,3,4,5};C.chara[]={0,1,2,3,4,5};D.chars={“string”};7、若有如下程序段:chars[10];s=“abcd”;printf(“%s\n”,s);则()。A.执行时输出:abcdB.执行时输出:aC.执行时输出:abD.编译不通过8、下面程序段的运营结果是()inti=0,a[]={7,5,7,3,8,3};do{a[i]+=2;}while(a[++i]>5);for(i=0;i<6;i++)printf("%d",a[i]);A.9795105B.9593103C.957383D.9、下面程序段的运营结果是()inti=0,a[]={1,2,3,4,5};do{a[i]+=10;}while(a[++i]>2);for(i=0;i<5;i++)printf("%d",a[i]);A.112345B.12345C.1112131415D.10、下面关于数组的叙述中,对的的是()A.数组必须先定义,然后使用B.定义数组时,可不加类型说明符C.定义数组后,可通过赋值运算符“=”对该数组名直接赋值D.在数据类型中,数组属于基本类型11、以下程序段的运营结果是()inti=0,a[]={6,5,3,7};do{a[i]++;}while(a[i]<4);for(i=0;i<4;i++)printf("%d",a[i]);A.6537B.7563C.7537D.12、有如下程序段:intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf("%d\n",t[2][1]);则执行该程序段后输出结果是()A.8B.7C.413、以下程序段运营后s的值是()inta[3][3]={1,2,3,1,2,3,1,2,3};inti,j,s=1;for(i=0;i<3;i++)for(j=i;j<3;j++)s*=a[i][j];A.18B.108C.2D.14、以下不能对二维数组arr进行对的初始化的语句是()A.intarr[2][3]={0};B.intarr[][3]={1,2,3,4,5};C.intarr[2][3]={{1,2},{3,4},{5,6}};D.intarr[2][3]={{1},{3,4,5}};15、若有定义:inta[3][4]={{1,2},{0},{1,2,3}};则a[1][1]的值为()A.0B.{1,2}C.1D.316、若有定义:inta[3][3];则表达式&a[2][1]-a的值为()A.7B.8C.617、若有定义:inti=0,x=0;inta[3][3]={1,2,3,4,5,6,7,8,9};则以下程序段运营后x的值为()for(;i<3;i++)x+=a[i][2-i];A.0B.12C.15D.18、若有定义inta[2][3];则对数组元素的非法引用的是()A.a[0][1/2]B.a[1][1]C.a[4-4][0]D.a[0][3]19、以下数组定义中,对的的是()A.inta[2][]={1,2,3,4,5};B.inta[][2]={{0},{}};C.inta[2][2]={{1,2},{3}};D.inta[][]={1,2,3,4};20、若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof(a)/sizeof(a[0])的值为()A.3B.4C.521、以下程序段运营后s的值是()inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1;for(i=0;i<3;i++)for(j=i+1;j<3;j++)s*=a[i][j];A.6B.120C.24D.22、设已定义:inta[][4]={0,0};则下列描述错误的是()A.数组a的每个元素都可得到初值0B.二维数组a的第一维大小为1C.数组a的行数为1D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值023、下列程序段的运营结果是()。inta[]={1,3,4,6,9},i,x=1;for(i=0;i<3;i++)x+=a[i+1];printf("%d\n",x);A.9B.14C24、下列程序段的运营结果是()。inta[]={8,7,6,5,4,3,2,1},i,sum=0;for(i=0;i<8;i++)if(i<=3)sum+=a[i];elsesum-=a[i];printf("%d\n",sum);A.0B.16C25、下列程序段的运营结果是()。inta[]={0,1,2,3,4,5,6,7,8,9},i=0,t;while(i<=7){t=a[i];a[i]=a[i+2];a[i+2]=t;i+=2;}for(i=0;i<10;i++)printf("%d",a[i]);A.B.C26、下列程序段的运营结果是()。inta[]={2,4,6,8,10},i;for(i=0;i<4;i++)a[i]=a[i+1]+2;for(i=0;i<5;i++)printf("%d",a[i]);A.4681010B.4681012C.68101210D.6810121427、下列程序段的运营结果是()。inta[]={6,5,4,3,2,1},i;for(i=0;i<6;i++)if(i%2)a[i]+=2;for(i=0;i<6;i++)printf("%d",a[i]);A.674523B.856341C.876543D.67654528、以下程序段运营的结果是()。inta[][3]={1,2,3,4,5,6,7,8,9};printf("%d\n",a[1][2]);A.2B.5C.6D.829、若有定义:inta[2][2];则表达式sizeof(a)的值为()。A.0B.1C.4D.830、若有定义:inta[][3]={1,2,3,4,5};则以下描述中对的的是()。A.数组a包含5个元素B.数组a的第一维大小可以取任意值C.数组a的行数为5D.元素a[0][2]的初值为3第六章指针1、设有以下语句,则()是对a数组元素的不对的引用,其中0<=i<10。inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))2、若有定义int*p1,*p2;则指针变量p1、p2不能进行运算的是()A.<B.=C.+D.-3、以下关于指针概念的叙述中,错误的是()A.一个指针变量只能指向同一类型的变量B.一个变量的地址称为该变量的指针C.两个同类型的指针变量可以作加减运算D.任何指针变量都可以与空指针NULL进行比较4、以下程序段运营后*(p+3)的值为()chara[]=”good”;char*p;p=a;A.‘d’B.‘\0’C.存放’d’的地址D.‘0’5、以下程序段运营后*(++p)的值为()chara[5]=”work”;char*p;p=a;A.‘w’B.存放’w’的地址C.’o’D.存放’o’的地址6、若有定义:int*p,a=4;p=&a;则以下均代表地址的是()A.a,pB.&a,pC.&a,*pD.a,*p7、若有说明语句:double*p,a;则能通过scanf语句对的给输入项读入数据的程序段是()A.*p=&a;scanf(“%lf”,p);B.*p=&a;scanf(“%lf”,*p);C.p=&a,scanf(“%lf”,*p);D.p=&a;scanf(“%lf”,p);8、若已定义:intx=12;对①int*p=&x;和②*p=x;这两条语句的对的理解是()A.语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量B.语句①和②中的*p含义相同,都表达给指针变量赋值C.语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量pD.语句①和②的执行结果都是把变量x的地址赋给指针变量p9、下面语句对的的是()A.int*p;*p=20;B.char*s=”abcdef”;printf(“%s\n”,s);C.charstr[]=”abcd”;str++;D.charstr[]={‘a’,’b’,’c’};printf(“%s”,str);10、若有定义inta[6],*p=a;则以下不能表达数组元素a[5]的是()A.*(a+5)B.*p+5C.p[5]11、若已定义:inta=5,*p;且p=&a;则以下表达中不对的的是()A.&(*p)==&aB.*(&a)==aC.&(*p)==pD.*(p++)==a++12、若有以下程序段,则*p++的值是()int*p;inta[]={1,2,3,4,5,6,7,8,9,10,11,12};p=a+3;A.2B.3C.513、以下程序段的运营结果是()intx[]={2,3,4,5,6,7},*p=x;inti,s=0;for(i=1;i<6;i++)s+=p[i++];printf("%d",s);A.12B.15C.25D.14、下面程序的运营结果是()main(){intx=36,y=63;int*p,*q,*t;p=&x;q=&y;t=p;p=q;q=t;printf("%d,%d\n",x,y);}A.36,36B.63,63C.36,63D.15、以下程序段运营后x的值为()inta[]={1,2,3,4,5,6,7};inti,x,*p;x=1;p=&a[2];for(i=0;i<3;i++)x*=*(p+i);A.不拟定B.24C.12016、以下程序段运营后x的值为()inta[]={1,2,3},b[]={4,2,5};int*p,*q;inti,x;p=a;q=b;for(i=0;i<3;i++)if(*(p+i)==*(q+i))x=*(p+i)*2;A.2B.4C.517、以下程序运营结果是()main(){chara[]="1357",*p;for(p=a;p<a+4;p++)printf("%s",p);}A.1357B.C.7531D.18、下面程序的输出结果是()#include<stdio.h>voidmain(){inti;char*s="abc";for(i=0;i<3;i++)printf("%s\n",s+i);}A.abcbccB.cbcabcC.abccbcD.aababc19、下面程序的输出结果是()#include<stdio.h>voidmain(){char*str="12345",*ps=str+4;printf("%c\n",ps[-4]);}A.1B.2C.320、以下程序执行时,输入12345<回车>,输出为()#include<stdio.h>#defineN5voidmain(){inta[N];int*p=a;while(p<a+N)scanf("%d",p++);while(p>a)printf("%d",*(--p));}A.54321B.12345C.23451D.21.以下程序段的运营结果是()intx[]={2,3,4,5,6,7},*p=x;inti,s=0;for(i=1;i<6;i+=2)s+=*(p+i);printf("%d",s);A.27 B.25ﻩC.12 22.以下程序运营结果()main(){inta[]={9,8,7,6,5,4},*p,*q,i;p=a;q=p+5;for(i=0;i<6;i++)printf("%d%d",*(p+i),*(q-i));}A. B.948576 C.495867 23、若有定义:inta[3][4];则表达式&a[2][2]-a[0]的值为()。A.4B.6C24、设已定义:charstr1[10],str2[10]=”Fujian”;则能将字符串”Fujian”赋给数组str1的对的语句是()A.str1=”Fujian”B.strcpy(str1,str2);C.strcpy(str2,str1);D.str1=str2;25、有如下定义:charstr[3][2]={'a','b','c','\0','e','f'};则语句:printf("%s",str[0]);的输出结果是()A.abB.abcefC.abc\0D.abc26、设有如下数组定义:charstr[8]={"Fujian"};则分派给数组str的存储空间是()字节A.6B.7C.8D.27、若有定义:chara[]="abcdef";charb[]="xyz";则以下程序段运营后屏幕输出为()strcpy(a,b);printf("%c",a[2]);A.cB.zC.\0D.d28、以下程序段运营后屏幕输出为()chara[]="abc\0mis";printf("%d",strlen(a));A.5B.8C.3D.29、若有定义:inta=2;则语句a=strcmp("miss","miss");运营后a的值为()A.1B.0C.-1D.30、以下对C语言字符数组描述中,对的的是()A.可以用length函数计算字符数组中字符串的长度B.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值C.存放在字符数组中的字符串,以’\0’作为该字符串结束标志D.字符数组只能存放字符串,不能存放字符31、以下程序段运营后屏幕输出为()charstr[80];strcpy(str,"hello");printf("%d",strlen(str));A.5B.6C.7D.32、若有定义:charstr1[6]="abcdm",*ps,*str2="abcdef";则()是对的的A.strcpy(str1,str2);B.表达式strcmp(str1,str2)的值大于0C.str1=str2;D.表达式strlen(str1)的值为633、已有定义:charstr1[15]={“university”},str2[15];则以下语句中对的的是()A.str2=str1;B.str2=”college”;C.scanf(“%s”,&str2);D.printf(“%s”,str1);34、设已定义:chars1[20]=”Youare”,s2[9]=”welcome!”;若要形成字符串”Youarewelcome!”,对的的语句是()A.strcat(s1,s2);B.strcpy(s1,s2);C.s1+s2;D.s1&s235、若已定义:inta=5,*p1=&a;floatf=6.5,*p2=&f;则下列对的的赋值语句是()。A.p2=p1;B.p1=&f;C.f=*p1+*p2;D.p2=&a;36、若已定义:inta,b=5,*p=&a;与语句a=b;等价的是()。A.a=*p;B.*p=*&b;C.a=&b;D.a=**p;37、变量的指针,其值是该变量的()。A.值B.标记符C.一个标志D.内存单元地址38、若已定义:inta[5]={1,2,3,4,5},*pa=a;下列叙述错误的是()。A.pa与a的值相等B.a++与pa++的作用相同C.a[2]与pa[2]的值相等D.*(pa+2)与a[2]的值相同39、若已定义:inta[5]={1,2,3,4,5},*p=a;且p值未发生变化,下列不能表达a[1]地址的是()。A.p+1B.a++C.a+1D.++p40、下列程序的运营结果是()。voidmain(){inta[5]={2,3,5,11,4},b[5]={12,1,6,9,8};int*pa=a,*pb=b;inti;for(i=0;i<5;i++)if(*(pa+i)<*(pb+i))printf("%d",*(pa+i));}A.5B.254C.31141、下列程序的运营结果是()。voidmain(){charstr[]="abcd",*p=str;inti;while(*p)printf("%c",*(p++));}A.cdB.abcdC.abcD.bcd42、下列程序的运营结果是()。voidmain(){inta=11,b=22,temp;int*pa=&a,*pb=&b;temp=*pa;*pa=*pb;*pb=temp;printf("%d,%d\n",a,b);}A.11,11B.22,22C43、下列程序的运营结果是()。voidmain(){inta[]={1,2,3,4,5,7},*p;p=a;*(p+3)+=2;printf("%d,%d\n",*p,*(p+3));}A.1,5B.1,3C.1,444、若已定义:inta[5]={1,2,3,4,5};int*p=&a[3];则下列值为3的是()。A.a+2B.*pC.p-aD.p-a[0]45、若已定义:inta[3]={3,6,9},*p=a;则对数组元素a[1]错误引用的是()。A.p[1]B.*p+1C.*(&a[1])46、若已定义:inta[5],*p=a;则不能对的表达a[1]地址的是()。A.p+1B.++pC.a+1D.++a47、以下程序段的输出结果是()。inta[5]={1,3,5,7,9},*p;p=&a[2];printf("%d",*(++p));printf("%d\n",p-a);A.73B.53C48、若已定义charstra[50],strb[50];能对的从键盘读入字符串的是()A.gets(strb,stra);B.scanf("%s%s",stra[50],strb[50]);C.scanf("%s%s",stra,strb);D.getch(stra,strb);49、若已定义:charstr1[20]="guangzhou",str2[20]="2023";能形成字符串"GUANGZHOU2023"的语句是()。A.strcpy(strupr(str1),str2);B.strcat(strupr(str1),str2);C.strcpy(str2,strupr(str1));D.strcat(str2,strupr(str1));50、下列程序段的运营结果是()。charstr[]={'Y','o','u','\0','a','r','e','\0','w','e','l','c','o','m','e'};puts(str);A.welcomeB.YouareC.YouarewelcomeD.You51、若已定义:charstr[20]={"Good\0morning"};则函数strlen(str)的值是()。A.4B.5C52、以下程序运营的结果是()。#include<stdio.h>voidmain(){inta[]={1,2,3,4,5},*p,*q,i;p=a;q=a+4;while(p++<q--)printf("%d%d",*p,*q);}A.152433B.1524C53、以下程序段的运营结果是()。charstr1[10]="abcdefgh",str2[8]="ABCD";strcpy(str1,str2);printf("%c%s",str1[5],str1);A.ABCDB.abcdC.fABCDD.fabcd54、以下程序段运营的结果是()。chara[3][8]={"work","study","happy"};char(*p)[8];p=a;printf("%s",p[1]);A.workB.studyC.wD.s55、以下程序运营的结果是()。#include"string.h"#include<stdio.h>voidmain(){chara[]="aaaaaa",b[]="bb";char*p;strcpy(a,b);for(p=a;p<a+5;p++)printf("%s\n",p);}A.bbbaaaaaB.bbaaabaaaaaaaaaC.bbbD.bbaaabaaaaaaaaaaa第七章函数1、在C语言中,数组名作为函数调用的实参时,传递给形参的是()A.数组元素的个数B.数组的第一个元素值C.数组中所有元素的值D.数组的首地址2、以下程序的运营结果是()intfun(intarray[4][4]){intj;for(j=0;j<4;j++)printf("%2d",array[2][j]);printf("\n");}main(){inta[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};fun(a);}A.2005B.1004C.0120D.3、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A.float型B.long型C.int型D.double型4、以下程序运营后屏幕输出为()#include<studio.h>intf(intx,inty){return(x+y);}main(){inta=2,b=3,c;c=f(a,b);printf("%d+%d=%d\n",a,b,c);}A.0B.2+3=5C.2+3=0D.5、以下程序运营后屏幕输出为()#include<stdio.h>inta=2,b=3;intmax(inta,intb){intc;c=a>b?a:b;return(c);}main(){inta=4;printf("%d",max(a,b));}A.3,2B.2C.3D.6、以下程序的运营结果是()fun(inti){inta=2;a=i++;printf("%d",a);}main(){inta=5,c=3;fun(c);printf("%d",a);}A.45B.35C.44D.7、若有如下函数定义:intfun(){staticintk=0;return++k;}以下程序段运营后屏幕输出为()inti;for(i=1;i<=5;i++)fun();printf("%d",fun());A.0B.1C.5D.8、下面程序的输出结果是:()#include<stdio.h>intglobal=100;fun(){intglobal=5;return++global;}voidmain(){printf("%d\n",fun());}A.100B.101C.5D.9、下列关于C语言函数的描述中,对的的是()A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用都可以嵌套D.函数的定义和函数的调用都不可以嵌套10、以下程序的运营结果是()fun(intx,inty){intz;z=(x<y)?(x+y):(x-y);return(z);}main(){inta=10,b=6;printf("%d\n",fun(a,b));}A.4B.6C.10D.11、以下程序运营结果是()voidmain(){intmin(floatx,floaty);floata=-7.9,b=-6.3;intc;c=min(a,b);printf("%d\n",c);}intmin(floatx,floaty){floatz;if(x>y)z=y;elsez=x;return(z);}A.-7.9B.-7C.-6.3D.12、下列程序段中函数调用语句tnk((a,b),m+n);的实参值是()。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光缆基础知识课件
- 动机理论与医患关系构建
- 天津安全生产企业讲解
- 运输安全生产保障讲解
- 2025-2026学年苏教版四年级数学上册(全册)知识点梳理归纳
- 2025-2026学年统编版五年级语文上册全册知识点归纳
- 辽阳地理中考试卷及答案
- 光伏生产车间安全培训课件
- 关键工序质量
- 2024北师大版八年级生物上册《健康及其条件》分层作业(含答案)
- 2025年纳税筹划机考题库及答案
- 老年人失智症护理与照护
- 2025重庆市勘规数智科技有限公司招聘3人考试题库必考题
- 村监委会职责课件
- 历史试卷答案四川省达州市普通高中2026届高三第一次诊断性测试(达州一诊)(12.15-12.17)
- 平津战役讲解课件
- 农村房屋安全排查培训
- 2026-2031年中国文化旅游行业市场未来发展趋势研究报告
- 超星尔雅学习通《人人都能上手的AI工具(超星公司)》章节测试答案
- 选矿厂检修培训
- 2025年国家开放大学《普通心理学(研究生)》期末考试参考题库及答案解析
评论
0/150
提交评论