《程序设计基础练习题.pdf》由会员分享,可在线阅读,更多相关《程序设计基础练习题.pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Shaanxi University of Technology 程序设计基础习题集计算机科学与技术系第一章程序设计概论一、选择题1 .一个C 程序的执行是从()A.本程序的m a i n 函数开始,到m a i n 函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序文件的第一个函数开始,到本程序m a i n 函数结束D.本程序的m a i n 函数开始,到本程序文件的最后一个函数结束2 .下列关于C 语言注释的叙述中错误的是()A.以“/*”开头并以“*/”结尾的字符串为C 语言的注释符B.注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C.程序编
2、译时,不对注释作任何处理D.程序编译时,需要对注释进行处理3 .下列不是C 语言的分隔符的是()A.逗号 B.空格 C.制表符 D.双引号4 .在 V i s u a l C+6.0 环境下,C 源程序文件名的默认后缀是()A.c p p B.e x e C.o b j D.d s p5.若在当前目录下新建一个名为“LX”的工程,则在当前目录下生成的工作区文件名为()A.LX.D S W B.LX.O P T C.LX.D S P D.LX.C二、问答题1 .简述程序的概念2 .简述算法的概念。3 .简述程序设计的一般方法和过程。4 .程序设计的表示方法有哪些?5.请用程序流程图设计出求n!的
3、算法。第二章程序设计的基本要素一、选择题1 .以下叙述不正确的是()A.Is-C 源程序必须包含一个m a i n 函数B.一个C 源程序可由一个或多个函数组成C.C 程序的基本组成单位是函数D.在 C 程序中,注释说明只能位于一条语句的后面2 .以下叙述正确的是()A.在对一个C 程序进行编译的过程中,可发现注释中的拼写错误B.在 C 程序中,m a i n 函数必须位于程序的最前面C.C 语言本身没有输入输出语句D.C 程序的每行中只能写一条语句3 .一个C 语言程序是由()A.一个主程序和若干个子程序组成 B.函数组成C.若干过程组成 D.若干子程序组成4 .下列四组选项中,均不是C 语
4、言关键字的选项是()A.d e f i n eI Ft y p eB.g e t cc h a rp ri n t fC.i n c l u d ec a s es c a n fD.w h i l eg op o w下列四组选项中,均是不合法的用户标识符的选项是(A.WP _ 0d oB.b-ag o t oi n tC.f l o a tl a O_AD.-1 2 3a b cT E MP下列四组选项中,均是合法转义字符的选项是()A.n,B.、0 1 7,,C.0 1 8 f x a b D.0 x l f 7 .所有C函数的结构都包括的三部分是()A.语句、花括号和函数体 B.函数名、
5、语句和函数体C.函数名、形式参数和函数体 D.形式参数、语句和函数体8 .C 语言程序由()组成A.子程序 B.主程序和子程序 C.函数 D.过程9.下面属于C 语言标识符的是(A.2 a bD.a l 21 0 .C 语言中主函数的个数是()A.2 个 B.1 个 C.任意个 D.1 0 个1 1 .下列关于C语言注释的叙述中错误的是()A.以“/*”开头并以“*/”结尾的字符串为C 语言的注释符B.注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C.程序编译时,不对注释作任何处理D.程序编译时,需要对注释进行处理1 2 .下列不是C语言的分隔符的是()A.逗号 B.空格 C.制
6、表符 D.双引号二、填空题1 .C 程序是由 构成的,一 个 C程序中至少包含 o因此,是C 程序的基本单位。2 .C 程序注释是由 和 所界定的文字信息组成的。3 .开发一个C程序要经过编辑、编译、和运行四个步骤。4 .在C语言中,包含头文件的预处理命令以 开头。5 .在C 语言中,主函数名是 0三、程序设计题1 .编写程序输出以下的图案*S *2 .试编写一个C程序,输出如下信息。Y o ur a r e w e l c o m e!第三章简单数据类型与变量一、选择题I .关于c 语言数据类型的叙述,正确的是()。A.枚举类型不是基本类型 B.数组不是构造类型C.变量必须先定义后使用 D.
7、不允许使用空类型2 .下面关于C 语言用户标识符的描述,正确的是()。A.不区分大小写 B.用户标识符不能描述常量C.类型名也是用户标识符 D.用户标识符可以作为变量名3 .以下叙述不正确的是()A.在 C 程序中,逗号运算符的优先级最低B.在 C 程序中,M A X 和 m a x是两个不同的变量C.若 a 和 b 类型相同,在计算了赋值表达式a=b 后,b中的值将放入a中,二 b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值4 .以 下()是正确的变量名。A.5 f B.i f C.f.5 D._ f 55 .以 下()是正确的常量。A.E-5
8、 B.1 E 5.1 C.a l 2 D.3 2 7 6 6 L6 .若有说明语句:c h a r c=95;则变量c 包 含()个字符。A.1 B.2 C.3 D.语法错误7 .语句x=(a=3,b=+a);运行后,x、a、b的值依次为()。A.3,3,4 B.4,4,3 C.4,4,4 D.3,4,38 .语句a=(3/4)+3%2;运行后,a的值为()。A.0 B.1 C.2 D.39.c h a r 型变量存放的是()。A.A S C I I 代码值 B.字符本身 C.十进制代码值 D.十六进制代码值1 0 .以下叙述正确的是()A.在 C 程序中,每行只能写一条语句B.若 a是实型变
9、量,C 程序中允许赋值a=1 0,因此实型变量中允许存放整型C.在 C 程序中,为是只能用于整数运算的运算符D.在C程序中,无论是整数还是实数,都能被准确无误地表示1 1.已知字母A的A S C II码为十进制数65,且c 2为字符型,则执行语句c 2=A+6 -3 后,c 2中的值为(A.DB.1 2.siz eo f(flo a t)是(A.一个双精度型表达式C.一-种函数表达式68))C.不确定的值D.CB.一个整型表达式D.一个不合法的表达式1 3.设C语言中,一个in t型数据在内存中占2个字节,则u n sig n e d i n t型数据的取值范围为()A.0-2551 4.设有
10、说明:据类型为(A.flo a tB.0-32767cha r w;in t x;)C.0-65535D.0-21 47483647flo a t y;d o u b le z;则表达式 w*x+z-y 值的数B.cha r1 5.设以下变量均为in t类型,A.(x=y=6,x+y,x+1)C.(x=6,x+1,y=6,x+y)C.in t D.d o u b le则值不等于7的表达式是()B.(x=y=6,x+y,y+1)D.(y=6,y+1,x=y,x+1)1 6.变量的指针,其含义是指该变量的()A.值B.地址C.名D.一个标志1 7.若有语句in t *p o in t,a=4;和p
11、 o in t=&a;下面均代表地址的一组选项是()A.a,p o in t,*&aB.&*a,&a,*p o in tC.*&p o in t,*p o in t,&aD.&a,&*p o in t ,p o in t1 8.若有说明;in t *p,m=5,n;以下正确的程序段的是()A.p=&n;B.p=&n;s c anf&p);s c anf*p);C.sca n f&n);*p=n;二、填空题D.p=&n;*p=m;1 .设a为sho r t型变量,描 述“a是奇数”的表达式是2.若有以下定义,则计算表达式y+=y-=m*=y后的y值是.in t m=5,y=2;3.若a是in t
12、型变量,则下面表达式的值为(a=4*5,a*2),a+64.若有定义:flo a t x=3.5;in t z=8;则表达式x+z%3/4的值为。5.若x和a均是in t型变量,则计算表达式(1)后的x值为,计算表达式(2)后的x值为 o(1)x=(a=4,6*2)(2)x=a=4,6*2。6.若 有 定 义:in t a-2,b=3;flo a t x=3.5,y=2.5;则 表 达 式(flo a t)(a+b)/2+(in t)x%(in t)y 的值是。7.若有定义:in t b=7;flo a t a=2.5,c=4.7;则表达式 a+(b/2*(in t)(a+c)/2)/4的值是
13、 o8.以下的输出结果是 o#in clu d ev o id ma in()sho r t i;i=-4;p r in t f(r t n i:d ec=%d,o ct=%o,hex=%x,u n sign ed=%u n,i,i,i,i);9.以下的输出结果是。#in clu d ev o id ma in()cha r c=x;p r in t f(r tc:d ec=%d,o ct=%o,hex=%x,A S C II=%c nw,c,c,c,c);)1 0 .以下的输出结果是 o#in clu d ev o id ma in()in t x=l,y=2;p r in t f(x=%d
14、 y=%d *su m*=%d n”,x,y,x+y);p r in t f(1 0 S q u a r ed is:%d nH,1 0*1 0);)1 1.假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=;b=a-;a-=;1 2.若 x为 in t 型变量,则执行以下语句后的x值为 ox=7;x+二 x-=x+x;z=m=O x F F F F1 3.有一输入语句sca n f(%d”,k);则不能使flo a t 类型变量k 得到正确数值的原因是 和三、程序设计题1 .已知圆半径的r=2.5,圆柱高h=1.8,求圆周长,圆柱体积。2.要将“C hi
15、n a”译成密码,译码规律是:用原来字母后面的第4 个字母代替原来的字母。例如,字母 A”后面第4 个字母是“E“,用”E“代替 A“。因此,”C hin a”应译为“G lmr e”。请编写1 程序,用赋初值的方法使cl、c2、c3、c4、c 5 五个变量的值分别为 C、h、i、n 、a ,经过运算,使cl、c2、c3、c4、c5 分别变为 G 、,m 、,r 、,e 、,并输出。(1)输入事先已编好的程序,并运行该程序。分析是否符合要求。(2)改变 cl、c2、c3、c4、c5、的初值为:,T、气 、,d 、y ,对译码规律作如下补充:旷 用 A 代替,X 用 B 代替,Y用 C 代替,Z
16、 用 D,代替。修改程序并运行。(3)将译码规律修改为:将字母用它前面的第4个字母代替,例如:E,用 A代替,Z 用 U 代替,D 用 Z 代替,C 用 Y 代替,B 用 X,代替,A,用 代替。修改程序并运行。3 .输入秒数,将它按小时、分钟、秒的形式来输出。例如输入2 4 680 秒,则输出6 小时51 分2 0 秒。4 .求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按 A S C I I 码值,按从大到小的顺序输出这三个字符及其对应的A S C I I 码值。第四章逻辑表达与流程控制一、选择题1.逻辑运算符两侧运算对象三数据类型()。A.只能是0 和 1 B.只能是
17、0 或非0 正数C.只能是整型或字符型数据 D.可以是任何类型的数据2.判断char型变量ch是否为大写字母的正确表达式是()。A.A =ch=A )&(ch=A )&(ch=Z)D.(A =ch)3.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为假。则以下不能满足要求的表达式是()。A.A%2=1 B.!(A%2=0)C.!(A%2)D.A%24.设有:int a=l,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&(n=cd)后 n 的值为()oA.1 B.2 C.3 D.45.以下程序的运行结果是()。#includevoid main()int a,
18、b,d=241;a=d/100%9;b=(-l)&(-l);printf(%d,%d”,a,b);)A.6,1 B.2,1 C.6,0 D.2,06.已知int x=10,y=20,z=30;以下语句执行后x,y,z 的值是()。if(xy)z=x;x=y;y=z;A.x=10,y=20,z=30 B.x=20,y=30,z=30C.x=20,y=30,z=10 D.x=20,y=30,z=20/P7.以下程序的运行结果是()。#includevoid main()int m=5;if(m+5)printf(%dn,m);else;p r i n t f (%d n”,m-);A.4 B.5
19、C.6 D.78.若运行时给变量x 输入1 2,则以下程序的运行结果是()。#i n c l u d e v o i d m a i n()i n t x,y;s c a n f(%d ,&x);y=x 1 2?x+1 0:x-1 2;p r i n t f (“%d n”,y);)A.4 B.3 C.2 D.1 /P 二、填空题1 .若有定义:i n t a=5,b=2,c=l;则表达式a-b c|b=c 的值是 02 .已知c ha r c=A ;i n t i=l;j=0;执行语句j=!c&i+后,i 和 j的值分别是和 o3 .若有定义:i n t a=l,b=2,c=3,d=4,x=
20、5,y=6;则表达式(x=a b)&(y=c d)的值为 o4 .有如下程序#i n c l u d e v o i d m a i n()i n t a=2,b=-l,c=2;i f(a b)i f(b 0)c=0;e l s e c+;p r i n t f(%d n ,c);)该程序的输出结果是5.以下程序判断输入的整数能否被3 或 7 整除。将程序补充完整。#i n c l u d e v o i d m a i n()i n t x,f=0;s c a n f(%d ,&x );i fi f(f=l)p r i n t f(“Y ES n);e l s e p r i n t f(N
21、 O n);)6.阅 读 以 下 程 序,若 输 入 60 En t e r 键,程 序 运 行 结 果 是#i n c l u d e v o i d m a i n ()i n t x;s c a n f (,/%d ,&x);i f (x =60)p r i n t f(p a s s);e l s ep r i n t f(f a i l);)三、程序设计题1 .输入1 个整数,输出它的绝对值。2 .编程实现:输入整数a 和 b,若 a +b?大于1 0 0,则输出a +b?百位以上的数字,否则输出两数之和。3 .编程判断输入的正整数是是否既是5 又是7 的整倍数。若是,则输出y e
22、s;否则输出n O o4 .用 s w i t c h编程实现:r-i(x 0)5.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心坐标为(2,2),半径为1。6.用 s w i t c h语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:9 0 分以上为 A ,8089 分为 B ,7079 分 为 C ,6069 分为 D ,60 分以下为 E第五章 逻辑表达与流程控制(2)一、选择题1 .设有程序段i n t k=1 0;w hi l e (k=0)k=k-l;这下面描述中正确的是()A.w hi l e循环执行1 0次 C.循环是无
23、限循环C.循环体语句以此也不执行 D.循环体语句执行一次2.语 句w hi l e(!E);中的表达式!E等价于()A.E=0 B.E!=1 C.E!=0 D.E=l3 .下面程序段的运行结果是()i n t n=0;w hi l e(n+=2);pri n t f(%d,n);A.2 B.3 C.44.下而程序的运行结果是()#i n c l u dev o i d m a i n()i n t n u m=0;w hi l e(n u m=2)n u m+;pri n t f(%d n ,n u m);)A.1 B.1 C.12 235.以下程序段()x=-l;do x=x*x;w hi
24、l e(!x);A.是死循环 B.循环执行二次D.有语法错D.1234C.循环执行一次D.有语法错误6.若有如下语句i n t x=3;do pri n t f(d n ,x-=2);w hi l e(!(-x);则上面程序段()A.输出的是1 B.输出的是1 和-2 C.输出的是3 和 0 D.是死循环7.下面程序的运行结果是()#i n c l u dev o i d m a i n()i n t y=1 0;do y;w hi l e(-y);pri n t f(%d n,y 一);)A.-1 B.1 C.8 D.08.若 i 为整型变量,则以下循环执行次数是()fo r(i=2;i=0
25、;)pri n t f(级d”,i);A.无限次 B.0 次 C.1 次 D.2 次9.执行语句fo r(i=l;i+4;);后变量i 的值是()A.3 B.4 C.5 D,不定1 0 .以下正确的描述是()A.c o n t i n u e语句的作用是结束整个循环的执行B.只能在循环体内和s w i t c h语句体内使用b rea k 语句C.在循环体内使用b rea k 语句或c o n t i n u e语句的作用相同D.从多层循环嵌套中退出时,只能使用go t o 语句/P二、填空题1 .下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。i n t n=0,
26、c;c=get c ha r();w hi l e_ _ _ _ _ _ _ i f_ _ _ _ _ _ _ _n+;c=get c ha r();)2 .下面程序的功能是用 辗转相除法求两个正整数的最大公约数。请填空。W i n c l u de v o i d m a i n()i n t r,m,n;s c a n f(%d%d,&m,&n);i f(mn);r=m%n;w hi l e(r)m=n;n=r;r=_ _ _pri n t f(%d n”,n);)3 .下面程序的运行结果是t t i n c l u de v o i d m a i n()i n t a,s,n,c o
27、u n t;a=2;s=0;n=l;c o u n t=l;w hi l e(c o u n t=7)n=n*a;s=s+n;+c o u n t;)pri n t f(s=%d,s);)4 .下面程序段的运行结果是i=l;a=0;s=l;do a=a+s*i;s=-s;i+;w hi l e(i=1 0);pri n t f(a=%d,a);5.以下程序的输出结果是 i n c l u de v o i d m a i n()i n t n=1 2 3 45,d;w hi l e(n!=0)d=n%1 0;pri n t f(d,d);n/=1 0;)6.下 面 程 序 段 的 运 行 结
28、果 是.i 二 l;s=3;do s+=i+;i f(s%7=0)c o n t i n u e;el s e+i;w hi l e(s 1 5);pri n t f(%d,i);7.阅读以下程序,若输入5En t er键,程序运行结果是#i n c l u de v o i d m a i n()i n t i,n;do u b l e fa c t;s c a n f(d,&n);fa c t=l;fo r(i=l;i=n;i+)fa c t*=i;pri n t f(%.Of n,z,fa c t);)三、程序设计题1 .输入1 个整数,输出它的绝对值。2 .编一程序,统计从键盘输入一行
29、字符的个数。3 .印出如下图案(菱形)*4.编写程序,用穷举法输出100以内的素数。5.求 1!-2!+3!-4!+.+49!50!的和。6.输入10个字符,分别统计出其中空格、数字和其他字符的个数。7.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元?8.输入一个三位数,判断是否是一个“水仙花数”。水仙花数是指三位数的各位数字的立方和等于这个三位数本身。例如:153=1*1*1+5*5*5+3*3*39.输出1-999中能被3整除,而且到少有一位数字是5的所有数字。第六章 自顶向下的程序设计一、选择题1 .以下函
30、数的正确定义形式是()A.do u b l e fu n(i n t x,i n t y)B.do u b l e fu n(i n t x ;i n t y)C.do u b l e fu n(i n t x,i n t y);D.do u b l e fu n(i n t x,y);2 .以下说法不正确的是()C 语言规定:A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式C.实参可以为任意类型D.形参应与其对应的实参类型一致3 .以下说法正确的是()A.定义函数时,形参的类型说明可以放在函数体内B.r e t u r n 后边的值不能为表达式C.如果函数值的类型与返回值类型
31、不一致,以函数值类型为准D.如果形参与实参的类型不一致以实参类型为准4.C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A.f l oa t 型 B.i n t 型 C.l on g 型 D.dou b l e 型5.C 语言规定,函数返回值的类型是由()A.r e t u r n 语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定6.以下错误的描述是()函数调用可以:A.出现在执行语句中 B.出现在一个表达式中C.做为一个函数的实参 D.做为一个函数的形参7.以下正确的描述是()在C 语言程序中:A.函
32、数的定义可以嵌套,但函数的调用不可以嵌套B .函数的定义不可嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和调用均可以嵌套8.在一个C 源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()A.e x t e r n B.r e g i s t e r C.a u t o D.s t a t i c9 .以下正确的说法是()建立函数的目的之一是A.提高程序的执行效率 B.提高程序的可读性C.减少程序的篇幅 D.减少程序文件所占内存1 0 .C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为()A.地址传递
33、 B.单向值传递C.由实参传给形参,再由形参传回给实参 D.由用户指定传递方式1 1 .以下程序的正确运行结果是()#i n c l u de v oi d n u m()e x t e r n i n t x,y;i n t a=1 5,b=1 0;x=a-b;y=a+b;)i n t x,y;v oi d m a i n ()i n t a=7,b=5;x=a+b;y=a-b;n u m ();p r i n t f (%d,%d n,/,x,y);)A.1 2,2 B.不确定 C.5,2 5 D.1,1 2二、填空题1.以下程式序的运行结果是Si n c l u de s t di o.
34、h v oi d m a i n()i n t i=2,x=5,j=7;f u n(j,6);p r i n t f (z/i=%d;j=%d;x=%d n,/,i,j,x);f u n(i n t i,i n t j)i n t x=7;p r i n t f (z/i=%d;j=%d;x=%d n,z,i,j,x);)2 .以下程序的运行结果是#i n c l u de s t di o.h v oi d m a i n()v oi d i n c r e m e n t();i n c r e m e n t ();i n c r e m e n t ();i n c r e m e n
35、 t ();)v oi d i n c r e m e n t ()i n t x=0;x+=l;p r i n t f (z,%d ,x);)3 .以下程序的运行结果是#i n c l u de s t di o.h v oi d m a i n()i n t m a x(i n t x,i n t y);i n t a=l,b=2,c;c=m a x (a,b);p r i n t f(m a x i s%d n,c);)i n t 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);)4 .以下程序的运行结果是Si n c
36、l u de ,/s t di o.h v oi d m a i n()v oi d a dd(i n t x,i n t y,i n t z);i n t x=2f y=3,z=0;p r i n t f (1)x二%d y=%d z二%d n,x,y,z);a dd(x,y,z);p r i n t f (3)x=%d y=%d z=%d n,/,x,y,z);)v oi d a dd(i n t x,i n t y,i n t z)z=x+y;x=x*x;y=y*y;p r i n t f (2)x=%d y=%d z=%d n,x,y,z);)5.以下程序的运行结果是Si n c l
37、u de s t di o.h v oi d m a i n()v oi d i n c r e m e n t();i n c r e m e n t ();i n c r e m e n t ();i n c r e m e n t ();)v oi d i n c r e m e n t ()s t a t i c i n t x=0;x+=l ;p r i n t f (z,%d ,x);)6.以下程序的运行结果是.#i n c l u de v oi d m a i n()i n t a=l,b=2,c;c=m a x (a,b);p r i n t f C m a x i s%d
38、n,c);)m a x(i n t x,i n t y)i n t x;z=(x y)?x:y;r e t u r n (z);7.函数g on g y u 的作用是求整数n u m l 和 n u m 2 的最大公约数,并返回该值。请填空。g on g y u(i n t n u m l,i n t n u m 2)i n t t e m p,a,b;i f (n u m l _ _ _ _ _ n u m 2)t e m p=n u m l;n u m l=n u m 2;n u m 2=t e m p;)a=n u m l;b=n u m 2;wh i l e _ _ _ _ _ _ _
39、 _ t e m p=a%b;a 二 b;b=t e m p;)r e t u r n(a);)8.以 下 程 序 的 运 行 结 果 是.i n t a=5;i n t b=7;m a i n()i n t a=4,b=5,c;c=p l u s (a,b);p r i n t f (,ZA+B=%d n/Z,c);)p l u s (i n t x,i n t y)i n t z;z=x+y;r e t u r n(x);)9.以 下 程 序 的 运 行 结 果 是.#i n c l u de v oi d m a i n()i n e x O;i n c y ();i n c x ();
40、i n c y ();i n c x ();i n c y();)i n c x ()i n t x=0;p r i n t f(x=%d t”,+x);)i n c y ()s t a t i c i n t y=0;p r i n t f C n y=%d n,+y);三、编程题1 .编写函数g e t m a x,它带有3个 i n t 型参数a,b,c,返回a,b,c 这三个数的最大值。在m a i n 函数调用这个函数。2 .已有变量定义和函数调用语句:i n t x=57;i s p r i m e(x);函数i s p r i m e()用来判断一个整形数a是否为素数,若是素数,
41、函数返回1,否则返回0。请编写i s p r i m e 函数。i s p r i m e(i n t a)()3 .编写一个函数,计算下面算式前n 项之和,并将计算结果返回到主调函数,n的值通过参数传递得到。1+1/3+1/5+1/7+.第七章集合数据处理一、选择题1 .执行下面的程序段后,变量k中的值为()i nt k=3,s 2;s O =k;k=s l*10;A.不定值 B.33 C.302.有如下程序#i nc lu d e v o i d ma i nO i nt n 5 =0,0,0,i,k=2;f o r (i=0;i k;i+)n i =n i +l;p r i nt f (
42、%d n,n k);)该程序的输出结果是()A.不确定的值 B.2 C.13.有如下程序#i nc lu d e v o i d ma i n()i nt a 3 3 =1,2,3,4,5,6 ,i,j,f o r(i=l;i 3;i+)f o r(j=0;j i;j+)s+=a i jp r i nt f (9 6d r T,s);)该程序的输出结果是()A.14 B.15 C.164 .以下程序的输出结果是()#i nc lu d e v o i d ma i n()(i nt i,x 3 3=1,2,3,4,5,6,7,8,9);f o r(i=0;i 3;i+)p r i nt f (
43、%d,x i 2-i );D.10D.0D.17A.1,5,9B.1,4,7C.3,5,7D.3,6,95.下面语句中不正确的是()A.s t a t i c i nt a 5B.s t a t i c i nt a 5C.s t a t i c i nt aD.s t a t i c i nt a 5U,2,3,4,5 ;1,2,3 ;0,0,0,0,0);0*5;6.若有说明:i nt a 4 1,2,3,4,5,6,7,8,9 ,则数组第一维的大小为()A.2B.3C.4D.不确定的值7.若定义s t a t i c i nt a 2 2 =1,2,3,4),则a数组的各数组元素分别为(
44、)A.a 0 0 =1,B.a 0 0 =1,C.a 0 0 =4,D.a 0 0 =4,a 0 l =2,a 0 l =3,a 0 l =3,a 0 l =2,a l 0 =3,a l 0 =2,a l 0 =2,a l 0 =3,=4a l 1 =4=1=18.下列语句中,不正确的是A.s t a t i ci nt a 2 3B.s t a t i ci nt a 2 3C.s t a t i c i nt a 3D.s t a t i c i nt aU,2,3,4,5,6;,4,5);1 ,;1,2,3,4,5,6;()9 .以下为一维整型数组a的正确说明是()A.i nt a(10
45、);C.i nt n;scan f&n);i nt a n;B.i nt n=10,a n;D.#d e f i ne S IZ E 10;i nt a S IZ E ;10.若二维数组a有m歹(J,则计算任一元素a i j在数组中位置的公式为()(假设a 0 0位于数组的第一个位置上。)A.i*m+jB.j*m+i C.D.i*m+j+l11.若二维数组a有m歹!J,则 在 前 的 元 素 个 数 为()A.j*m+i B.i*m+j C.i*m+j-l D.i*m+j+l12.若有以下程序段:i nt a =4,0,2,3,1),i,j,t;f o r(i=l;i =0&t a j)a j
46、+l=a j;j;a j+l=t;则该程序段的功能是()A.对数组a 进行插入排序(升序)B.对数组a 进行插入排序(降序)C.对数组a 进行选择排序(升序)D.对数组a 进行选择排序(降序)13.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组a r r a y 的错误定义方式为()i nt a 3 4;f (a);A.f(i nt a r r a y 6)B.f(i nt a r r a y 3 )C.f(i nt a r r a y 4)D.f(i nt a r r a y 2 5)14.若有以下定义,则对a 数组元素的正确引用是()i nt a 5,*p=a;A.*&a
47、 5 B.a+2 C.*(p+5)D.*(a+2)15.若有定义:i nt a 2 3,则对a 数组的第i 行 j 列元素地址的正确引用为()A.*(a i +j)B.(a+i)C.*(a+j)D.a i +j16.若有以下定义,则p+5表 示()i nt a 10,*p=a;A.元素a 5 的地址 B.元素a 5 的值C.元素a 6 的地址 D.元素a 6 的值二、填空题1.下列程序执行后的输出结果是 o#i nc lu d e v o i d ma i n()i nt i,k,a 10,p 3:k=5;f o r (i=0;i 10;i+)a i =i;f o r (i=0;i 3;i+)
48、p i =a i*(i+l);f o r (i=0;i 3;i+)k=k+p i *2;p r i nt f (袋d n”,k);2,若有定义:d o u b le x 3 5;则x数 组 中 行 下 标 的 下 限 为,列下标的上限为_3.下面程序以每行4个数据的形式输出a数组,请填空。#i nc lu d e t t d e f i ne N 20v o i d ma i n()i nt a N ,i;f o r (i=0;i N;i+)s c a nf (%d,);f o r(i=0i N;i+)i f ()p r i nt f(3d,a i );)p r i nt f(n);)4.下面
49、程序可求出矩阵a的主对角线上的元素之和,请填空。#i nc lu d e v o i d ma i n()i nt a 3 3 =1,3,5,7,9,11,13,15,17,s u m=0,i,j;f o r (i=0;i 3;i+)f o r(j=0;j 3;j+)if()sum=sum+;p r i nt f (,s u m=%d nz,,s u m);)5.当从键盘输入18并回车后,下 面 程 序 的 运 行 结 果 是.#i nc lu d e v o i d ma i n()i nt x,y,i,a 8,j,u,v;s c a nf(%d,&x);y=x;i=0;d o u=y/2;
50、a i =y%2;i+;y=u;w h i le(y =l)f o r(j=i-l;j=0;j)p r i nt f a j);)6.下面程序用插入法对数组a 进行降序排序。请填空。#i nc lu d e v o i d ma i n()i nt a 5 =4,7,2,5,1;i nt i,j,m;f o r(i=l;i =0&m a j)j;)_ _ _ _ _ _ _ _=m;)f o r(i=0;i 5;i+)p r i n t f a i );p r i nt f(n);)7.以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。请填空。S i nc lu d e “s t