收藏 分享(赏)

山东建筑大学c语言程序设计习题集7-10套.doc

上传人:cjc2202537 文档编号:1545800 上传时间:2018-08-01 格式:DOC 页数:30 大小:167.50KB
下载 相关 举报
山东建筑大学c语言程序设计习题集7-10套.doc_第1页
第1页 / 共30页
山东建筑大学c语言程序设计习题集7-10套.doc_第2页
第2页 / 共30页
山东建筑大学c语言程序设计习题集7-10套.doc_第3页
第3页 / 共30页
山东建筑大学c语言程序设计习题集7-10套.doc_第4页
第4页 / 共30页
山东建筑大学c语言程序设计习题集7-10套.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、C 语言程序设计试题集(第 7 套)一、单项选择题(每题 3 分,共 30 分)1、以下叙述中正确的是A)C 语言的源程序不必通过编译就可以直接运行B)C 语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C 源程序经编译形成的二进制代码可以直接运行D)C 语言中的函数不可以单独进行编译2、 以下符合 C 语言语法的实型常量是A)1.2E0.5 B)3.14.159E C).5E-3 D)E153. 若 a=-14,b=3,则条件表达式 a=0;-a)saa=0;for(a=0;a0)sum*=2;-j;while(j0);return sum;语句 printf(“%d”,p(6);

2、输出什么?( 9)10、设有函数定义:int test(int u,int v) if(u=v)return u;else if(uv)return u+v;else return test(u+1,v-1);语句 printf(“%d”,test(5,10);输出什么?(10)三、程序分析填空题(每空 2 分,共 20 分)1、打印如下形式的九九乘法表main() int x,y;for(x=1; (1) ; x+)3 for(y=1; (2) ; y+)printf(“%d*%d=%2d “,x,y,x*y);printf(“n“); 2、下面程序的功能是把以下给定的字符按其矩阵格式读入数

3、组 str1 中,并输出行列号之和是 3 的数组元素。void main(void)char str143=a,b,c,d,e,f,g,h,i,j,k,i;int x,y,z;for(x=0;x1)1 (n=1)4#includeint jx(int n)int f;if(n=1) (7) ;else f= (8) ;return f; main() int n,f;printf(“Input n :”);scanf(“%d”,f= jx(n);printf(“n n!=%d“,f); 5、求 3*4 数组中的最大值及其下标。#include main() int a34=1,2,3,4, 9

4、,8,7,6,-10,10,-5,2;int i,j,row=0,colum=0,max;max=a00;for(i=0;imax) (9) ;row=i;(10) ;printf(“max=%d,row=%d, colum=%dn“,max,row,colum);四、编写程序(每题 10 分,共 30 分) 1编写一个程序,提示用户输入一个用磅表示的重量,然后程序将磅转换为公斤。输出转换结果。已知 1 磅=454 克,1 公斤=1000 克。2编写程序,判断整数 n 的奇偶性。n 由键盘输入。如果 n 为 0 则输出“zero”,若为奇数则输出“odd” ,若为偶数则输出“even” 。3编

5、写一个函数,计算下面公式:f(x)=(3x+1)1/2编写主程序,计算 x 从 01000(步长为 50 )的 f(x)累加和,并将每次结果输出5参考答案:一、单项选择题(每小题 3 分,共 30 分)(1)(5)BCADC(6)(10)CCBDC二、填空题(每小题 2 分,共 20 分)(1)fabs(a-b)void main() float c,f;printf(“Please enter a bang:”);scanf(“%f“,f=454*c/1000;printf(“%.0fbang =%.2gjin“,c,f);2、#includevoid main()6 int a;print

6、f(“please enter a number:“);scanf(“%d“,if(a=0)printf(“zeron”);else if(a%2=0) printf(“even n”);else printf(“odd n”);3、#include#includedouble f(double x)(return sqrt(3*x+1);void main() double a=0;int c;for(c=0;c、=、!=。B、C 语言提供的三种逻辑运算符都是双目运算符。C、C 语言中不允许出现 goto 语句。D、一般情况下,do-while 循环和 while 循环可以互相代替,即都可以

7、用来处理同一问题。3. C 语言源程序的基本单位是_。A、语句 B、对象 C、函数 D、过程74. 下列选项中,不能用作标识符的是_。 A、_ 1234_ B、_ 1_2 C、 int_2_ D、 2_int_5. 能正确表示逻辑关系:“a10 或 a0”的 C 语言表达式是_。A、 a10for(i=1; i=0; )printf(“%dn“,ai);5.输入一批正负整数,统计并输出正整数的个数 m、负整数的个数 n,正负整数输入完毕后输入 0 结束输入。请填空。main() ; 10int m=0, n=0 ;doscanf(“%d“,if (i0) ;if (im2)?m1: m2; p

8、rintf(“%d,%d,%d“, x , m1, m2); 2. 写出程序运行的结果:#define M 1#define N 5main( ) int a,b,c;for (a=M, b=N; amain ( )int a=57,b=79,c;c=max(a,b);printf (“max=%dn“, c);max(int x,int y)int z;if(xy) z=x;else z=y;return(z);5. 写出程序运行的结果:void prt( int *x ) printf(“%dn“, +*x ) ; main() int a=25 ;prt( 四.程序设计题(20 分,每题

9、 10 分)1. 某地的出租车按如下方法收费:起步价 10 元,可行 3 公里(不含 3 公里) ;3 公里到 8 公里(不含 8 公里)按每公里 1.6 元计算;8 公里以后按每公里 2.2 元计算。编写程序,输入出租车载客行驶的公里数 s,计算车费 money 并输出。2阿凡提开了一家酒店。有一天,来了 30 个人(有男人,有女人,也有小孩) ,每个男人消费了 30 元,每个女人消费了 20 元,每个小孩消费了 10元,30 个人一共消费了 500 元。阿凡提想了一下,发现按每个男人消费30 元、每个女人消费 20 元、每个小孩消费 10 元的消费办法,30 个人消费 500 元的男人、女

10、人、小孩的人数组合将会有多种。请编写一个循环结构的程序求出不同的人数组合(即求男人、女人和小孩各有多少人,答案多于一种)。参考答案:一单项选择题(30 分,每小题 2 分)1A 6B 11D 122D 7A 12B 3C 8D 13D 4D 9D 14D 5D 10C 15A 二程序填空题(30 分,每空 3 分)i=%d,j=%d 或 i=%d,j=%dn 或 i=%2d,j=%2d 或 i=%2d,j=%2dn i%7= =0 或 i/7.0=i/7 i-10 m=k+=i*=k;printf(“%d,%dn”,m,i); 执行后的输出结果是 。 A) 8,6 B) 8,3 C) 6,4

11、D) 7,49、计算分段函数下列程序段哪个是错误的(假设所有的变量已被声明)A) B) C) D)10、设: char array 8=“China“; 则数组 array 所占的空间为 。A)5 个字节 B) 6 个字节 C) 7 个字节 D)8 个字节11、设: char string 16; 以下哪个语句有效A) string16=t;B) string=”John”;C) scanf(“%s”,string);D) if(string=”Nice”)printf(“%s”,string);12、以下程序的输出结果是main() int a 3=1,2,3,4,5,6;printf(“%

12、d%d%dn”,a02,a12,a20;A) 134 B) 024 C) 004 D)输出值不定13、以下程序的输出结果是main() int a5,k;a0=5;for(k=1;k0if(x=0)if(x0)y=1;else y=0;else y=-1;y=-1;if(x!=0)if(x0)y=1;else y=0;4;y=0;if(x=0)if(x0)y=1;else y=-1;y=-1;if(x!=0)if(x0)y=1;else y=0;15for(k=0;kmain() float a,r,p;(1);printf(“Please enter p,n:“);scanf(“%f%d“,

13、switch(n)(2)2% n=12.8% n=33% n=516a=p*(pow(1+r,n)-1);printf(“a=%.2fn”,a);2、求数列前 20 项之和:2/1 ,3/2 ,5/3,8/5,13/8main() int i;float a=2,b=1,c,term,sum=0;i=1;while(imain() char c;int c1=0,c2=0;while(c=getchar()!=n )if ((5)) c1+;else if((6)) c2+;printf(“数字=%d,空格字符=%dn“,c1,c2);4、用“选择法”对 10 个数排序main() int a

14、10=77,32,86,12,14,64,99,3,43,21;int start,where,i,t;for(( 7))(8);for(i=start+1;imain() char a80=“1234567890abcdefg“,b40;int i;for(i=0; a2*i+1!=0;+i) bi=a2*i+1;bi=0;puts(b);5、#define MAX 3int aMAX;void fun1(void);void fun2(b);main() fun1(); fun2( a ); printf(“n“);void fun1(void) int k, t=0;for (k=0;k

15、0。2、计算多项式:1!+2!+3!+4!+,直到最后一项的值大于 106 为止。3、定义函数 void sort(char a)对字符串 a 中字符进行排序。在主函数中输入一个字符串,并调用 sort ()函数对其中字符进行排序,然后输出。参考答案:一、单项选择题(共 30 分,每题 2 分)(1)-(15)ADBDCCDCDCDCCAC二、阅读程序,按题目要求补充完整(共 20 分,每空 2 分)(1) int n; (2)19case 1:r=0.02;break;case 3:r=0.028;break;case 5:r=0.03; (3) b=a;(4) a=c; (5) c=0 (

16、6) c= (7)start=0;start=10 or a=0|a=10 B) scanf(“%d %d %d”, C) scanf(“%d,%d,%d”, D) scanf(“%d,%d,%d”,i,j,k);8、给定声明 float x=4.0,y=4.0;使 x=10.0 的表达式是 A)x-=y*2.5 B) x/=y+9 C) x*=y-6 D) x+=y+29、有如下程序main( ) int a = 2 , b = -1 , c = 2 ; if ( amain() char c;int (5);while(c =getchar() !=n )if ((6)) c1+;else

17、 c2+;printf(“字母=%d,其他字符=%dn“,c1,c2);4、求数组 s 的最大元素main() int s10=3,5,7,6,9, 2,11,8,34,21;int i, largest;(7);for (i=1; ilargest) (8);printf(“n largest =%dn“, largest);5、求 44 矩阵两条对角线元素之和#define N 4main() int matrix(9 )=1,2,3,4,2,4,6,8,3,6,9,12,13,14,15,16;int i;sum=0;25for(i=0; imain()char a80=“0123456

18、789abcde“;char b80;int i,j=0;for(i=0;ai!=0;i+) if(i%2=0) bj=ai;j+;bj=0;puts(b);5、int a, b;void fun(void)a=100; b=200;main() int c=5;printf(“%4d%4d%4d n”, a,b,c);fun();printf(“%4d%4d%4d n”, a,b,c);四、编程 (每题 10 分,共 30 分) 1、 输入自然数 n,分解质因子。如输入 36,则输出 36=1*2*2*3*3算法提示:(1) 创建变量:n,i(2) 输入 n(3) 变量初始化:i=2(4)

19、当 n!=1 时如果 n%i=0 打印 i, 然后 n=n/i否则 i+272、计算多项式:a+aa+aaa+aaaa+ 。a,n 由键盘输入。3、编程输出杨辉三角形前 10 行。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1算法提示:创建二维数组 aNN , 变量 i, jfor i=0 , i=a|c=A (7) largest=s0(8)largest=si(9)NN28(10)matrixii三、阅读下列程序,写出运行结果(共 20 分,每题 4 分)1、S=182、AA*AA* AA*AA *3、fun=144、02468ace5、0 0 5100 20

20、0 5四、编程(每题 10 分,共 30 分)1、main() int n,i; scanf(“%d”,i=2; printf(“%d=1”,n);while(n!=1)if( n%i=0) printf(“*%d”,i); n=n/i; else i+;2、main() int a,n,x; long s=0,t=0;for(x=0;x=n;x+) t=t*10; s+=t; printf(“%ld”,s);3、#define N 10main() int aNN,i ,j;29for ( i=0 ;iN ;+i) ai 0=1;aii=1;for ( i=2 ;iN ;+i) for( j=1; ji ;+j)a ij=ai-1j-1+ai-1j;for ( i=0 ;iN ;+i)for( j=0; j=i ;+j)printf(“%6d”,aij);printf(“n”);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报