c语言试题题库_第1页
c语言试题题库_第2页
c语言试题题库_第3页
c语言试题题库_第4页
c语言试题题库_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

一、单项选择题

1-1.以下是面向进程的次序计划言语.

A.呆板言语B.也编言语C.初级言语D.笫四代言语

1-2.次序计划普通包含以下四个步调,此中起首应当实现的是

A.计划数据构造跟算法B.树破数学模子

C.编写次方D.谢试运转次序

1-3.以卜常用算法中,合适盘算等差级数的兑法是。

A.罗列法B.递推法C.分治法D.摔序法

1”,以下不属于算法根本特点的是,

A.有力性B.无效性C.牢弁性D.有一个或多个输入

1-5.上面描绘中,不准确的选项是,

A.次序确实是软件,但软件不只仅是次序。

B.次序是指令的聚集,盘算机言语是编写次序的东西.

C.盘算机言语掂本上方法化言语,它有严厉的语法例那么跟界说。

D.盘克机言语只能编写次序而不克不及表现克法。

16上面描绘中,准确的选项是。

A.构造化次序计划办法是面向进程次疔计划的主流。

B.算法确实是盘克办法。

C.一个准确的次序确实是指次序誓写准确.

D.盘算机言语是编写次序的东西而不是表现算法的东西.

1-7.上面描绘中,不准确的选项是。

A.递归法的要害是必需有一个递归停止前提。

B.递归算法请求言语存在重复自我挪庄子次序的才能。

C.对于统一个咨询题,递推算法比递归算法的履行时间要长。

D.递推究法总能鲂转换为一个递归算法。

1-8.N-S图与传统流程图比拟,其要素长处是。

A.根绝了次序的无前提转移.

B.存在次序、选择跟轮回三种根本构造。

C.庞杂、宜不雅.

D.有利于编写次序

二、填空题

1-9.在流程图标记中,推断框中应当填写的是。

1-10.构造化次序计划是应遵照的办法跟原则.

1-11.构造化次序必需用次序计划言语来编写.

1-12.能够被延续履行的一条条指令的烫集称为盘兑机的0

1-13.只描绘次序应当"做什么",而不用描绘"怎样做•■的言语被称为。

1-14.任何庞杂或庞杂的算法基本上由跟这两个因素构成.

1-15.算法的特点是指:一个匏法必需在履行无限个操纵步调后停止。

1-16.在三种根本构造中,先履行后推断的构造被称为。

1-17.在次序计划中,把处置咨询咫断定的办法跟无限的步调称作为4

1-18.次序计划作风要紧妨码次序的,

1-19.用模块组装起来的次序被称为构造次序。

1-20.采纳自上而下,逐渐求精的计划办法便于。

三、运用题

1-21.用任何一种熟习的办法描绘求N个数中最小数的算法,

1-22.试用罗列法计划例1-4中百钞票买百鸡咨询期的莫法,并用流程图表现.

1-23.分不用递推跟递归两种克法盘算麦波那契数列:

f(n+2)=f(n+1)+f(n),f(1)=f(0)=1

的前30项,并用流程图表现.

1-24.求例1-6中方程x3-x-1=0在x=1.5左近的一个根,试用迭代法计划其算法,并用流程图表现.

1-25.有一分数序列如下:

235813

999_••••

12358

试用迭代法求出那个数列前20项之跟,用流程图表现其算法.

1-26.对输入的恣意三个数ahc,请求按从小到年夜的次序把它们打印出来,用流程图表现该算法。

1-27.推断一个整数n是否同时被3垠7整除,用流程图表现该算法.

1-28.求某课全班的均匀分.用潦程图表现该算法.

习题二

一、单项选择题

1-1.以下不是C言语的特色.

A.言语的表白才能强B.语法界说泮厉

C.数据构造零碎化D.操纵流程构造化

1-2.C编译零碎供给了对C次序的编纂、编译、衔接跟运转情况,以下能够不在该情况下进展的是

A.编纂跟编译B.端译跟衔接

C.衔接跟运转D.瀛纂翻运转

13以下不是二进制代码文件.

A.规范库文件B.目的文件

C.源次序言件D.可履行文件

14上面各选项组中,均属于C言语要害字的一组是。

A.auto,enum,includes.switch.typedef.continue

C.signed.union.scanfD.if•struct,type

1-5上面四组字符串中,都能够用作C言语程标识符的是。

A.printB.I\amC.signD.if

_mafscanf3mfty_pe

mx_2dmx_a.fx1#

aMb6AMBA&B5XY

1-6.以卜.不属于流程操纵语句的是。

A.表白式语句B.选择语句

C轮回语句源次序言件D.转移语句

1-7.上面描绘中,不准确的选项是。

A.C次序的函数体由一系列语句跟正乂构成.

B.正文内容不克不及独臼写在一行上.

C.C次序的函数阐明局部包含对函数名、函数范例、方法参数等的界说跟阐明;

D.scanf题printf是规苑而忸数而不是输入跟输入语句。

1-8.上面描绘中,准确的诜顶是。

A.主函数中的花括号必儒有,而子函数中的花括号是无关赞要的.

B.一个C次序行只能写一个语句。

C.本函数是次序启动时独一的进口。

D.函数体包含了函数阐明局部.

二、填空题

1-9.一个完好的C次序至多要有一个_______函数.

1-10.规范库函数不是C言语自身的构成局部,它是由供给的功用函数。

1-11.C次序是以为根本单元,全部次序由构成。

1-12.常用的规范库函数无数学函数、字符函数跟字符小函数、酬志iHi配函数、随讥函数跟的数

等几多个年夜

类。

1-13.规范库函数寄存在文件中,

1-14.目的次序宫件的扩年夜名是.

115.次序衔接进程是将目的次序、或其余目的次序衔接拆卸成可履行文件.

1-16.由于源次序是范例的文件,因此它能够器存在文本编纂功用的任何编纂次序实现编纂。

三、运用题

1-17.你以为C言语的要紧特色跟用处是什么?它跟别的初级言语有什么差别?

1-18.C言语以函数为次序的根本单元,它有什么益处?

1.19.C言语次序构造的特色是什么?由哪些根本局部构成?

1-20.C言语标识符的总化是什么?定名规则是什么?与要古字有何区不?

1-21.指出以卜标记中哪些是C言语标识符?哪些是要害字?哪些既非标识符亦非要需字?

struau_to_autosizeof3idfilemj_n

-mincall..menuhelloABCSIN90n*mx.y

x1234untilcos2x12341234hellos+3s_3

1-22.什么是规范C跟ANSIC

1-23.什么原因能够称C为"中级言冏

1-24.请参按例2-1,编写一个能输入一个庞杂课程表的C次序,并上机选转该次序.

1-25.请参按例2-2跟图1-2的潦程图,貌写恣意两数交流的C次序,谓求分不输入交流前的两数跟交

换后的两数.上机运转该次序。

1-26.上机运转本章例2・1掖例2・1的C次序。

习题三

一、单项选择

料.C言语中字符型(char)数据在内存中的方法存储是。

A.原码B.补码C.反码D.ASCII码

1-2.运算符有优先级.在C言语中对于运算符优先级的准确表白是.

A.逻辑运算符高了算术运算符,算术运算符高丁关联运算符

B.算术运算符高于关联运算符,关联运经符高于逻辑运算符

C.算术运算符高于逻辑运经符,逻辑运算符高于关联运算符

D.关联运道符将于逻辑运克符,逻辑运算符高于克术运舞符

1-3.C言语并不是特不产加的算法言语,在以下对于C言语的不严历的表白中,过错的说法是.

A.任何差别数据范例都不克不及够同凡

B.有些差别范例的变量能够在一个表白式中运和

C.在赋值表白式中等号(=)左边的变量眼左边的值能够是差别范例

D.统一个运克标记在差别的场所能够有差别的含意

1-4.以下选项中属于C言语的数据范例是。

A.单数型B.逻辑型C.双精度型D.聚集型

1-5在C吉瑞中,ini、cha休short三品种里数据所占用的内存。

A.均为2个字节B.由用户本人界说

C.由所用呆板的呆板字长决议D.是遏崽的

1-6.以下常数中不克不及作为C的常信的是。

A.0xA5B.2.5e-2C.3e2D.0582

1-7.设int范例的数据长度为2个字节,那么unsignedint范例数据的取值范啮是«

A.0至255B.0至65535D.-256至255c.-32768至32767

1T.在C言语中,数字029是一个。

A.八进制数B.十六进制数C.十进制数D」E当数

1-9.以下能够准确表现字符型常数的是C.、n"D.2971-10.以下过僭的本义字符是

AAVB.VCASI'DAO'

1-11.C言语中整数-8在内存中的存储方法是

A.1111111111111000B.1OOOOODOOOC01000

C.0000000000001000D.111111111r10111

1-12.曾经明白inti:floatf;准确f勺语句是•

A.(intf)%iB.int(f)%iC.int(f%i)D.(int)f%i

1」3.曾经明白:chara:intb:floatc:doubled;履行语句c=a+b+c+d:后.变:ftc的数据范例是

A.intB.charC.floatD.double

1-14.曾经明白inti,a:履行语句"i=(a=2*3.a*5).a+6:”后,变量i的值是。

A.6B.12C.30D.36

1-15.曾经明白inti=5:履行语句i+=+・i:i的值是.

A.10B.11C.12D.A.B.C谜底都过错

1-16.字符串"W22aQ\n”的长度是。

A.8B.7C.6D.5

.曾经明白:charc='A':inti=1.j;履行语句j=!c&&i++:那么阀的值是.

A.1.1B,1.0C.2.1D.2.0

1-18.曾经明白:intx=1,y=2.z:那么履行:z=x>y++x:++y:那么z的值为。

A.1B.2C.3D.4

1-19.为求出s=10!的值,那么变量s的范例该当为

A.intB.unsigedC.longD.以上三品种型均可

1-20.曾经明白:floatx=1,y;那么:y=++x,++x的后果为。

A.y=9B.y=6C.y=1D.表白式是过错的

1-21.曾经明白"inta=4,b=5,c;",那么履行表白式"c=a=a>b"后变量a的值为。

A.0B.1C.4D.5

1-22.曾经明白:charw;intx:floaty;doublez:那么表白式Wx+z-y后果的范例是。

A.floatB.CharC.intD.double

1-23.选出使变量i的运转后果为4的表白式。

A.inti=0,j=0;B.inti=1,j=0;

(i=3,(j++)+i);j=i=((i=3)2);

C.inti=0,j=1;D.inti=1,j=1;

(i==1)(i=1):(i=3);i+=j+=2;

1-24.曾经明白:intx:那么运用逗号运算的表白式"(x=4,5,x,5),x+25"的后果为①,变量X的值为②,

①A.20B.100C/白式分歧法D.45

②A.20B.100C.125D.45

1-26.限行上面语句后x的值为。inta=14,b=15tx;charc="A';x=((a&b)&&(c<'a'));

A.TRUEB.FALSEC.0D.1

1-27.假定界说了intx;那么将x强迫转化成双精度范例应当写成A.(double)xB.x(double)C.double(x)

D.(x)double

1-28.要推断char型变段m是否是数字,能够运用以下表白式.

A.0<=m&&m<=9B.'0'<=m&&m<='9'C.,0"<=m&&m<=',9"D.后面三个谜底均是过错的

二、填空题

1-29.正数在盘算机中是以方法表现.

1-30.双精度型实数的表现范晡是,其无效位是,

1-31.关联表白式的运算后果是值。

1-32.逻辑运算符!是运算符,其联合性是由。

1-33.表白式的运算东西能够是常数、变量盘,

1-34.曾经明白chare:表白式(c>=48&&cv=57||c>=65&&c〈=90||c>=97&&cv=122)&&c==27的值为1,那么变

量c的值能够是。

1-35.曾经明白:a=15.b=240;那么表白式(a&b)&b||b的后果为.

1-36隋经明白在ASCII代码中,字母A的序号为65,以卜次序的输入后果是。

#include<stdio.h>

main()

{charcl='A',c2='Y';

printf("%d.%d\n-,c1,c2);

}

三、运用题

1-37.上面次序的输入是.

main()

{intx=10,y=10;printf('%d%d\n",x—.—y):

)

>38.剖析上面次序履行后的后果.

main。

{inta=3,b=7:

printf("%d\n",a+++++b);/*Q7

printfC%d\n",b%a);r②•/

printf("%d\n'.!a>b);/*③♦/

printf("%d\n",a+b);/*@7

printf("%d\n",a&&b);/*⑤•/

)

1-39.剖析表白式(c>=48&&c<=57||c>=65&&c<=90||c>=97&&cv=122)&&c==27的盘算后果能够是什

么。

1-40.在C言语中,怎么样辨别求负与减法运算?怎么样辨别取地点运算用按位与运算?

习题四

一、单项选择

第.

曾经明白:chara:intb:floatc:doubled:那么盘算表白式a'c+c-d之后,后果的数据范例。A.charB.

intC.floatD.double

4-2.以下选项中不是C语句的是。

A.{inti;i++;printf("%d\n",i);}B.;

C.a=5,c=10D.{;}

4-3.以下正当的C语句是。

A.{a=b};B.k=int(a+b);C.k=a+b=c;D.--i;

4-4.履行以下次序段后,c3的但是.

intc1=1,c2=2,c3;

c3=c1/c2;

A.0B.1/2C.0.5D.1

4-5.假定inta,bc_。那么为它们输入数据的准确输入语句是

A.read(a,b,c);B.scanf("%d%d%d",a,b,o);

C.scanf("%D%D%D",&a,%b,%c);D.scanf("%d%d%d".&a.&b,&c);

4-6.假定floatahc;饕经过语句:scanf(-%f%f%f,&a.&b,&c);分不为a,b,c输入10,22,33。以下

不准确的输入方法是一°

A.10B..33.0C.10.0D.1022

2222.033.033

33

4-7.假定在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,那么准确的输入语句是。

A.scanf("%r.&c):B.scanf("%8.4r.&c);

C.scafn("%6.2f,&c);D.scanfC%8",&c);

4-8.履行语句:printf("|%10.5f|\n-,123^5.678);的输入是—,

A.|2345.67800|B.|12345.6780|C.|123^5.67800|D.|12345.678|

4-9.限定有以下次序段,其输入后果是一°

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(-%d,%d,%d\n”,a,b,c);

A.3,0,-10B.0,0,5C.-10.3,-10D.3,0.3

4-10.假定a为int范例,且a=125,履行以下语句后的输入是一,

printf(-%d,%o,%x\n-aa+1,a+2)

A.125,175,7DB.125,176,7FC.125,176.7DD.125,175.2F

二、填空题

4-11.(a=3;c+=a-b;}在语法上被以为是条语句。空语句的方法是

4-12.假定floatx;以下次序段的输入后果是°

x=5.16894:

printf("%f\n",(int)(x*1000+0.5)/(float)1000);

4-13.以下次序段中输入语句现行后的粕入后果顺次是、跟。

inti=-200,j=2500;

printfC(1)%d%d",i,j);

printfr(2)i=%d,j=%d\n",i,j);

printf("(3)i=%d\nj=%d\n",i,j);

4-14.当运转以下次序时,在键盘上从第一列开场输入9876543210/(此处/代表回车),那么次序的输入结

果是。

main()

{inta;floatb,c;

scanf("%2d%3f%4f',&a,&b,&c);

printf(n\na=%d,b=%f,c=%An",a.b,c);

)

4-15.以卜次序段,请求经过scanf函数给变量赋值,而后输入变量的值。

写出运转时给k输入100,给a谕入25.81,给x输入1.89234时的三种能够的输入方法、眼.

intk;floata;doublex;

scanf("%d%f%ir,&k,&a,&x);

pimtf("k=%d,a=%f,x=%f\n".k.a.x);

4-16.履行以卜次序段后,输入后果是。

inta.b.c;

a-b-c-0;

c=(a-=a-3),(a=b,b+3);

printf("%d,%d,%d\n-.a.b.c);

4-17.上面次序的输入后果是。

main()

{intx=10,y=3,z;

printfC%d\n",z=(x%y,x/y));

)

4-18.假定ooubiea,0,c;

请求为a、b、c分不输入10、20、30.输入序列为:9表现空格)

。10.0。。20.0口。30.0/

那么准确的输入语句是。

4-19.上面次序的输入后果是・

main。

{doublea;floatb;intc;

c=b=a=40/3;

printf("%d%f%f\n",c,b.a);

)

4-20.假定有inta=10,b=20,c=30;那么轮使a跟c的值调换的i开句是

三、编程题

4-21.编写次序,输入如下信息:

verygood!

4-22.编写次序,愉入9时23分并把它化身分伸后输入。(从零点整开场盘算)。

4-23.编写次序,分不转换摄氏温度-10DC、00C,150C,340c为华氏温度。摄氏温度与华氏温度满意以下

关联式(C表现摄氏温度,F表现华氏温度):

C=(5/9)(F-32)

4-24.设圆半径为5,编写次序,求圆的周长跟面积。

4-25.编写次序,输入三角形的34、边长A、B、C,求三角形的面枳SS。公式为:

SS=

此中,S=(A+B+C)/2

4-26.设a=3.b=4,c=5,d=1.2,e=2.23,f=*43.56,编写次序,使次序输入为:

a=oo3,b=4ao°,c=**5

d=1.2

e=DD2.23

f=-43.5600nn**

4-27.编写次序,读入三个整数给a、b、c,而后交流它们中的数,使a寄存b的值,b寄存c的值,c存

放a的值。

4-28.编写次序,输入三个数a,b,c,求它们的均匀值。并按如下方法输入:

averageof*.**and**is**.**

此中,三个“顺次表现ahc的值,••・“表现a,b,c的均匀值。

4-29履行以下次序,按指定方法输入"表现空格),是否失失落指定的输入后果?假定不克不及,请修正次序,

使之能失失落指定的输入后果。

输入:2a3a4/

输入:a=2,b=3,c=4

x=6,y=24

次序:

main()

{inta,b,c,x,y;

scanf("%d,%d.%d",a.b,c);

x=a*b;y=x*c;

printf("%d%d%d",a,b,c);

printfCx=%f\n",x,"y=%f\n",y):

)

习题5

一、单项选择

磐l.if语句的操纵前提.

A.只能用关联表白式B.只能用关联表白式或逻辑表白式

C.只能用逻辑表白式D.能婚用任何麦白式

宇2.以下次序的输入后果是。

main()

{floatx=2.y:

if(x<O)y=O;

elseif(x<5&&!x)y=1/(x+2);

elseif(x<10)y=1/x;

elsey=10;

printfC%ftn",y);

)

A.O.O0OOO0B.O.25OOO0C.O.5OO0OOD.10.000000

展3.限行以下次序段后,a.b,c的值分不是。

inta,b-1OO,c,x-10,y-9;

a=(-x==y++)-x:++y;

if(x<9)b=x++;c=y;

A.9.9.9B.8.8.10C.9.10.9D.1,11,10

5Y.府行以卜次序段后,x、y跟z的值分不是.

intx=10,y=20,z=30;

if(x>y)z=x;x=y;y=z;

A.10,20,306.20,30.30C.20,30,10D.20.30.20

舁4.以下次序的输入后果是一..

main()

{intw=4,x=3,y=2,z=1;

if(x>y&&!(z==w))printf("%d\n",(w<xw:2<yz:x));

elseprintf("%d\n",(w>xw:z>yz:x));

)

A.1B.2C.3D.4

52.上面的次序片断所表现的数学函数关联是。

y=-i;

if(x!=0){if(x>0)y=1:}

elsey=O;

-1(x<0)1(x<0)

A.y=0(x=0)B.y=-1(x=0)

1(x>0)0(x>0)

0(x<0)-1(x<0)

C.y=-1(x=0)D.y=1(x=0)

1(x>0)0(x>0)

宇7.假定履行以下次序时从键盘上输入3c4.那么输入后果是(口表现空格)。

main()

{inta,b.s;

scanf("%d%d",&a,&b);

s=a;

if(a<b)s=b:

s*=s;

printf(M%d\n",s);

)

A.14B.16C.18D.20

5-9.假定a跟b均是解型变量,以卜准确的switch语句是。

A.switch(a/b)B.switch(a*a+b*b);

{easel:case3.2:y=a+b;break;{case3:

caseO:case5:y=a-b;case1:y=a+b;breaK;

}caseu:y=b-a;break:)

C.switchaD.switch(a+b)

{default:x=a+b;{case10:x=a+b;break;

easel0:y=a-b;break;case11:y=a-b;break;

easel1:y=a*d;break;}}

二、填空题

5-10.if语句操纵表白式只要其假为时表现逻辑"真,其值为表现逻辑・假

5-11.if(!k)a=3;语句中的Ik能够改写为,使其功用稳定。

5-12.表白”假定冈>4,那么输入x,否则输入:error!”的if语句是。

宇13.能准确表白"当x的值是[1,10]或[200,210)范畴内的奇数时,输入x”的if语句是,

5-14.以下次序段的输入是

inti=0,k=100,j=4;

if(i+j)k=(i=j)(i=1):(i=i+j);

printfC'k=%\n",k);

5-15.以下次序段当a的值为014跟0x14时的股行后果分不是。

if(a=0xA|a>12)

if(011&10==a)printf("%d!\n",a):

elseprintf("Right!%d\n",a):

elseprintf("Wrong!%d\n",a);

5-16.以下次序的输入是。

main()

{inta=0,b=0.c=0;

if(a=b+c)printf('***a=%d\n',a);

elseprintf("$$$a=%d\n",a);

)

午17.以下次序的输入后果是。

#include"stdio.h"

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{easel:switch(y)

{caseO:a++;break;

easel:b++;break;

)

case2:a++;b++;

)

printf("a=%d,b=%d\n",a,b);

}

中18.假定以卜次序履行后t的值为4,那么履行时输入a力的值范畴是,

#include"stdio.h"

main()

{intalb,s=1,t=1;

scanf("%d.%d-.&a,&b);

if(a>0)s+=1;

if(a>b)t+=s;

elseif(a==b)t=5;

elset=2*s;

printfC's=%d,t=%d\n",s,t);

)

三、编程题

5-19.以卜次序求3个整数中的最小值次序是否有错?假定有错,请矫正。

main()

{inta,b,s,t;

scanf("%d,%d",&a,&b);

if(a>b)&&(a>c)

ifb<cprintf("min=%d\n",b)

elseprintf("min=%d\n",c)

if(a<b)&&(a<c)printf("min=%d\n",a)

)

5-20.给出一个5位数,按逆序输入它的列位数字。如:输入12345,输入54321.

5-21.有一函数:

x(-5<x<0)

y=x-1(x=0)

x+1(0<x<10)

分不用:(1)庞杂if语句(2)联套的if语句

⑶if-else语句(4)switch语句

编写次序,请求输入x的值.输入y的值.

的22.编写次序,输入一位先生的诞辰(年:y0、月:m0、□:d0;:并输入以后的日期(年:y1、月:

ml、日:d1):输入该生的实足年纪.

争23.编写次序,输入3个整数.推断它们是否能够形成三角形,假定能形成三角形,那么输入三角形的范例

(等边、等腰或普通三角形)。

字24.将以下次序用switchi部句改写,并使其功用稳定。

main()

{intx.y;

scanf("%d'.&x);

if(x<20)y=1:

if(x<30)y=2;

if(x<40)y=3;

if(x<50)y=4;

if(x<60)y=5;

elsey=6;

printf("x=%d.y=%d\n",x,y);

)

宇25.某市律为促销推出如下让利贩卖计划,此中M为政置金额.N为让利百分比。

M<100,N=0:100<=M<200,N=1.5%;

200<=M<300tN=2.5%;300<=M<400,N=3.5%:

400<=M<500,N=4.5%;500<=M<600,N=5.5%

M>600,N=6%:

编写次序,对输入的购置金额,输入主顾购置金额、实践领取的金额跟返还的金额。

5-26.编写次序,盘算从1995年元月1日至2000年12月10日共有儿多天。苗年的仲春有29天。闺年Y

•满意如下前提:丫能被400整除或丫能被4整除,但不克不及被100整除。

5-27.编写次序,输入一个不超越5位数的正整数,输入它的个位数,并指出它是儿多位数。

5-28.编写次序,加密数据。办法:龙给定命值,每一位数字均加2,且在[0,9]范畴内,假定加密后某位

数字年夜于9,那么取其被10除的余数.如:6987加密后为8109,

习题六

一、单项选择

超1.以下次序履行的后果是。

a=1;b=2;c=3;

while(a<b<c){t=a;a=b;b=t;c-;}

printf("%d.%d,%d",a.b.c);

A.1,2,0B.2,1,0C.1,2,1D.2,1,1

62履行语句for(i=1;i++<4;);后J的值是。

A.3B.4C.5D.不定

6-3.以下次序段。

x=3;

do{y=x-;

if(!y){printf("x");continue;}

printfC#");

}while(1<=x<=2);

A.输入##B椅入##xC.是逝世轮回D.有看法错

6Y.假定intx:那么履行以F次序段后输入是。

for(x=10;x>3;x")

{if(x%3)x-;-x;-x;

printf("%d”,x);

)

A.63B.74C.62D.73

6-5.以卜.说法中准确的选项是。

A.break用在switch语句中,而continue用在轮回语句中。

B.break用在轮回语句中,而continue,用在switch语句中”

C.break能完毕轮回,而continue只能完毕本次轮回。

0.continue能完毕轮回I,而break只能完毕本次轮回.

66指出次序完毕之时,j、i、k的值分不是。

main()

{inta=10,b=5,c=5,d=5,i=0,j=0,k=0;

for(;a>b;++b)i++;

while(a>++c)j++;

dok++;while(a>d++);

)

A.j=5,i=4,k=6;B.i=5,j=4,k=6;C.j=6,i=5,k=7;D.j=6,i=6,k=6;

6-7,上面次序的输入后果是。

main()

{inti,j;floats;

for(i=6;i>4;i")

{s=0.0;

for(j=i;j>3;j-)s=s+i*j;}

printf(M%f\n",s);

)

A.135.000000B.90.000000C.45.000000D.60.000000

6-8.假定有:do{i=a-b++;printfC%d".i);}while(!i);

那么while中的!i可用替代,

A.i==OB.i!=1C.i!=0D.以上均过错

二、填空题

6-9.以下while轮回履行的次数是。

k=0;while(k=10)k=k+1;

6-10.以下次序段的.履行后果是。

intj;

for(j=10;j>3;j-)

printf("%d",j);}

6-11.以下轮向语句履行次轮回?

intij:

for(i=5;i»

forG=0;j<4;j++){……}

6-12.以下次序段的输入后果是。

inti=0,sum=1;

do{sum+=i++;}while(i<5);

printf(M%d\n",sum);

6-13.履行以下次序后,输入是。

#include"math.h"

main()

{floatx.y.z;

x=3.6:y=2.4;z=x/y;

while(1)

if(fabs(z)>1){x=y;y=x;z=x/y;}

elsebreak;

printfC%ftn",y);}

6-14.以下次序的输入后果是。

main()

{inti;

for(i=1;i<=5;i++)

{if(i%2)printf("*M);

elsecontinue;

printf("#");}

printf("$\n");

)

6-15.以下次序的输入后果是。

main()

{inty=10;

for(;y>0;y-)

{if(y%3)continue:

printf("%4dM,-y);

)

)

6-16.有以下次序段:

s=1.0;

for(k=1;k<=n;k++)s=s+1.0/(k*(k+1));

printfC%f\n",s);

请填空,使上面的次序段的功用完整与之同等。

s=o.o;k=o::

do{s=s+d;;

d=1.O/(k*(k+1));

}while():

printf("%f\n",s);

6-17.以下次序的功用:从键盘上输入假定干先生的成果,统计并输入最高成果眼最低成果,当输入正数时

完毕输入,填空,使次序准确。

main()

{floatx.amax.amin;

scanf("%f,&x);

amax=x;amin=x;

while()

{if(x>amax)amax=x;

if()amin=x;

scanf("%r,&x);

)

printf("\namax=%f\namin=%f\n",amaxamin);

)

三、编程题

6-18.求1-3+5-7+……-99+101的值。

6-19.恣意输入10个数,盘算一切正数的眼、正数的跟以及这10个数的总跟.

6-20.恣意输入小于32768的正整数s,从s的个位开场输入每•位数字,用过号离开。

6-21.对输入的止整数a,b.求ab的用初3位数。

6-22.输入6个先生的5门课成果,分不求出每个先生的均匀成果。

6-23.编写次序,求e的近似值.

e=1+1/2!+1/3!+……+1/n!

⑴盘算前60项。

⑵热经各项,直到最初一项的值小于10*4为止(盘算的项均年夜于即是10-4).

6-24.设X数列界说如下:

nn=1,2,3

xn-1+xn-2+xn-3n>3

编写次序,对输入的正整数n,输入x数列的前n项。

6-25.输入一切年夜于1010的4位偶数,且该偶数的列位数字两两不一样。

6-26.用40元买苹果、西瓜跟梨共100个,3种生果都要•曾经明白革果0.4元一个,西瓜4元一个,梨0.2

元一个。咨询能够各买几多个?输入全体购置计划。

6-27.编写次序,输入以以下列图形:

习题七

一、单项选择

磐1.以下次序的输入后果是一。

main()

{intn(2]={0},i,j,k=2;

for(i=0;i<k:i++)

for(j=0;j<k;j++)

n[j]=n[i]+1;

printfC%d\n",n[1]);}

A.不断定的值B.3c.2D.1

7-2.以下次序的输入后果是一。

main()

{inti,k,a(10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i:

for(i=0;i<3;i++)p[i]=a(i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

printf("%d\n",k);

)

A.20B.21C.22D.23

7・3.以下准确的数组界说语句是一。

A.inty⑴[4R123,4,5};

Bfloatx[3]0={{1}.{2}.{3}):

C.longs(2J[3]={{1},{1,2},{1,2,3));

D.doubletO[3]={0};

7-4.假定有阐明:inta[][4k那么a皿]前有一个元素。

A.jM+iB.i*4+jC.i*4+j-1D.iM+j+1

7・5.以下次序的输入后果是—•

main()

{intm[3][3]={{1},{2},{3}};

intn(3](3]-{1,2,3)

printfC%d\n-,m(1J[0]+n[0][0]);printfC%d\n",m[0][1]+n[1](0]);}

A.0B.2C.3D.1

0302

72.以下次序的输入后果是一。

main()

{inti,x(3][3]={1,2,3,4,5,6,7,8.9);

for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}

A.1,5,9,B.1.4,7tC.3,5.7,D.3,6,9,

7-7.以卜次序一(每行前的数字表现行号).

1main()

2{floata[10]={0.0};inti;

3for(i=0;i<3;i++)scanf('<%d",&a(i]);

4for(i=1;i<10;i++)a[0]=a[0]+a[i];

5printf('%An"<a[0]):

)

A.不过错B.第2行有错C.第3行有错D.笫5行有错

7-8.以下次序段的功用是一。

main()

{intj,k.e,t.aD={4,0,6,2.64.1}:

forG=0;j<5;j++)

«=j;

for(k=j;k<6;k++)if(a[k]>a[t])t=k;

e=a[t];a[t]=aO]:aO]=e;}

for(k=0;k<6;k++)

printfC%5d",a[k]);

)

A.刻数组进展气泡法排序(升序)B.对数组进展气泡法排序(落序)

C.对数组进展选择法排序(升序)B.对数组进展选择法排序(落序)

二、填空题

7-9.以下次序的输入后果是—.

main()

{intarr(20],i;

arr(O]=O;arr[1]=1;

for(i=2;i<20;i++)

arr[i]=arr[i-2]+arr[i-1];

for(i=0;i<20;i++)

{if(i%5==0)printf("\n");

printf("%10d",arr(i]);}

)

/-1O.以卜次厅•的功用:把a数组的仃跟夕I元素而换后存入b数组。请填至使次序准确。

main()

{inti,j,a(2](3]={1,2,3,4,5,6},b(3](2];

It

for(i=0;l<2;l++)

{for(j=0;一;j++)

{printf("%5d",a[i][j]);

一;}

printf("\n");)

for(i=0;___;i++)

{forG=0;j<=1;j++)printf("%5d",b[i]D]);

printfC'Vn");}

)

7”1.以下次序的功用:输入30团体的年纪,统计18岁、19岁、……、25岁各有几多人。填空,使次序

准确。

main()

{inti,n,age,a[30]={0};

for(i=0;i<30;i++)

{scanf("%d”,&age);;}

printf("agenumber\n");

for(___;i++)printfr%5d%6d\n",i,a(ij);

)

7-12.以下次序的功用:在给定命组中查孑某个数,假定寻到,那么输入该数在数组中的地位,否则输入"can

notfound!",填空,使次序准确。

main()

{inti.n,a[8]={25,21,57,34.12.9.4,44);

scanf("%d",&n);

for(i=0;i<8;i++)

if(n==a(i])

{printf("Theindexis%d\nB,i);

一;}

if(___)printf("cannotfound!\n");

)

7-13.以下次序的功用:把两个按升序陈列的数组兼并成一个按升序陈列的数组。域空,使次序准确.

main()

{inti=0,j=0,k=0,a[3]={5.9,19},b[5]={7.48},c[10];

while(i<3&&j<5)

if(一){c[k[=b[j];k++;j++;}

else{c[k]=a[i];k++;i++;}

while(—){c[k]=a[i];k++;i++:}

while(___){c(k]=b[j];k++;j++;}

for(i=0;i<k;i++)printf("%3d",c[il);

)

7-14.求出如下所示矩阵中各行元索之跟,并以矩阵方法输入原矩阵及响应行元素之跟”填空,使次序正

356

214

871

main()

{inti.j;

staticinta[3l[4]={{3,5,6.0},{2,1,4.0},{8,7,1,0}};

for(i=0;i<3;i++)

forG=0;j<3;j++)

aOH3]+=一;

for(i=0;i<3;i++)

for(___)

{printfC%3d-,a(i][j]);

if(一)printf(一);}

三、编程题

7-15.假定题7-15请求二维数组两条近角线元素值的跟,应怎样修正该次序

7-16.编写次序,界说一个数组,分不给予从2开场的30个偶数,而后按次序每5个元素求出一个均匀值,

并放在该数组的末端。

7-18.编写次序,发生30个随机数到数州中,恣意指定地位k,从第k个数开场顺次后移3个地位。愉入

挪动前后的数组.

7-19.编写次序,发生30个随机数到数组中,删除此中的最年夜值,输入删除前后的数组。

7-20.编写次序,输入恣息10进制4位正整数,将其化成二进制数,

7-21.编写次序,发生30个50以内的随机整数到5行6列数组中,输入那些外行跟列上均为最小的元素。

7-22.编写次序,发生30个[10,100)中的随机整数到5行7列数组a的前6列中,求每行元索值的跟,

并把跟值记载在各行的最初•个元素,如:a⑶问寄存的是2行的艰。而后招跟值最年夜的行与首行对换。

7-23.编写次序,发生30个[1,100]中的随机整数到5行6列数组中,恣意输入一个正整数k.输入数组

中与k巨细相差5以内的一切元素。

7-24.编写次序,发生30个[1,100]中船随机整数到5行6列数组中,按升序从新排序,并按列的次序存

放到另一个数组中。输入排序前后的状况。

7-25.编写次序,发生30个[1,100]中的随机整数到5行6列数组中,求此中最年夜值跟最小值,并把最年夜

值元素与右上角元素对换,把最小值元素与左下角元素对换.输入重排前后的状况.

习题九

一、选择题

9-1.C言语次序由函数构成。它的。

A.主函数必需在别的函数之前,函数内能够嵌套界说函数

B.主函数能够在别的函数之后,函数内不克不及够嵌套界说函数

C.主函数必需在别的函数之前,函数内不克不及够嵌食界说函数

D.主函数必需在别的函数之后,函数内能够联套界说函数

9-2.一个C言语次序的根本构成单元是.

A.主次序B.子次序C.函数D.进程

9-3.以下说法中准确的选项是.

A.C言语次序老是从第一个界说的函数开场履行

B.在C言语次序中,要挪用的函数必需在main()函数中界说

C.C言语次序老是从main。函数开场履行

D.C言语次序中的main。函数必需放在次序的开场同部

9-4.曾经明白函数abc的界说为:

voidabc()

{….…}

那么函数界说中void的含意是。

A.履行函数abc后,函数不前往值B.履行函数abc后,函数不再前往

C.履行函数abc后,能够前往恣意范例D.以上三个谜底满是过错的

9-5.在以下对C言语的描绘中,准确的选项是。

A.在C言语中挪用函数时,只能将实参的值通报给形参,形卷的值不克不及通报给实参

B.C言语函数既能够嵌套界说又能够递回挪用

C.函数必需有前往值,否则不克不及运用函

社C言语次序中有挪用关联的一切函契都必需放在统一源次序言件中

9-6.以下我白中过错的选项是。

A.在C言语中,函数中的主动变址能够赋初位,每挪用一次赋一次初也

B.在C言语中,在挪用函数时,实参型对应形参在范例上只要赋值兼容

C.在C言语中,内部变量的皓含类不是主动存储类不

D.在C言语中,函数形参的存储范例是主动(aut。)范例的变量

9-7.阐明语句"staticinti=1O「中"i=10"的含意是。

A.只阐明白一个静态变量B.与-auta=10;"在功用上等价

C.将变量i初始化为10D.将变期赋值为10

9-8.C言语中的函数.A.能够设套界说B.不克不及够嵌套挪用C.能够嵌套挪用,但不克不及递归挪用D.嵌

套挪用跟递归挪用均可

9-9C言语中函数前往值的范例是由决议的.Areturn语句中的表白式通例R挪用该函救的主调函

数范例C.挪用函数时音时D.界说函数时所指定的函数范例9-10.C言语规则,挪用一个函数时,实

参变量m形参变量之间的数据通报方法是。A.地点通报B.值通报C.由实参传给形参,并由形参传回

来给实参D.由用户指定通报方法

9-11.以下的论断中只要是准确的。

A.一切的递归次序均能够采纳非递归算法实现

B.只要局部递归次序能够用非递归兑法实现

C.一切的递归次序均不克不及够采纳IE递归算法实现

D.以上三种说法都过错

9-12.在以下论断中,只要•个是过锌的,它是,

A.C言语|可意函数的递归挪用

B.C言语中的sntinue语句,能第经过改动次序的构造而省略

C.有些递归次序是不克不及用非递归算法实现的

D.C言语中差别意在函数中再界说函数

9-13.在以下论断中,只要一个是准确的,它是・

A.递归函数中的方法参数是主动变量

B.递归函数中的方法参数是内部变量

C.递归函数中的方法参数是静态变墩

D.递归函数中的方法参数能够依照需求本人界说存储范例

9-14.以下论断中,只要一个是准确的,它是・

A.在递归函数中运用主动变量要特不瞽惕,由于在递归进程中,差别档次的同名变量在赋值的时分必定会

发生互相妨碍

B.在递归函数中运用主动变量要特不警惕,由于在递归进程中,差别档次的同名变量在赋值的时分能够会

发生互相妨用

C.在递归函数中运用主动变远不用担忧,由于在递归进程中,差别档次的同名变量在赋值的时分确信不会

发生互相妨碍

D.在C言语中无奈得出上述三个论断之一

9-15.在C言语的函数挪用进程中,假如函数funA挪用了函数funB,函数finB又挪用了函数funA,那么.

A.称为函数的直截了当।递归B.称为函数的直接递归

C.称为函数的递归界说D.C言语中差别意如此的递归方法

二、填空颗

9-16.变量的存储范例有种,它们是。

9-17.上面的函数sum(intn)实现盘算1〜n的累加跟。

sum(intn)

{if(n<=0)

printf("dataerror\n"):

if(n==1)①;

else©;

)

9-18.上面的函数是一个求阶乘的递归挪用函数。

facto(intn)

{if(n==1)①;

elsereturn(②);

)

三、编程题

9-19.编写一个推断一个整数是否是素数的函数,运用该函数编写验证13C0以内的哥德巴赫猜测是成破。

9-20.写一个次序,挪用函数留经明白一个回尚的半色、外径杀商,盘算该画面的体枳。

9-21.编写一个求水仙花数的函数,求100到999之间的全体水仙花数.所谓水仙花数是指一个三位数.

其列位数字破方的跟即是该数。比方:153确实是一个水仙花数:

153=1*1*1+5*5*5+3*3*3

9-22.请编写一个函数,输入整数m的全体素数因子。比方:m=120时,因子为:

2.2,2.3,5

9-23.曾经明白某数列前两项为2窕3,厥后继项依照以后的前两项的乘枳按以下规则天生:①假定乘积为一位

数,那么该乘积确实是数列的后继项:②假定乘枳为二位数,那么乘枳的十位跟个位数字顺次作为数列的后继项.

当N=10,求出该数列的前十项为:

2361886424

9-24.求组合数,编程盘算:

9-25.曾经明Flackermann函数,对于m>=0跟n>=0有如下界说:

ack(0.n)=n+1

ack(m,0)=ack(m-1,1)

ack(m,n)=ack(m-1,ack(m,n-1))

清编程输入m跟n,求出ack(m,n)之值。

9-26.用递归的办法打印杨辉三角形.

1

11

121

1331

14641

15101051

9-27.编写一递归次序实现恣意正整数向八进制数的转换.

9-28.请编写一个模仿轮盘赌的次序(arouletteprogram),该轮盘赌呆板班机的在。到35之间选择一个

数字.游戏者能的打奇/偶贴或打洋纲却的睇-博得奇/儡数睇时游戏丹以2比1莪奖.但假加轮盘赌机

器选中。那么一切奇/偶赌都输失落。恨如游戏者打一个详细数的赌,而轮就赌呆板恰好选中此数,那么他以35

比1获奖.

9-29.验证卡布列克运算。恣懑一个四位数,只要它们各个位上的数字是不全一样的,就有如此的法则:

①将构成那个四位数的四个数字由年夜到小陈列,形成由这四个数字形成的股年夜的四位数:

②将构成那个四位数的4个数字由小到午夜陈列,形成由这4个数字形成的最小的四位数(假如四个数字中

含有0,那么失失落的数缺乏四位):

③求两个数的差,失失落一个新的四位数。

重复以上进程,最初失失落的后果老是6174。

习题十

一、选择题

10-1.曾经明白:infp.a:那么语句"p=&a「中的运算符"&”的含意是。

A.位与运算B.逻辑与运算C.取指针内容D.取变量地点

10-2.曾经明白:inta,x:那么准确的赋值语句是・

A.a=(a[1]+a(2])/2;B.a*=*a+1;C.a=(x=1,x++,x+2);D.a="good";

10-3.曾经明白:inta/p=&a:那么以下函数挪用中过错的选

项是

A.scanf("%d",&a);B.scanf(-%d”,p);

C.printf(-%d",a);D.printf("%d-,p);

10-4.main(argc.argv)中方法参数argv的准确阐明方法该当为

A.char,argv[]B.charargvJQC.charargv(]D.char'argv

105阐明语句"int(M();”的含意是。

A.p是一个指向一维数组的指针变R

B.p是指针变量,指向一个整型数据

C.p是一个指向函数的指针,该函数的前往值是一个整型

温馨提示

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

评论

0/150

提交评论