C语言开发基础练习题及答案25_2023_背题版.pdf
试题说明本套试题共包括1套试卷每题均显示答案和解析C语言开发基础练习题及答案25(500题)C语言开发基础练习题及答案251.单选题 有以下程序:i n c lu d e Ma i n ()i n t n,*p=NU LL;*p=&n;p r i n t f(In p u t n:);s c a n f(%d,&p);p r i n t f(o u t p u t n:);p r i n t f(%d n,p);该程序试图通过指针p 为变量n 读入数据并输出,但程序有多处错误,以下语句正确的是()A)i n t n,*p=NU LL;B)*p=&n;C)s c a n f(%d,&p)D)p r i n t f(%d n,p);答案:A解析:选项B)的正确写法应为p=&n;选项C)的正确写法应为s c a n f p);选项D、的正确写法应为 p r i n t f(%d n,*p)。2.单选题 定义如下变量和数组:In t i;i n t x 3 3=1,2,3,4,5,6,7,8,9;则以下语句的输出结果是()1=0;W h i le(i 3)p r i n t f(“%3d”,x i 2-i );i+;)A)1 4 7B)1 5 90 3 6 9D)3 5 7答案:D解析:3.单选题 设j 和k都是i n t 类型,则f o r 循环语句()f o r(j=0,k=0;j=9&k!=876;j+)s c a n f(%d,&k);A)循环体一次也不执行B)最多执行9次C)是无限循环D)最多执行10次答案:D解析:4.单选题 设有定义:c h a r =2,3,*q=p;,以下不能计算出一个c h a r型数据所占字节数的表达式是()oA)s i ze o f(p)B)s i ze o f(c h a r)C)s i ze o f(*q)D)s i ze o f(p 0)答案:A解析:根据题目中的定义可以知道s i ze o f(p),计算的是数组p中所有元素所占用的字节数,而不是c h a r型数据所占字节数。5.单选题 一个C语言的执行是从().A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函数结束C)本程序的主函数开始,到本程序的最后一个函数结束D)本程序的第一个函数开始,到本程序的主函数结束答案:A解析:6.单选题 设有说明语句:c h a r a =72;则变量a 。A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法答案:A解析:7.单选题 对两个数组a和b进行如下初始化c h a r a =ABCDEF;c h a r则以下叙述正确的是。A)a与b数组完全相同B)a与b数组长度相同0 a和b中都存放字符串D)a数组比b数组长度长答案:D解析:8.单选题 以下正确的函数说明是A)i n t f u n(i n tA,b)B)f lo a t f u n(i n t a;i n t b)C)d o u b le f u n ()D)i n t f u n(c h a r a)答案:C解析:A的b 前少i n t,B的a 后多;9.单选题 若有以下程序#i n c lu d e Ma i n ()i n t i,j=0;Ch a r a L=Ho w a r e yo u!;Fo r (i=0;a i ;i+)If (a i !=)A j+=a i ;A j =O;P r i n t f(%s n,a);)则程序的输出结果是_ _ _ _ _ _ oA)Ho w a r e yo uB)Ho w a r e yo u!C)Ha y!D)Ho w a r e yo u!答案:B解析:10.单选题 有以下程序#i n c lu d e U s i n g n a me s p a c e s t d;In t ma i n()(i n t a =l,2,3,4,y,*p=&a l;y=(*p)+;c o u t y e n d l;r e t u r n 0;程序执行后的输出结果是()。A)1B)203D)4答案:A解析:11.单选题 以下叙述正确的是A)函数体内的定义语句和可执行语句允许任意交替出现B)ma i n()函数若不带参数,其后面的一对圆括号可省略0 C 程序总是以ma i n。作为程序执行的起始行D)C语言中的语句之间必须用分号作为分隔符答案:C解析:12.单选题 有三个关系R、S 和T 如下:则由关系R 和S 得到T 的操作是()。A)自然连接B)交C)投影D)并答案:A解析:关系运算中自然连接是使用等于运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。B 项,交是指两个关系的公共部分;C 项,投影是从表中选出指定的属性值组成新表,是单目运算;D 项,并运算将结构相同的两个关系合并,合并后的关系包含两个关系中的所有元组。答案选择A 选项。1 3 .单选题 有以下结构体说明、变量定义和赋值语句S truct S T D ch ar n am e 1 0 ;i n t ag e;ch ar se x;s 5 ,*p s;p s=&s 0 ;则以下scan f 函数调用语句中错误引用结构体变量成员的是。A)scan f(%s,s 0 .n am e);B)scan f (%d,&s 0 L ag e);C)scan f(%c,&(p s-se x);D)scan f(%d,p s-ag e);答案:D解析:要给结构体成员输入数据,在语句中需要使用结构体成员的地址。选项D 用指针变量引用结构体的成员se x后没有再继续取其地址,所以是错误的。1 4 .单选题 当全局变量与局部变量同名时,在。A)函数体内局部变量起作用B)函数体外局部变量起作用C)函数体内和体外局部变量均起作用D)函数体内局部变量不起作用答案:A解析:1 5 .单选题 下列关于C语言程序的叙述中,不正确的是一。A)C 语言程序由一个或多个函数组成B)C 语言程序总是从第一个函数开始执行0C语言程序中必须含有m ai n()函数D)C 语言程序中的语句必须以分号结束答案:B解析:1 6 .单选题 有以下程序S truct S i n t n;i n t aL 2 0 ;V o i d f(i n t*a,i n t n)i n t i;f o r(i=0;i n-l;i+)a i +=i;M ai n()i n t i;struct S s=1 0,2,3,1,6,8,7,5,4,1 0,9);f (s.a,s.n);f o r(i=0;i s.n;i+)p ri n tf(%d,s.a i );程序运行后的输出结果是 oA)2,4,3,9,1 2,1 2,1 1,H,1 8,9,6)3,4,2,7,9,8,6,5,1 1,1 0,0 2,3,1,6,8,7,5,4,1 0,9,0)1,2,3,6,8,7,5,4,1 0,9,答案:A解析:本题考查的是结构体成员的引用。f()函数中,通过指针a来引用数组中的元素;通过f o r循环语句将数组中除最后一个元素外的其它元素(由条件i n-l 决定的)分别加上由0 开始的递增数据(即0、1、2-8),所以最后的输出结果为2,4,3,9,1 2,1 2,1 1,1 1,1 8,9,。1 7 .单选题 已有定义 i n ta =5,4,3,2,l,i=4 ,下列对a数组元素的引用中错误的()A)a 一i B)aL a 0 C)a 2*2 D)a a i 答案:B解析:1 8 .单选题 有以下程序m ai n。i n t y=1 0;wh i l e(y);p ri n tf (y=%d n ,y);程序执行后的输出结果是()oA)y=0B)y=-lC)y=lD)wh i l e构成无限循环答案:B解析:1 9.单选题 以下选项中不能作为合法常量的是_ _ _ _ _ _。A)1.2 3 4 e 0 4B)1.2 3 4 e 0.4C)1.2 3 4 e+4D)1.2 3 4 e 0答案:B解析:本题考查的是常量表示法。本题选项中的几个常量都属于指数形式的实型常量。此种类型的常量要求字母e(或E)之前必需有数字,且e后面的指数必须为整数,所以本题中选项B非法。20.单选题 若有定义语句:do u ble x,y,*p x,*p y;执行了 o x=&x;p y=&y;后,正确的输入语句是A)s can f(,p x,p y)B)s can f(u%f%fw&x,&y)C)s can f(,x,y)D)s can f(%lf%lfw,x,y)答案:A解析:21.单选题 有以下程序,程序运行后的输出结果是()。t t in clu de s t dio.hMain()(In t a=15,b=21,m=0;Sw it ch(a%3)cas e 0:m+;br eak;cas e 1:m+;s w it ch(b%2)defau lt:m+;cas e 0:m+;br eak;)Pr in t f(w%dnw,m);)A)1B)20 3D)4答案:A解析:22.单选题 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是A)ex t er nB)r egis t erC)au t oD)s t at ic答案:D解析:23.单选题 若有以下程序片段:char s t r =abn 012;p r in t f s t r len(s t r);上面程序片段的输出结果是()。A)3B)406D)12答案:C解析:24.单选题 以下叙述正确的是A)C程序由函数组成,可以不包含m ain 函数B)每个C 程序文件中的m ain 函数都应当放在最前面C)每 个 C 程序文件都应当包含一个m ain 函数D)每个C 程序都只能有一个m ain 函数答案:C解析:25.单选题 下列运算符中优先级最高的是A)!B)%0-=D)&答案:A解析:26.单选题 若有以下语句,则正确的描述是()。char a 口=t o y o u;charb 口=-,。J y u ;A)a数组和b数组的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)a数组等价于b数组答案:c解析:27.单选题 有以下程序段In t *p;P=m allo c(s iz eo f(in t );若要求使P指向一个in t 型的动态存储单元,在横线处应填入的是A)(in t *)B)in tC)in t *D)(*in t )答案:A解析:28 .单选题 设in t x=l,y=l;,表达式(!x ll y-)的值是()。A)0B)10 2D)-l答案:B解析:29 .单选题 执行以下程序段后,输 出 的 结 果 是。In t i,s=0;Fo r(i=l;i 15)br eak;S=s+i;)Pr in t f(%d,%d,i,s);A)10,16B)8,16C)7,16D)9,16答案:D解析:30.单选题 设变量p 是指针变量,语句p=N U LL;是给指针变量赋N U LL值,它等价于()。A)p=;B)p=O ;C)p=0;D)p=;答案:c解析:N U LL的A SCH码值为0,p=N U LL等价于p=0;或p=0。答案选择C选项。31.单选题 下列程序的输出结果为()Main()in t m=7,n=4;Flo at a=38.4,b=6.4,x;X=m/2+n*a/b+1/2;Pr in t f(,x);)A)27.500000B)27.000000C)28.500000D)28.000000答案:B解析:32.单选题C语言中,定义结构体的保留字是()oA)u n io nB)s t r u ctC)en u mD)t y p edef答案:B解析:33.单选题p u t char函数可以向终端输出一个。A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值答案:D解析:34.单选题 若有函数f的定义为:V o id f(.)s t at ic in t b=l;)则下列叙述中不正确的是A)在每次调用f函数时,变量b的值是上次调用结束时b的值B)在f函数之外,可以用变量名b直接引用b的值C)在其他函数中,可以出现声明do u ble b=2.5;D)f函数的形式参数不能取名为b答案:B解析:35.单选题 下列定义语句中,正确的是_A)char a=A b=B ;B)flo at a=b=6.5;C)do u ble x=3.4;D)in t x=y=8;答案:C解析:36.单选题 以下选项中,合法的一组C语言数值常量是()。A)12.0X a23 4.5e0B)028 .5e-3-O x fC)177 4el.5 O abcD)0 x 8 A 10,000 3.e5答案:A解析:A项,C语言中小数必须要有小数点,但是小数部分可以省略,12.是合法的常量;C语言中十六进制数以0X或O x开头,0X a23是指十六进制数a23;在C语言中,“e”或“E”后跟一个整数来表示以10为底的寡数,4.5e 0表示4.5*10 0。B项,028表示的是八进制,以0开头,0后面的数字只能在0 7之间。C项,4e l.5,e后面只能跟整数,Oabc表示八进制,0后面的数字只能在0 7之 间;D项,10,000中不能有逗号。答案选择A选项。37.单选题 若有以下程序in cl ud e Main ()(I n t a=l,b=2,c=3,d=4;I f (a=b)C=2;I f (c (d=-l)A=5;Pr in t f(%d,%d,%d,%d n ,A.b.c,d);)则程序的输出结果是 oA)2,2,2,4B)2,l,2,-105,1,2,-1D)l,2,3,4答案:C解析:38 .单选题 若有定义:ch ar s t r =C om put e r ;则函数s t r l e n(s t r)的返回值是()。A)8B)9C)10D)l l答案:A解析:39 .单选题 C 语言规定,函数返回值的类型是由()0A)r e t ur n 语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定答案:D解析:40.单选题 以下函数的类型是()o _x 000D _f f f (f l oat x)_x 000D _ pr in t f(%d n ,x*x);)A)与参数X的类型相同B)v oid 型C)in t 型D)无法确定答案:C解析:41.单选题 下列选项中,能正确表示逻辑关系 c=10或c=10 or c=10|c=10&c=10/c5)p r i nt f(%d n,a);e l s e p r i nt f(%d n,a一);A)7B)4C)5D)6答案:D解析:50.单选题 下面程序运行后的结果是:()f t i ncl u de v o i d ma i n()ch a r *s=w 1 2 1 3 4 2 1 1w;i ntv L4 =0,0,0,0 ,k,i;f o r (k=0;s k ;k+)s w i t ch(s Ek )ca s e V :i=0;b r e a k;ca s e2 :i=l;b r e a k;ca s e 3 :i=2;b r e a k;ca s e 4 :i=3;b r e a k;v i +;f o r(k=0;k 4;k+)p r i nt f(%d ,v k );A)4 2 1 1B)0 0 0 804 6 7 8D)8 8 8 8答案:A解析:51.单选题 以下不正确的叙述是()A)在C程序中,逗号运算符的优先级别最低B)在C程序中,A PH和a p h是两个不同的变量0若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入中,而b中的值不变。D)当从键盘的输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。答案:D解析:52.单选题 以下程序的正确运行结果是。#i ncl u de v o i d nu m()e x t e r n i nt x,y;i nt a=1 5,b=1 0;x=a-b;y=a+b;)i nt x,y;ma i n()i nt a=7,b=5;x=a+b;y=a-b;nu m();p r i nt f (n%d,%d n,f,x,y);)A)1 2,2B)1 2,2 50 5,2 5D)5,2答案:C解析:53.单选题 在C#语言中,下列代码中声明数组正确的是()A)i nt a ;B)i nt a;C)i nt a 5;D)i nt a 5;答案:B解析:54.单选题l*e+2=i nt ma i n(v o i d)ch a r ch;i nt n=0,b a s e;s ca nf (,r%dn,&b a s e);g e t ch a r();ch=g e t ch a r();w h i l e(ch!=!r)i f (ch=O&ch=1A1&ch=1 a1&ch =1f1)n=n*b a s e+(ch-a+1 0);ch=g e t ch a r();p r i nt f(H%d nw,n);r e t u r n 0;A)1 2B)1 80 4 8 0D)4 8 2答案:D解析:55.单选题 有如下定义s t r u ct p e r s o n ch a r na me 9 ;i nt a g e;);s t r u ct p e r s o n cl a s s t l O =J o h n,1 7,Pa u l ,1 9,Ma r y ,1 8,A da m,1 6,);根据上述定义,能输出字母J 的语句是 OA)p r i nt f(%c n,cl a s s 1 .na me);B)p r i nt f(%c n,cl a s s 1 .na me t l );C)p r i nt f(%c n,cl a s s 0 .na me 1 );D)p r i nt f(%c n,cl a s s 0 .na me 0 );答案:D解析:56.单选题 以下正确的说法是()。A)用户若需调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调答案:B解析:57 .单选题 与数学式子3 乘以x 的n次方/(2 x T)对应的C语言表达式是_ _ _ _。A)3*x n/(2*x-l)B)3*x*n/(2*x-l)C)3*p o w(x,n)*(l/(2*x-l)D)3*p o w(n,x)/(2*x-l)答案:C解析:58.单选题 有以下程序:t t i n c l u d e U n i o n p w i n t i;c h ar c h 2 ;x;Mai n()x.c h 0 =1 3;X.c h l =O;P r i n t f (%d n ,x.i);)程序的输出结果是(注意:c h 0 在低字节,c h l 在 高 字 节)oA)1 3B)1 40 2 0 80)2 0 9答案:A解析:59.单选题 以下语法中正确的是()A)C语言程序中的m ai n 函数必须放在程序的开始部分B)C语言程序总是从m ai n 开始执行C)在C语言程序中,要调用的函数必须在m ai n 函数中定义D)C语言程序总是从第一个定义的函数开始执行答案:B解析:题号:5580 860 .单选题 下列程序段的输出结果为()o f l o at x=2 1 3.82 63 1;p r i n t f (%3 d ,(i n t)x);A)3.8B)2 1 3.820 2 1 30)2 1 3.83答案:C解析:61 .单选题 若x 为i n t 型变量,c h 为c h ar 型变量,则下面程序段运行结果是()In t=1 2;c h ar c h=a;P r i n t f(%x,%o,c h,c h,x);P r n(x=%d n”,x);A)因变量定义的类型与格式控制符的类型不匹配,输出不定值B)输出变量的个数与格式控制符的个数不同,输出为零值或不定值C)61,1 41,x=%dD)61,1 41,x=%1 2答案:C解析:62 .单选题 判断两个字符串是否相等,正确的表达方式是0.A)w h i l e(s l=s 2)B)w h i l e(s l=s 2)C)w h i l e(s t r c m p(s i,s 2)=0)D)w h i l e(s t r c m p(s l,s 2)=0)答案:C解析:63 .单选题 有以下程序Main()i n t a 4 4=1,4,3,2 ,8,6,5,7,3,7,2,5,4,8,6,1 ,i,j,k,t;f o r(i=0;i 4;i+)f o r(j=0;j 3;j+)f o r(k=j+l;k a k i )t=a j i ;a j i =a k i ;a k i =t;)/*按列排序*/f o r(i=0;i a;!a;)c o u t c o n t i n u e e n d l;则f o r 语句中的!a等价于()。A)a!=OB)a=0C)a0D)a=0答案:B解析:65.单选题 以下程序的运行结果是()。A)ab c ab c ab cB)b c ab c ab cC)aab c ab cD)c ab c ab c答案:C解析:66.单选题 以下程序运行后的输出结果是#i n c l u d e i n t m ai n()i n tA,b,c;a=1 0;b=2 0;c=(a%b l);p r i n t f(%d,%d,%d ,a%b,a/b,c);r e t u r n 0;A)1 0,1,0B)1 0,1,10 1 0,0,1D)1 0,0,0答案:D解析:67.单选题 写出下列程序段运行结果。_ x 0 0 0 D_ u n s i g n e d i n ta=3,b=1 0;_ x 0 0 0 D_ p r i n t f(%d n ,aA)_ x 0 0 0 D_ 1 3B)1 20 8D)1 4答案:B解析:68.单选题 有以下程序p o i n t (c h ar *p)p+=3;m ai n()c h ar b 4 =a,b,c,d),*p=b;p o i n t(p);p r i n t f(%c n ,*p);程序运行后的输出结果是()A)aB)bC)cD)d答案:A解析:69.单选题 要求通过w h i l e 循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是()。A)w h i l e(c h=g e t c h ar()!=N)p r i n t f(%c ,c h);B)w h i l e(c h=g e t c h ar()=N)p r i n t f(%c ,c h);C)w h i l e(c h=g e t c h ar()=N)p r i n t f(%c ,c h);D)w h i l e(c h=g e t c h ar()=N)p r i n t f(%c ,c h);答案:A解析:A项正确,“(c h=g e t c h ar()!=N”表示先把g e t c h ar()函数的返回值赋值给c h,然后判断,当读入字母不为N 时,c h 与N 不相等,执行打印函数p r i n t f,当读入字母N 时,c h 与N 相等,循环结束,同理知选项D错误。B项错误,c h=g e t c h ar()=N”表达式从右向左计算,会把N 赋值给g e t c h ar O 函数的返回值,而g e t c h ar()函数的返回值是右值,不可改变,出现编译错误;C项错 误,c h=g e t c h ar()=N 中 =(等于)”的优先级高于”=(赋值),它等价于“c h=(g e t c h ar ()=N),此时c h 的取值是0 或1。答案 选择A选项。70 .单选题 若有定义:i n t i=l,j=5;则表达式(+j)*(i 一)的值为A)1B)00 6D)7答案:C解析:71 .单选题 有以下程序 S i n c l u d e s t r u c t o r d i n t x,y;d t 2 =l,2,3,4 ;m a i n()s t r u c to r d *p=d t;p r i n t f (%d,+(p-x);p r i n t f (%d n,+(p-y);)程序运行后的输出结果是()A)l,2B)4,l0 3,4D)2,3答案:D解析:72.单选题 6 7、以下对一维数组a 的正确说明是()。A)c h a r a (10)B)i n t a ;C)i n t k =5,a k ;D)c h a r a 3 =a b c ;答案:D解析:73.单选题 下 面 程 序 的 输 出 是.f t i n c l u d e v o i d m a i n()i n t x=0 23;p r i n t f (%d n,一x);)A)17B)180 23D)24答案:B解析:74.单选题 有以下程序 i n c l u d e m a i n()i n t a=0,b=0;/*给a 赋值a=10;给b 赋值b=20;*/p r i n t f(a+b=%d n,a+b);)程序运行后的输出结果是()。A)a+b=0B)a+b=30C)a+b=10D)出错答案:A解析:注释/*和*/之间计算机不参与编译,所以a、b 值仍为0。答案选择A 选项。75 .单选题 若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的A)函数调用可以作为一个函数形参B)函数调用可以出现在表达式中C)函数调用可以作为一个函数实参D)函数训用可以作为独立的语句存在答案:A解析:76 .单选题 下面的叙述中不正确的是().A)用t y p e d e f 可以定义各种类型名,但不能用来定义变量B)用t y p e d e f 可以增加新类型C)用t y p e d e f 只是将已存在的类型用一个新的标识符来代表D)使用t y p e d e f 有利于程序的通用和移植答案:B解析:77.单选题 若有说明:i n t 2口 3 =1,2,3,4,5,6,7;贝必数组第一维的大小是()。A)2B)无确定值0 4D)3答案:D解析:78 .单选题 以下不正确的i f 语句形式是()。A)i f (x y&x!=y);B)i f(x=y)x+=y;C)i f(x !=y)s c a n f(%d,&x )e l s e s c a n f(%d,&y);D)i f(x b?(b c?l:O):0;功 能 等 价 的 是。A)i f(a b)&(b c)k=l;E l s e k=0;B)i f(a b)|(b c)k=l;E l s e k=0;C)i f(a=b)k=0;E l s e i f(b b)k=l;E l s e i f (b c)k=l;E l s e k=0;答案:A解析:8 7.单选题()o设C 语言中,一个i n t 型数据在内存中占2 个字节,贝 u n s i g n e d i n t 型数据的取值范围为:A)0 25 5B)0 3276 7C)0 6 5 5 35D)0 -214748 36 47答案:C解析:8 8 .单选题 若f p 已定义为指向某文件的指针,且没有读到该文件的末尾,则C 语言函数f e o f (f p)的函数返回值是A)E OFB)非。0-1D)0答案:D解析:8 9 .单选题 有以下程序 Si n c l u d e i n t f u n(i n t a,i n t b)r e t u r n a+b;m a i n()i n t x =6,y=7,z =8,r;r =f u n (f u n (x,y),z);p r i n t f (%d n,r);)程序运行后的输出结果是()A)15B)210 20D)31答案:B解析:函数的嵌套调用,f u n 函数的作用是计算两个整数的和,r=f u n(f u n(x,y),z 一)等价于:t e m p=f u n(x,y),r=f u n (t e m p,z-),则t e m p=f u n (6,7)=13,然后r=f u n (13,8)=21,最后执行z,得到z =7 o答案选择B选项。9 0 .单选题 下列程序段的输出结果为。F l o a t x=213.8 26 31;p r i n t f(%3d,(i n t)x);A)3.8B)213.8 20 213D)213.8 3答案:C解析:9 1.单选题 下面程序执行后的输出结果是()。U i n c l u d e I n t m a i n ()i n t i =0,s =0;Fo r (;)(i f (i =3 1 i =5)C o n t i n u e;i f (i =6 )B r e a k;i+;s +=i;p r i n t f(%d,s );r e t u r n(0);)A)1 0B)1 302 1D)死循环答案:D解析:92.单选题 下面程序的运行结果是。t t i n c l u d e m a i n ()c h a r a L =m o r n i n g,t;i n t i,j=0;f o r(i=l;i 7;i+)i f(a j a i )j=i;t=a j ;a j =a 7 ;a 7 =t;p u t s(a);A)m o g n i n rB)m oC)m o r n i n gD)m o r n i n答案:B解析:93.单选题 有以下程序:#i n c l u d e Ma i n()i n t y=9;f o r(;y 0;y-)i f (y%3=0,p r i n t f(%d,一y);程序的运行结果是()。A)8 526)96 3C)7 41D)8 7 542 1答案:A解析:第一次f o r 循环,y 的值为9,y%3 的值为0,满足条件打印-y,即先减一后打印,所以打印8;第二次f o r 循环,y 的值为7,y%3 的值为1,不执行打印语句;第三次f o r 循环,y 的值为6,y%3 的值为0,满足条件打印一y,即先减一后打印,所以打印5;第四次f o r 循环,y 的值为4,不满足i f 条件,不执行打印语句;第五次f o r 循环,y 的值为3,满足i f 条件,打印输出2;第六次f o r 循环,y 的值为1,不满足条件,不执行打印语句。94.单选题 下列程序段的输出结果是()c h a r c l=97,c 2=98;p r i n t f(%d%c,c l,c 2);A)a bB)97 98097 bD)a 98答案:C解析:95.单选题 下列函数定义中,会出现编译错误的是()A)m a x(i n t x,i n t y,i n t*z)*z=x y?x:y;)B)i n t m a x(i n t x,y)i n t z;z=x y?x:y;r e t u r n(z)C)m a x(i n t x,i n t y)i n t z z=x y?x:y r e t u r n(z)D)i n t m a x(i n t x,i n t y)r e t u r n(z=x y?x:y);答案:B解析:*z=x y?x:y;i n t z;z =x y?x:y;r e t u r n z;i n t z;z =x y?x:y;r e t u r n(z);r e t u r n (x y?x :y);)96 .单选题 程序段i n t n=3;d o (p r i n t f (%d,n);w h i l e(!n);的执行结果()A)3 2 1B)203D)死循环答案:C解析:97.单选题 有以下程序段I n t k=0W h i l e(k=l)k+;w h i l e循环执行的次数是()。A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次答案:C解析:98.单选题 以下正确的说法是A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义和函数的调用均可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义不可以嵌套,但函数的调用可以嵌套答案:D解析:99.单选题 设a、b和c都是i n t型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是A)a&A b B)a =bC)a|+c&b-cD)!(a b)&!c|1)答案:D解析:1 00.单选题 有以下程序:t t i n c l u d e U s i n g n a m e s p a c e s t d;V o i d p o i n t (c h a r *p)(p+=3;I n t m a i n()c h a r b 4=a,*p=b;p o i n t(p);c o u t *p b?(a c?l:0):0);功能等价的是()OA)i f(a b)&(a c)k=l;e l s ek=0;B)i f(a b)|(a c)k=l;e l s ek=0;C)i f(a b)k=0;e l s ei f(a c)k=l;e l s e k=0;D)i f(a c)k=l;e l s ei f(a b)k=0;e l s ek=0;答案:A解析:1 06 .单选题 下面关于C 语 言 数 据 文 件 的 叙 述 中 正 确 的 是。A)文件由A SC H码字符序列组成,C 语言只能读写文本文件B)文件由二进制数据序列组成,C 语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件D)文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件答案:D解析:1 07 .单选题 有如下程序段I n t a=1 4,b=1 5,x;c h a r c=A;x=(a&b)&(c 0;j-=2)a+;B)f o r(i=0;j 1 5;j+=2)a+;C)f o r(i=0;i 0;i-=2)a+答案:A解析:1 09.单选题 C 语言中,形参缺省的存储类型说明是A)a u t oB)s t a t i cC)r e g i s t e rD)e x t e r n答案:A解析:1 1 0.单选题 选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为真或假。哪个数作为逻辑假值()。A)非零的数B)10-1D)O答案:D解析:1 1 1 .单选题 在C 语言中,一维数组的定义方式为:类型说明符数组名()。A)整型常量B)常量表达式C)整型常量 或 整型表达式D)整型表达式答案:C解析:1 1 2 .单选题 程序段 i n t n =3;d o p r i n t f (%d ,n);w h i l e (!n);”的执行结果是A)3 2 1B)20 3D)死循环答案:C解析:1 1 3.单选题 有以下程序t t i n c l u d e V o i d m a i n ()(I n tA.b;Fo r (a=0;a 3;a+)(Sc a n f(%d,&b);Sw i t c h(b)(D e f a u l t:p r i n t f(%d,b+);C a s e 1:p r i n t f(%d,b+);C a s e 2:p r i n t f(%d,b+);程序运行时输入:1 2 3回车,则输出结果是 oA)l,2,3,B)l,2,2,3,4,5,01,2,3,2,3,3,D)l,l,l,2,2,3答案:B解析:表达式与逻辑值的对应关系;s w i t c h中没有b r e a k的执行顺序