C补充练习题—程序.doc_第1页
C补充练习题—程序.doc_第2页
C补充练习题—程序.doc_第3页
C补充练习题—程序.doc_第4页
C补充练习题—程序.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计补充练习题-程序题第2章一、阅读程序写运行结果题1.#include void main (void) char c1a,c2b,c3c,c4=101,c5=116; printf(“a%c b%ctcctabcn.”,c1,c2,c3); printf(“tb%c %c”,c4,c5); 2.#include void main (void) int c1,c2: c197;c298; printf(“%c%cn”,c1,c2); printf(“%d%dn,c1,c2); 3.#include void main(void) int i,j,m,n; i= 8;j10; m=+i;n=j+; printf(%d,%d,%d,% d”.,i,j,m,n); 4.#include void main(void)int a=1,b=2,c3; a=b;b=c;c=a; printf(“a=%d,b=%d,c%dn”,a,b,c);5.#include void main (void) int a,b,c; a=(b=(c= 3)*5)*2-3; printf(“a=%d;b=%d;c%dn”,a,b,c); 第3章一、阅读程序写运行结果题1.#include void mian (void) int a=5,b=10; float x=34.73125; char cA; printf(“%3d%3dn”,a,b); printf(“%d,fn”,a,x); printf(”%7.2f,9.4fn”,x,x); printf(.”c,%d”,c,c); printf(“s,l0sn”,” computer”,” computer”); 二、程序设计题1.编写程序,用getchar()函数读入两个字符给c1, c2.然后分别用putchar()函数和printf()函数输出这两个字符,并思考以下问题: (1)变量c1, c2应定义为字符型还是整型?或两者皆可? (2)若要求输出c1、c2值的ASCII码,应如何处理。第4章一、阅读程序写运行结果题1.若从键盘上输入“Next”,写出下列程序运行结果。#include void main(void)char c; c=getchar(); if(c=a& c=A& c=x& c=x&c=z) c=c- 23; printf(“n”,c); 2.写出下列程序运行结果。#includevoid main(void) 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.编写运输公司对用户计算运费程序。距离(S.单位为 km)越远,每公里运费越低。标准如下:S250 没有折扣250,S500 2%折扣500S1000 5%折扣1 000-S2 000 8%折扣2 000,S3 000 10%折扣3 000S 15%折扣设每公里每吨货物的基本运费为P,货物重为w,距离为S,折扣为d.则总运费f计算公式为:f=PWS(1-d)第5章一、阅读程序写运行结果题1.写出下列程序运行结果。 void main(void) int i; for(i1;i6;i+) if(i%2) printf(“#”); else continue; printf(“$”); printf(“&n”);2.若输入“1234写出下列程序运行结果。#include void main(void)int c; while(c=getchar()!n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break; printf(“n”);3.写出下列程序运行结果。 #include void main(void) int s=0,i; for(i= 1;i+) if(s50)break; if(i%2=0)s+=i; printf(”i%d,s二%dn.,i,s); 二、程序填空题1.下列程序的功能是计算并输出1!+2!+3!+10!。 void main(void) float y ,x; int i,n; for(n=1;n10;n+) ; for(i= 1;i=n;i+) ; y=y+x; printf(“fn”,y): 2.利用公式: ,求的近似值,直到最后一项的绝对值小于10-6为止。#include void main(void)int s1; float n=1,t1,pi0; while( =1e-6) pi=pi+ ; n=n+2; s= ; t= sn; pi=pi*4; printf(“pifn”,pi);3.用键盘输入一段文字,以”*”作为结束标志,试编写一个对行、单词和字符计数的程序。其中单词为一串不含空格、制表符或换行符的字符串。#include #define YES 1#define NO 0void main(void)int n1,nw,nc,inword; char c; inword=NO; nl=nw=nc= 0; while(C=getchar() ) +nc; if(c= n)+nl; if (c= |C=t|c= ) inword=NO; else if (inword= =NO) inword= ;+nw; nc-; n1+; nc+; printf(”%dt%dt%dn”,n1,nw,nc); 三、程序设计题1.求解满足条件1+2+3+-+n1000的最小n值及其和s。2. 3.求出10100之内能同时被2, 3, 7整除的数,并输出。4.利用循环语句求 (直到第100项的和)。5.编写求S。6.输入n,求ex的泰勒级数展开式的前n项之和。 (-x)7.求1100之间的奇数之和及偶数之和,并输出。8.利用公式求cos x的近似值(精度为10-6): 9.找出1100之间的全部同构数。所谓“同构数”是指某个数出现在它的平方数的右端。如:6的平方是36,6出现在36的右端,6就是同构数。10.11.编写一个程序,要求输出如下图案。 1 1*1 2*2 3*3 4*4 5*5 $12.编写一个程序,模拟选举过程,共有n个人参加选举,候选人有4位,分别用字符A, B, C, D表示,选某位候选人时,直接键入其代号;若键入除A, B, C, D以外其他字符时为无效票。选举结束后按得票多少的顺序输出候选人代号所得票数。第6章一、阅读程序写运行结果1.写出下列程序运行结果。 void main(void) int i,x331,2,3,4,5,6,7,8,9; for(i=0;i3;i+)printf(“%d”, xi2- i); 2.写出下列程序运行结果。 void main(void) int a51,1,1,0,i,k=2; for(i0; i0&cha9;a+)s=10*s+cha-0; printf(“%dn”,s);4.若输入ABC,写出下列程序运行结果。 #include #include void main(void) char a10; gets(a);strcat(a,“6789”);printf(“%sn“,a);5.写出下列程序运行结果。 void main(void) static char xa,a,a,a,a; int i,J,k; for(i0;i=3;i+) printf(.n”); for(70;Ji;J+)printf(“”); for(k=0;k5;k+)printf(“%c”,xk); 6.写出下列程序运行结果。 void main(void) int s31,3,5,7,2,4,6,8,9; int i,7,s1=0,s2=0; for(i二0;i=2;i+) for(J0;7=2;J+) if(i= =j)s1=sl+sij; iff(i+j=2)s2=s2+sij; printf(”%dn%dn“,s1,s2); 7.写出下列程序运行结果。 #include void main(void) int i,j; int a331,2,3,4,5,6,7,8,9,b33; for(i0;i3;i+) for(j=0;j3;j+)bJi= -LCiJ; for(i0;i3;i+) printf(”n“); for(j二0;j3;j+)printf(“%4d”,bij); 8.写出下列程序运行结果。 #include void main(void) char a“11223344”; a30; printf”sn“,a); 9.有如下程序,运行结果为_。 void main(void) int a331,2,3,4,5,6,i,j,s=0; for(i1;i3;i+) for(j0;j=i;j+)s+=aij; printf(“%dn”,s); 10.有如下程序,其运行结果是_。 void main(void) int a331,2,3,4,5,6,i,j,s=0;for(i1;i3:i+)for(j0;j2;j+)s=s+aij;printf(“%dn”,s); 二、程序填空题1.下面程序的功能是将一个字符串str的内容颠倒过来,请在程序横线处填上适当内容。 #include void main(void) char str80; int i,j, ; gets(str); j= ; for(i=0;ij;i+,j一) k=stri;stri=strj;strj=k; puts(str); 2.下列程序的功能为:输入一组整数赋给一个3X3的矩阵,求解该矩阵两条对角线元素值的和,请在程序横线处填上适当内容。 #include void main(void) int a33,sum=0; int i,J; for(i二0;i3;i+) for(j0;j3;j+) scanf(毋), for(i二0;i3;i+) sum=sum+ aii+; printf(.%d.,sum); 3.下面程序是对输入的字符串统计其中数字字符出现的次数,请在程序横线处填上适当内容。 # include #include void main(void) char ch80; int i, ; for(i0;i0&chi9) ; i+; for(i0;i9;i+) printf(”%d,%dn“,i,ai); 三、程序设计题1.将字符数组str2中的全部字符复制到字符数组ctrl中。不使用StrCpY函数.复制时,0也要复制进去,0后面的字符不复制。2.将输入的n个整数按从小到大排序输出,并求出其中所有奇数的个数。3.输入n个整数,求出其中最大数及其所在的位置,以及此n个数中素数的个数。4.统计从键盘输入的字符串中各数字字符的个数。5.输入10个学生的分数,计算平均分,并打印低于平均分数的成绩。6.任意输入20个整数,再输入一个数x.判断x是否在该数组中存在,若存在,则输出x所在的位置,否则输出N0 DATA”。7.输入一个长度不超过80的字符串,编写程序,删除其中所有的数字字符。8.编程,将任意一个整数x插入到一个有序的数组a中。假设数组a是升序排列。9.编程实现二维数组(nxn)转置(即行列互换)。10.任意输入一个35的整数矩阵a,编写程序选出各行最大的元素并依次放入一维数组b中,输出数组a和b.。11.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。数组中也可能没有鞍点。12.编程,打印杨辉三角形前8行8列的值。即输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1第7章一、程序填空题1.计算输出x的平方值,请填空。 void main(void) int x=7; x= ; printf(“n the square is %d.,x); square(int x) return( ); 2.计算矩形面积,请填空。 void main(void) float x,y; scanf(“ff”,&x,&y); printf(%f,一.廷一(x,y); float mul() return(a*b); 13.输入两个整数,求它们差的绝对值,请填空。 #include void main(void) int x,y,z; scanf(.%d%d.,&x,&y); z=fabs(x-y): printf(“I%d-%dl:$d“,x,y,z); 二、阅读程序写运行结果题1.写出下列程序运行结果。 #includevoid fun(int x,int y) int a,b; float d; a=x+14; b=y-4; d=(float)(b/a); printf(“d=f n.,d); void main(void) int b=9,a=6,C; c=ba; printf(“c%dn”,c); fun(a,b); 2.写出下列程序运行结果。 #include int d=1; void fun(int p) int d=5; d+=p+; printf(“%dn”,d); void main(void) int a=3; fun(a); d+=a+; printf(“%dn”,d); 3.写出下列程序运行结果。 #include void test() static int x=0; printf(“%dn”,+x); void main(void) test(); test(); test(); 4.写出下列程序运行结果。 #include void main(void) f int n=4,x=2,s; sfun(x,n); printf(“s=%dn”,s); int fun(int x,int n) if(n=1) return(x); else return(x*fun(x,n-1); 5.写出下列程序运行结果。 long fun(int n) long s; if(n= =1)|(n= =2)s=2; else s=n+fun(n-l); return s; void main(void) long x; x=fun(5); printf(“x=ldn.,x); 三、程序设计题1.分别用自动变量、静态变量和外部变量编写九九乘法表。2.编写求x!的函数,通过调用该函数求出能使等式x!= x3-l0x成立的10以内的所有正整数x。3.求组合数。编程计算:C=m!/(n!(m-n)!)4.编写函数,求方程ax2+bx+c=0的b2-4ac,并作为函数的返回值。其中的a, b, c作为函数的形参。第8章 补充练习题一、单选题二、填空题三、阅读程序写运行结果题四、程序填空题五、程序设计题5.编写函数,统计一个字符串中,大写字母、小写字母和标点符号的个数(标点符号包括:逗号、句号、分号)。大、小写字母和标点符号的个数由函数参数返回。第9章 补充练习题一、单选题二、填空题5.函数调用mall0c(size0f(float)的功能是申请一字节的内存。这批内存的首地址是。三、阅读程序写运行结果题四、程序填空题五、程序设计题第10章 补充练习题一、单选题1.设a=5,b=3,则表达式ab+2的值(二进制表示形式)是_。A)00011000 B)00001101 C)00000100 D)000010012.以下运算符优先级最高的是_。A) B) c) D)3.表达式ab|c&d的运算顺序为_。A) &,| B),|, C) ,|,& D) ,&,|4.表达式0x2a&0x3f的值是_。A) 0x2a B) 0x3f C) 0x15 D) 0xaf5.有以下程序: #includevoid main(void)short a,b;a=5;b=a,1/a,2;printf(“%d, %dn”,a,b);程序运行结果为_。A) 5,3 B)5,1 C)5,2 D) 5,0二、填空题 1.测试短整型变量a是否为正数的位运算表达式是_。 2.在C语言中,的含义包括_和_。 3.位运算符按优先级从高到低的次序是_。 4.位运算:0xla2c0xla79的运算结果是(用八进制形式写出)_。 5.位运算:0x27a1 | 0xla54+2的运算结果是(用八进制形式写出)_。三、阅读程序写运行结果题 1.己知下面程序:#includevoid main(void)unsigned a,b,c;scanf(“%o”,&a);b=a|2;c=b&0x000f;printf(“%d,%0n”,c,c);若输入数据为:553则该程序的功能是_,程序运行结果是_。 2.已知下面程序:#includevoid main(void)unsigned a,b,c;int n;scanf(“a=%0,n=%d”,&a,&n);b=a+(16-n);c=a;n;c=bc;printf(“%0n%0n“,a,c);若输入数据为:a=175324,n=4 d则该程序的功能是_。程序运行结果是_。四、程序填空题 1.下面程序是将一个正整数n的各个位向左循环移动4位,请在程序的横线上填写适当内容。#includevoid main(void)int k,n,a;scanf(“%d”,&n);k=n&0xf000;k= ;a=n+ 4;a=k| a;printf(“n=%on a=%on”,n,a);2.下面程序是判断一个整数n的最高位是0还是1,若是0则输出“一”,否则输出“+”。请在程序的横线上填写适当内容。#includevoid main(void)int n;scanf(.$d.,&n);printf(“n=+d“,n);test(n);test(int x)x=x; ;if(x=1)printf(“n+n”);else ;五、程序设计题1.输入两个无符号整数分别存入a, b中,再由a, b两个数生成新的数c,具体要求如下: (1)将a的低位字节作为c的高位字节,将b的高字节作为c的低字节。(2)数据a, b从键盘键入,用十进制和十六进制两种形式输出a, b, c的值。2.编写一个函数,对一个16位的二进制数取出它的偶数位。即取出从左边起第2, 4,、16位。将取出的8位数用八进制形式输出。第11章 补充练习题一、单选题1.若fp勿是指向某文件的指针,且己读到此文件末尾,则库函数fe0f(fp)的返回值是_。 A)-1 B)0 C)非0值D)NULL2.在C语言中,文件的存取方式以_为单位。 A)记录B)结构C)字符D)字节3.若要向文件末尾添加新的数据,则应以方式打开文件。 A) r B)w C) a D) rb4.在C语言中,可以把整数以二进制形式存放到文件中的函数是_。 A) fprintf()B)fread()C) fwrite()D) fputc()5.在C语言中,若按数据的组织形式分类文件可分为_。 A)字符文件、数字文件B)文本文件、二进制文件 C)顺序文件、随机文件D)以上均不对6. fseek函数的正确调用形式是_。 A) fseek(文件类型指针,起始点,位移量);B)fseek饰,位移量,起始点); C) fseek(起始点,位移量,助;D)fseek(起始点,位移量,文件类型指针);7. fwrite函数的一般调用形式为_。 A) fwrite(buffer,c0unt,size,fp); B)fwrite(fp,size,c0unt,beffer); C)fwrite(fp,c0unt,size,buffer); D) fwrite(buffer,size,c0unt,fp)8. rewind函数的作用是 A)使位置指针重新返回文件的开头B)将位置指针指向文件中所要求的特定位置 C)使位置指针指向文件的末尾D)使位置指针自动移至下一个字符的位置9. fgetc函数的作用是从指定的文件读入一个字符,该文件的打开方式必须是_。 A)只读B)追加C)读或读写D) B和C都正确10.检测文件位置指针是否在文件起始处的条件是。 A) fp- =0 B) $ell(fp)=0 C) fseek(fp,0,SEEKSET) D) fe0t(fp)11.若勿为文件指针,且文件已正确打开,则以下语句的输出结果为_。 f seek(fp,0,SEEK-END); i二f tell(fp); printf(“i%dn“,i); A)勿所指文件的记录长度B)勿所指文件的长度,以字节为单位 C)勿所指文件的长度,以位为单位D)勿所指文件的当前位置,以字节为单位12.有如下程序: #include void main(void) FILE *fp; fp=fopen(“data.txt”,” w”); fprintf(fp, abc”); f close(fp); 若文本文件中data.txt原有内容为:hell0,则运行以上程序后,文件data.txt中的内容为 A) g00dabc B) abcd C) abc D) abcg00d13.设有宏定义命令:#define MUL 2+3,则表达式“5+MUL*5.0”的值为_。 A) 50.0 B)30.0 C)22.0 D) 20.014.下列说法正确的是 A)C程序必须在开头用预处理命令#include B)在C语言中,预处理命令必须位于源程序的首部 C)在C语言中,预处理命令都以“#”开头 D)C语言的预处理命令只能实现宏定义和条件编译的功能15.有以下宏定义 #define N 2 #define Y(nx(N+1)*n) 则表达式“z=2*(N+Y(5);”的值为_。 A)34 B)70.0 C)无定值D)表达式有误16.下列程序执行结果为_。 #define M0D(x,Y)x%Y void main(void) int z,a=15,b=100; z=M0D(b,a); printf(.%dn”,z+); A)11 B)10 C)0 D)宏定义不合法二、填空题1.在C语言中,数据文件的存取方式为_。2.如果调用fopen函数不成功,则函数返回值为_;如果调用fclose函

温馨提示

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

评论

0/150

提交评论