收藏 分销(赏)

C语言习题全集答案(至函数).pdf

上传人:精**** 文档编号:2492382 上传时间:2024-05-30 格式:PDF 页数:42 大小:178.38KB
下载 相关 举报
C语言习题全集答案(至函数).pdf_第1页
第1页 / 共42页
C语言习题全集答案(至函数).pdf_第2页
第2页 / 共42页
C语言习题全集答案(至函数).pdf_第3页
第3页 / 共42页
C语言习题全集答案(至函数).pdf_第4页
第4页 / 共42页
C语言习题全集答案(至函数).pdf_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、-第一单元第一单元 程序设计和语言程序设计和语言一、选择题1 C 语言的基本构成单位是:。A.函数B.函数和过程C.超文本过程D.子程序2 一个 C 语言程序总是从 开始执行。A.主过程 B.主函数 C.子程序 D.主程序 3 C 语言的程序一行写不下时,可以 。A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4 以下叙述不正确的是:。A.在 C 程序中,语句之间必须要用分号;分隔B.若 a 是实型变量,C 程序中 a=10 是正确的,因为实型变量中允许存放整型数C.在 C 程序中,无论是整数还是实数都能正确无误地表示D.在 C 程序中,%是只能用于整数运算的运算符5 以下不

2、正确的 C 语言标识符是 。A.ABC B.abc C.a_bc D.ab.c6 下列字符串是标识符的是:。A._HJB.9_studentC.longD.LINE 17 以下说法中正确的是:。A.C 语言程序总是从第一个定义的函数开始执行B.在 C 语言程序中,要调用的函数必须放在 main()函数中定义C.C 语言程序总是从 main()函数开始执行D.C 语言程序中的 main()函数必须放在程序的开始部分8 不合法的常量是:。A.2B.C.3D.4839 已知各变量的类型说明如下,则以下不符合 C 语言语法的表达式是:。int k,a,b;unsigned long w=5;doubl

3、e x=1.422;A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10在 C 语言中,字符型数据在内存中以 形式存放。A.原码 B.BCD 码 C.反码 D.ASCII 码-11若有定义:int a=7;float x=2.5;y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是:。A.2.500000B.2.750000C.3.500000D.0.00000012设有说明:char w;int x;float y;double z;则表达式 w*x+z-y 值的数据类型为:。A.floatB.charC.intD.do

4、uble13以下 是不正确的转义字符。A.B.C.081 D.014若 x 为 int 型变量,则执行以下语句后,x 的值为 。x=6;x+=x-=x*x;A.36 B.-60 C.60 D.-2415字符串ABC的长度是 。A.11 B.7 C.5 D.3二、填空题1 一个函数由两部分组成,它们是 和 。2 一个 C 源程序至少包含一个 ,即 。3 设 int a=12;则表达式 a/=a+a 的值是 。4 表达式 x=(a=3,6*a)和表达式 x=a=3,6*a 分别是 表达式和 表达式,两个表达式执行完的结果分别是 和 ,x 值分别是 和 。5 在 C 语言中,实数有两种表示形式,即

5、和 。6 在 C 语言中,运算符的优先级最小的是 运算符。-第二单元第二单元 顺序程序设计顺序程序设计一、选择题1 若 m 为 float 型变量,则执行以下语句后的输出为 。m=1234.123;printf(%-8.3fn,m);printf(%10.3fn,m);A.1234.123 B.1234.123 C.1234.123 D.-1234.123 1234.123 1234.123 1234.123 001234.1232 若 x,y,z 均为 int 型变量,则执行以下语句后的输出为 。x=(y=(z=10)+5)-5;printf(x=%d,y=%d,z=%dn,x,y,z);y

6、=(z=x=0,x+10);printf(x=%d,y=%d,z=%dn,x,y,z);A.X=10,Y=15,Z=10B.X=10,Y=10,Z=10 X=0,Y=10,Z=0 X=0,Y=10,Z=10 C.X=10,Y=15,Z=10D.X=10,Y=10,Z=10X=10,Y=10,Z=0 X=0,Y=10,Z=03 若 x 是 int 型变量,y 是 float 型变量,所用的 scanf 调用语句格式为:scanf(x=%d,y=%f,&x,&y);则为了将数据 10 和 66.6 分别赋给 x 和 y,正确的输入应是:。A.x=10,y=66.6 B.10 66.6C.1066.

7、6 D.x=10y=66.64 已知有变量定义:int a;char c;用 scanf(“%d%c”,&a,&c);语句给 a 和 c 输入数据,使 30 存入 a,字符b存入 c,则正确的输入是:。A.30b B.30 bC.30b D.30b5 已知有变量定义:double x;long a;要给 a 和 x 输入数据,正确的输入语句是 。若要输出 a 和 x 的值,正确的输出语句 。A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);C.scanf(“%ld%lf”,

8、&a,&x);D.scanf(“%ld%lf”,&a,&x);-printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);6 若有定义 double x=1,y;则以下的语句执行的结果是 。y=x+3/2;printf(“%f”,y);A.2.500000 B.2.5 C.2.000000 D.2 7 若 a 为整型变量,则以下语句 。a=-2L;printf(%dn,a);A.赋值不合法B.输出为不确定的值C.输出值为-2D.输出值为 2二、读程序写结果1 main()int x,y;scanf(%2d%*2d%ld,&x,&y);printf(%dn,x+y);

9、执行时输入:12345672 main()int x=4,y=0,z;x*=3+2;printf(%d,x);x*=y=z=4;printf(%d,x);3 main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d,x,i);4 main()int a=2;a%=4-1;printf(%d,a);a+=a*=a-=a*=3;printf(%d,a);5 main()-int x=02,y=3;printf(x=%d,y=%d,x,y);6 main()char c1=6,c2=0;printf(%c,%c,%d,%dn,c1,c2,c1-c2,c1

10、+c2);7 main()int x,y,z;x=y=1;z=+x-1;printf(%d,%dn,x,z);z+=y+;printf(%d,%dn,y,z);三、填空题1 在 C 语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以 输出,也能以 输出。2%-ms表示如果串长小于 m,则在 m 列范围内,字符串向 靠,补空格。3 printf 函数的“格式控制”包括两部分,它们是 和 。4 编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。#include void main()float l,w;printf(“please input length and width

11、of the rectanglen”);scanf(“%f%f”,&l,&w);area=;girth=;5 编写程序,输入一个数字字符(09)存入变量 c,把 c 转换成它所对应的整数存入 n,如:字符0所对应的整数就是 0。请填空。-void main()char c;printf(“please input a char:n”);c=;n=;printf(,c,n);-第三单元第三单元 分支程序设计分支程序设计一、选择题1 若 x=0,y=3,z=3,以下表达式值为 0 的是 A.!x B.xy?1:0 C.x%2&y=z D.y=x|z/32 以下运算符中优先级最低的运算符为 ,优先级

12、最高的为 。A.&B.!C.!=D.|E.?:F.=3 若 w=1,x=2,y=3,z=4,则条件表达式 wx?w:y10?x+100:x-10);printf(%dn,w+|z+);printf(%dn,!wz);printf(%dn,w&z);A.0 B.1 C.0 D.0 1 1 1 1 1 1 0 0 1 1 1 05 分析以下程序,下列说法正确的是 。main()int x=5,a=0,b=0;if(x=a+b)printf(*n);else printf(#n);A.有语法错,不能通过编译 B.通过编译,但不能连接C.输出*D.输出#6 分析以下程序,下列说法正确的是 。main(

13、)int x=5,a=0,b=3;if(x=a+b)printf(*n);else printf(#n);-A.有语法错,不能通过编译 B.通过编译,但不能连接C.输出*D.输出#7 分析以下程序,下列说法正确的是 。main()int x=0,a=0,b=0;if(x=a+b)printf(*n);else printf(#n);A.有语法错,不能通过编译 B.通过编译,但不能连接C.输出*D.输出#8 分析以下程序,下列说法正确的是 。main()int x=0,a=0,b=0;if(x=a+b)printf(*n);else printf(#n);A.有语法错,不能通过编译 B.通过编译

14、,但不能连接C.输出*D.输出#二、读程序写结果1 include main()int a=-1,b=4,k;k=(a+=0)&(!(b-=z=x)?1:0);printf(%d,z=y&y=x);4 main()int x=1,y=1,z=10;if(z0)x=3;else x=5;printf(%dt,x);if(z=y0)x=3;else if(y=0)x=5;else x=7;printf(%dt,x);printf(%dt,z);5 main()char x=B;switch(x)case A:printf(“It is A.”);case B:printf(“It is B.”);

15、case C:printf(“It is C.”);default:printf(“other.”);6 main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;-case 2:a+;b+;break;case 3:a+;b+;printf(a=%d,b=%dn,a,b);三、填空题1 若 a=5,b=6,c=7,d=8,则表达式 d=a/2&b=c|!a 的值为 2 定义 int x=10,y,z;执行 y=z=x;x=y=z 后,变量 x 的值为 。3 分段函数:输入 x,计算 y

16、 值,输出 y,其中:x0,y=(x+7)/3#include main()int x,y;scanf(%d,&x);if(x0)(1);(2)y=0;(3)y=(x+7)/3;printf(“%d”,y);4 由键盘输入三个数,计算以这三个数为边长的三角形面积。(1)main()(2);printf(Please enter 3 reals:n);scanf(%f%f%f,&a,&b,&c);if(3)s=(a+b+c)*0.5;s1=s*(s-a)*(s-b)*(s-c);-s=(4);printf(nArea of the triangle is%fn,s);(5)printf(It i

17、s not triangle!n);5 有一方程 a+bx+c=0,a,b,c 的值由键盘输入,请编程序,打印出以下情况时方程的解。(1)a=0,b0 (2)a=0,b=0,c=0 (3)a=0,b=0,c0 (4)a0,-4ac0 (5)a0,-4ac0#include math.hmain()float a,b,c,d,pr,pi,x1,x2;scanf(%f%f%f,&a,&b,&c);printf(a=%f,b=%f,c=%fn,a,b,c);if(a=0)if(1)printf(only one solution x=%fn,-c/b);else if(2)printf(no sol

18、utionn);else printf(x is any valuen);else d=b*b-4*a*c;if(3)x1=(-b+sqrt(d)/(4);x2=(-b-sqrt(d)/(5);printf(x1=%6.2f,x2=%6.2fn,x1,x2);else-pr=-b/(2*a);(6);printf(x1=%6.2f+%6.2fin,pr,pi);printf(x2=%6.2f-%6.2fin,pr,pi);6 投票表决器:输入 Y、y,打印 agree 输入 N、n,打印 disagree 输入其他,打印 lose main()char c;scanf(%c,&c);(1)ca

19、se Y:case y:printf(“agree”);(2);case N:case n:printf(“disagree”);(3);(4):printf(“lose”);-第四单元第四单元 循环程序设计循环程序设计一、选择题1 程序段如下:则以下说法中正确的是:A 。int k=5;do k-;while(k=0);A.循环执行 5 次 B.循环是无限循环C.循环体语句一次也不执行 D.循环体语句执行一次2 设 i 和 x 都是 int 类型,则 for 循环语句 B 。for(i=0,x=0;i=9&x!=876;i+)scanf(%d,&x);A.最多执行 10 次 B.最多执行 9

20、 次C.是无限循环 D.循环体一次也不执行3 下述 for 循环语句 B 。int i,k;for(i=0,k=-1;k=1;i+,k+)printf(*);A.判断循环结束的条件非法 B.是无限循环C.只循环一次 D.一次也不循环4 程序段如下:则以下说法中正确的是:C 。int k=-20;while(k=0)k=k+1;A.while 循环执行 20 次 B.循环是无限循环C.循环体语句一次也不执行 D.循环体语句执行一次5 下列程序段执行后 k 值为 A 。int k=0,i,j;for(i=0;i5;i+)for(j=0;j3;j+)k=k+1;A.15 B.3 C.5 D.86 程

21、序段如下:则以下说法中不正确的是:D 。#include-main()int k=2,;while(k7)if(k%2)k=k+3;printf(“k=%dn”,k);continue;k=k+1;printf(“k=%dn”,k);A.k=k+3;执行一次 B.k=k+1;执行 2 次C.执行后 k 值为 7 D.循环体只执行一次二、读程序写结果1 main()int num=0;while(num=2)num+;printf(%dn,num);1132 main()int i=0,s=0;do s+=i*2+1;printf(i=%d,s=%dn,i,s);i+;while(s10);i=

22、0,s=1i=1,s=4i=2,s=9i=3,s=163#include main()-int i,m=1;for(i=5;i=1;i-)m=(m+1)*2;printf(m=%dn,m);m=4m=10m=22m=46m=944 指出下面三个程序的功能,当输入为:quert?时,它们的执行结果是什么?#include main()char c;c=getchar();while(c!=?)putchar(c);c=getchar();quert#include main()char c;while(c=getchar()!=?)putchar(+c);#include main()while

23、(putchar(getchar()!=?);5#include main()-int i;for(i=1;i=5;i+)if(i%2)putchar();putchar(#);6 main()int a,b;for(a=1,b=1;a10)break;if(b%3=1)b+=3;continue;printf(a=%dn,a);7 main()int i=1;while(i=15)if(+i%3!=2)continue;else printf(%d ,i);printf(n);8#include void main()int i,j;for(i=0;i=3;i+)for(j=0;j=i;j+

24、)printf(%d,%d),i,j);printf(n);-9 main()int i,j,k;char space=;for(i=0;i=5;i+)for(j=1;j=i;j+)printf(%c,space);for(k=0;k=5;k+)printf(%c,*);printf(n);10#include main()int i,j,k=0;for(j=11;j=30;j+)if(k%10=0)printf(n);for(i=2;i=j-1)printf(%dt,j);k+;三、填空题1 break 语句只能用于 语句和 语句中。2 计算 2+4+6+8+.+98+100main()in

25、t i,(1);for(i=2;i=100;(2)s+=i;-3 求满足下式的 x,y,z X Y Z +Y Z Z 5 3 2 main()int x,y,z,i,result=532;for(x=1;(1);x+)for(y=1;(2);y+)for(3);(4);z+)i=(5)+(100*y+10*z+z);if(i=result)printf(x=%d,y=%d,z=%dn,x,y,z);4 求 Sna+aa+aaa+.+aa.a 之值,其中 a 是一个数字。例如 2+22+222+2222(此时 n4),n 由键盘输入。main()int a,n,count=1,Sn=0,Tn=0

26、;printf(请输入 a 和 n 的值:n);scanf(%d,%d,&a,&n);while(count=(1)Tn=(2);Sn=(3);a=a*10;(4);printf(a+aa+aaa+.=%dn,Sn);5 一球从 100 米高度自由落下,每次落地后反跳回原来高度的一半,再落下,求它在第十次落地时,共经过多少米?第十次反弹多高?main()float Sn=100.0,hn=Sn/2;-int n;for(n=2;n=(1);n+)Sn=(2);hn=(3);printf(第10次落地时共经过%f米n,Sn);printf(第10次反弹%f米n,hn);6 打印出以下图形 *ma

27、in()int i,j,k;for(i=0;i=(1);i+)for(j=0;j=2-i;j+)printf();for(k=0;k=(2);k+)printf(*);(3)for(i=0;i=2;i+)for(j=0;j=(4);j+)printf();for(k=0;k=(5);k+)printf(*);printf(n);7 准备客票。某铁路线上共 10 个车站,问需要准备几种车票?main()int i,j,station,total=0;printf(输入车站数:);-scanf(%d,&station);for(i=1;i (1);i+)for(j=(2);j=station;j+

28、)total=(3);printf(车票种类=%d n,total);-第五单元第五单元 数数 组组一、选择题1 以下关于数组的描述正确的是 。A.数组的大小是固定的,但可以有不同的类型的数组元素。B.数组的大小是可变的,但所有数组元素的类型必须相同。C.数组的大小是固定的,但所有数组元素的类型必须相同。D.数组的大小是可变的,但可以有不同的类型的数组元素。2 在定义 int a10;之后,对 a 的引用正确的是 。A.a10 B.a6.3 C.a(6)D.a10-103 以下能正确定义数组并正确赋初值的语句是 。A.int n=5,bnn;B.int a12=1,3;C.int c2=1,2

29、,3,4 D.int a32=1,2,3,44 以下不能正确赋值的是 。A.char s110;s1=test;B.char s2=t,e,s,tC.char s320=test;D.char s44=t,e,s,t5 下面程序段运行时输出结果是 。char s18=a book!;printf(%.4s,s);A.a book!B.a book!C.a bo D.格式描述不正确,没有确定输出6 下面程序段运行时输出结果是 。char s12=A book;printf(%dn,strlen(s);A.12 B.8 C.7 D.67 在执行 int a3=1,2,3,4,5,6;语句后,a10

30、的值是 。A.4 B.1 C.2 D.5二、读程序写结果1#include void main()-int a8=1,0,1,0,1,0,1,0,i;for(i=2;i8;i+)ai+=ai-1+ai-2;for(i=0;i8;i+)printf(“%5d”,ai);2#include void main()float b6=1.1,2.2,3.3,4.4,5.5,6.6,t;int i;t=b0;for(i=0;i5;i+)bi=bi+1;b5=t;for(i=0;i6;i+)printf(“%6.2f”,bi);3#include void main()int p7=11,13,14,15

31、,16,17,18,i=0,k=0;while(i7&pi%2)k=k+pi;i+;printf(k=%dn,k);4 void main()int a33=1,3,5,7,9,11,13,15,17;int sum=0,i,j;for(i=0;i3;i+)for(j=0;j3;j+)aij=i+j;if(i=j)-sum=sum+aij;printf(sum=%d,sum);5 void main()int a44,i,j,k;for(i=0;i4;i+)for(j=0;j4;j+)aij=i-j;for(i=0;i4;i+)for(j=0;j=i;j+)printf(%4d,aij);pr

32、intf(n);6#include main()int i,s;char s1100,s2100;printf(input string1:n);gets(s1);printf(input string2:n);gets(s2);i=0;while(s1i=s2i)&(s1i!=0)i+;if(s1i=0)&(s2i=0)s=0;else s=s1i-s2i;printf(%dn,s);输入数据 aidand7 void main()-char ch35=AAAA,BBB,CC;printf(%sn,ch1);8#inlcude#include void main()char str1080,

33、c80;int i;for(i=0;i10;i+)gets(stri);strcpy(c,str0);for(i=1;i10;i+)if(strlen(c)strlen(stri)strcpy(c,stri);puts(c);三、填空题1 构成数组的各个元素必须具有相同的 。2 下面的程序是输出数组中最大元素的下标(p 表示最大元素的下标)。void main()int s=1,-3,0,-9,8,5,-20,3;for(i=0,p=0;isp);3 输入 20 个数,输出他们的平均值,输出与平均值之差的绝对值最小的数组元素。#include-void main()float a20,pjz=

34、0,s,t;int i,k;for(i=0;i20;i+)scanf(“%f”,&ai);pjz+=;s=fabs(a0-pjz);t=a0;for(i=1;i20;i+)if(fabs(ai-pjz)s )t=ai;4 输出行、列号之和为 3 的数组元素。main()char ss43=A,a,f,c,B,d,e,b,C,g,f,D;int x,y,z;for(x=0;(1);x+)for(y=0;(2);y+)z=x+y;if(3)printf(%cn,ssxy);5 将一个数组中的元素按逆序重新存放。例如原来的顺序为:8,5,7,4,1,要求改为:1,4,7,5,8 。-#define

35、N 7void main()int aN=12,9,16,5,7,2,1,k,s;printf(n初始数组:n);for(k=0;kN;k+)printf(%4d,ak);for(k=0;k (1);k+)s=ak;ak=(2);(3)=s;printf(n交换后的数组:n);for(k=0;(4);k+)printf(%4d,ak);6 有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去的字符以字符形式输入(如输入 a 表示要删去所有的 a 字符)。#include void main()/*str1表示原来的一行文字,str2表示删除指定字符后的文字*/char s

36、tr1100,str2100;char ch;int i=0,k=0;printf(“please input an sentence:n”);gets(str1);scanf(%c,&ch);for(i=0;(2);i+)if(str1i!=ch)str2 (3)=str1i;k+;str2 (4)=0;printf(n%sn,str2);7 找出 10 个字符串中的最大者。#include#include#define N 10-void main()char str20,sN20;int i;for(i=0;iN;i+)gets(1);strcpy(str,s0);for(i=1;i0)

37、strcpy(str,si);printf(The longest string is:n%sn,str);8 某人有四张 3 分的邮票和三张 5 分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?main()static int a27;int i,j,k,s,n=0;for(i=0;i=4;i+)for(j=0;j=3;j+)s=(1);for(k=0;ak;k+)if(s=ak)(2);if(3)ak=s;n+;printf(%d kind:,n);for(k=0;(4);k+)printf(%3d,ak);9 求矩阵的马鞍点。马鞍点即它的值在行中最大,在它所在的列中最小。#

38、define N 10#define M 10 main()int i,j,k,m,n,flag1,flag2;-int aNM,max;printf(n 输入行数 n:);scanf(%d,&n);printf(n 输入列数 m:);scanf(%d,&m);for(i=0;in;i+)for(j=0;jm;j+)scanf(%d,(1);for(i=0;in;i+)for(j=0;jm;j+)printf(%5d,aij);(2);flag2=0;for(i=0;in;i+)max=(3);for(j=1;jmax)max=aij;for(j=0;jm;j+)flag1=0;if(aij=

39、max)for(k=0,flag1=1;kn&flag1;k+)if(4)flag1=0;if(flag1)printf(第%d 行,第%d 列的%d 是鞍点n,(5);flag2=1;if(!flag2)printf(n 矩阵中无鞍点!n);-第六单元第六单元 函函 数数一、选择题1 在 C 语言中,当函数调用时 。A.实参和形参各占一个独立的存储单元B.实参和形参共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.由系统自动确定实参和形参是否共用存储单元2 以下函数调用语句中实参的个数为 。exce(v1,v2),(v3,v4,v5),v6);A.3B.4C.5D.63 如果在一个

40、函数的复合语句中定义了一个变量,则该变量 。A.只在该符合语句中有效,在该符合语句外无效B.在该函数中任何位置都有效C.在本程序的原文件范围内均有效D.此定义方法错误,其变量为非法变量4 C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。A.float 型 B.int 型 C.long 型 D.double 型5 C 语言规定,函数返回值的类型是由 。A.return 语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定6 在 C 语言程序中,以下描述正确的是 。A.函数的定义可以嵌套,但函数的调用不可以嵌套B

41、.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套7 以下叙述中正确的是 。A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量-D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值8.以下程序的运行结果是:#includevoid sub(int s,int y)static int t=3;y=st;t-;main()int a=1,2,3,4,i,x=0;for(i=0;iO)fun(k-1);printf

42、(%d,k);A)5 4 3 2 l B)0 1 2 3 4 5C)1 2 3 4 5 D)5 4 3 2 1 010.以下所列的各函数首部中,正确的是_。A)void play(vat a:Integer,var b:Integer)B)void play(int a,b)C)void play(int a,int b)D)Sub play(a as integer,b as integer)11.当调用函数时,实参是一个数组名,则向函数传送的是_。A)数组的长度 B)数组的首地址C)数组每一个元素的地址 D)数组每个元素中的值12.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传

43、递方式是_。A)地址传递 B)单向值传递C)由实参传给形,再由形参传回实参 D)传递方式由用户指定13.以下函数值的类型是_。fun(float x)float y;y=3*x-4;return y;-A)int B)不确定 C)void D)float二、读程序写结果1 fun1(int a,int b)int c;a+=a;b+=b;c=fun2(a,b);return c*c;fun2(int a,int b)int c;c=a*b%3;return c;main()int x=11,y=19;printf(The final result is:%dn,fun1(x,y);2 int

44、x;main()x=5;cude();printf(%dn,x);cude()x=x*x*x;3#include long fun(int n)long s;if(n=1|n=2)s=2;else s=n+fun(n-1);return s;-main()printf(%ldn,fun(4);4 main()int i;for(i=0;i2;i+)add();add()int x=0;static int y=0;printf(%d,%dn,x,y);x+;y=y+2;5 main()int k=4,m=1,p;p=func(k,m);printf(%d,p);p=func(k,m);prin

45、tf(%dn,p);func(int a,int b)static int m=0,i=2;i+=m+1;m=i+a+b;return m;6.int t(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;main()int a=4,b=3,c=5,d=6;t(a,b,c,d);-printf(ddn,c,d);7.fun(int x,int y,int z)z=x*x+y*y;main()int a=31;fun(5,2,a);printf(d,a);8.int a,b;void fun()a=100;b=200;main()int a=5,b=

46、7;fun();printf(ddn,a,b);9.int x=3;main()int i;for(i=1;i2)return(fib(n-1)+fib(n-2);else return(2);main()printf(ldn,fib(3);三、填空题1 编写一个验证正整数 M 是否为素数的函数,若 M 是素数则把 1 送到 T 中,否则零送到T 中。在主函数中读入 N 个正整数,每读入一个则调用函数判断它是否为素数,在主函数中将 T 的值累加到另一个变量中。用此方法可求出 N 个数中素数的个数。请填空完成上述功能的程序。#include#include int prime(int m)int

47、 i,pp=1;for(i=2;(1);i+)if(m%i=0)pp=0;if(m=1)(2)return(pp);main()int a20,i,sum=0;for(i=0;i10;i+)scanf(%d,&ai);sum=(3)printf(the number of prime data is:%d,sum);2 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。#include#include-void fltj(char str,int a)int ll,i;ll=(1)for(i=0;

48、ill;i+)if(2)a0+;else if(3)a1+;else if(4)a2+;else a3+;main()static char str60;static int a4=0,0,0,0;gets(str);fltj(str,a);printf(%s char:%d digit:%d space:%d other:%d,str,a0,a1,a2,a3);3 用递归方法求阶勒让德多项式的值,递归公式为#include main()float pn();float x,lyd;int n;scanf(%d%f,&n,&x);lyd=(1)printf(pn=%f,lyd);float p

49、n(float x,int n)-float temp;if(n=0)temp=(2)else if(n=1)temp=(3)else temp=(4)return(temp);4.以下函数的功能是:求x的y次方,请填空。double fun(double x,int y)int i;double z:for(i=1,z=x;ic)&(b+ca)&(c+ab)(4)sqrt(s1)(5)else5(1)b!=0(2)c!=0(3)d=0(4)(2*a)(5)(2*a)(6)pi=sqrt(-d)/(2*a)6(1)switch(c)(2)break(3)break-(4)default第四单元

50、 循环程序设计一、选择题1 D 2 A .3 B .4 C5 A6 D二、读程序写结果1 12 32 i=0,s=1i=1,s=4i=2,s=9i=3,s=163 m=4m=10m=22m=46m=944(1)quert(2)rvfsu(3)quert?5#6 a=57 2 5 8 11 148(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2),(3,3),9 *-10111317192329三、填空1 switch、循环2(1)s=0(2)i=i+23(1)x=9(2)y=9(3)z=0(4)z=9(5)x*100+y*10+z4(1)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服