C语言模拟题.doc_第1页
C语言模拟题.doc_第2页
C语言模拟题.doc_第3页
C语言模拟题.doc_第4页
C语言模拟题.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1. 以下程序输入一个正整数,计算并显示该整数的各位数字之和。例如整数1987各位数字之和是1+9+8+7=25。 #includevoid main() int i,k,sum=0;scanf(%d,&i);while( 【1】 ) k= 【2】 sum=sum+k;i=i/10;printf(sum is %d,sum);【1】 A. i!=0 B. i=0 C. k!=0 D. k=0【2】 A. i/10; B. i*10; C. i%10; D .i+;2. 以下程序求解“百钱百鸡”问题,请填空。百钱百鸡问题是:一只公鸡,值5钱;一只母鸡,值3钱;一只小鸡,值1/3钱。用百钱买百鸡,问可买公鸡,母鸡,小鸡各多少只。#includevoid main() int cock,hen,chick;for(cock=0;cock=20;cock+)for(hen=0; hen=33;hen+) 【3】 if ( 【4】 )printf(cock=%d,hen=%d,chick=%dn,cock,hen,chick);【3】 A. chick=100-hen*3-cock; B. chick=100-hen*3-cock/3; C. chick=100-hen*5-cock/3; D. chick=100-hen-cock ;【4】 A. cock*5+hen*3+chick/3=100|chick%3=0|(cock+hen+chick)=100B. cock*5+hen*3+chick/3=100&chick%3=0&(cock+hen+chick)=100C. cock*5+hen*3+chick/3=100&chick%3=0|(cock+hen+chick)=100D. cock*5+hen*3+chick/3=100|chick%3=0&(cock+hen+chick)=1003. 以下程序输入三个学生的姓名和分数,并计算输出每个人的平均得分。请填空。#includestruct stu char name20; /姓名int score; /分数s3;void main() int j; float ave,sum=0;for(j=0;jscore C. sum+=sj.score D. sum+=sj-score4以下程序是将两个字符串连接到一起。请填空。#includevoid mystrcat(char *s,char *t) char *p,*q;p=s; q=t;while(*p!=0) p+;while(*q!=0) 【7】 p+; q+; 【8】 void main() char str1100,str2100;scanf(%s%s,str1,str2);mystrcat(str1,str2);printf(String is %sn,str1);【7】 A. *q=*p; B. *p=*q; C. *p=*s; D. *q=*t;【8】 A. *p=0; B. *p=n; C. p=NULL; D.此处不需要任何语句5、在歌星大奖赛中,有10个评委为参赛选手打分,分数为1100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值(去掉小数)。下面程序实现此功能,请选择填空。#includeint main() int integer,i,max,min,sum; scanf(“%d”, &integer); 【9】 sum=0; for(i=2;imax) max=integer; if(integermin) min=integer; printf(去掉一个最高分:%dn去掉一个最低分:%dn,max,min); printf(最后得分:%dn, 【10】 ); return 0;【9】 A、 max=-1; min=101; B、 max=0; min=0; C、 max=101; min=-1; D、 max= integer; min= integer;【10】 A、(sum-max-min)/10 B、sum/10 C、sum/8 D、 (sum-max-min)/86. 以下程序求 ,直到最后一项的绝对值小于10- 4。请选择填空。#include #include void main()int flag=1,i=1; float s=0,t=1;do s=s+t;i+; flag=-flag; 【11】 ;while( 【12】 );printf(表达式的值为%fn,s);【11】 A)t=flag/i B) t=1.0/i*flag C)t= flag /(i+1) D)t=1.0/(i+1)flag【12】 A)t=1e-4 B)t=1e-4 C)fabs(t)=1e-47、以下程序中,函数 SumM的功能是:求出M行M列方阵中对角线元素的和,并通过形参传回主函数输出。请选择填空。#define M 3#include void SumM(int aMM,int *sum) int i,s=0;for(i=0; iM; i+)s+= 【13】 ;*sum=s;void main() int xMM=3,2,5,1,4,1,8,3,7,s;SumM( 【14】 );printf(%dn,s);【13】 A) aiiB) aiC) ai0 D) a0i【14】 A) x,s B) x,&sC) x,*s D) xMM,s8. 以下程序在屏幕上输出100200之间不能被3整除的数。结果控制每行输出5个数。请选择填空。#includevoid main()int n,i=0;for(n=100;n=200;n+) if( n%3= =0) 【15】 printf(%d ,n);i+;if( 【16】 ) printf(n);printf(n);【15】 A. break; B. continue; C. n+; D. i+;【16】 A. i%3= =0 B. i/5= =0 C. i/3= =0 D. i%5= =09. 有以下的程序:#includevoid main() int i=0;char st=ABCdef;while(sti!=0) if(sti=A & sti=a & sti=z) sti=sti-32;i+;printf(%s,st);该程序的输出结果是 。A) ABCdef B) abcDEF C) abcdef D) ABCDEF10有以下程序#include#define PR(ar) printf(%d ,ar) void main() int j, a=2,4,6,8,10,12, *p=a+3; for(j=3; j0; j-) switch( j) case 1: case 2: PR(*p+); break; case 3: PR(*(-p); 程序运行后的输出结果是 。A) 6 6 6B) 6 6 8 C) 6 7 8D) 6 8 811. 有以下的程序:#includeint f(int *a) return (*a) +; void main( ) int s=0; int a=5; s+=f(&a) ; s+=f(&a) ; printf(%dn,s);该程序的输出结果是 。A) 9 B) 10 C) 11 D) 1212以下程序的输出结果是 。#include stdio.hint f() static int i=0; int s=1; i+; s+=i; return s; void main() int i,a=0; for(i=0;i4;i+) a+=f(); printf(%dn,a); A) 8 B) 14 C) 10 D) 1213有以下程序#include void main() FILE *fp; int i=10,j=20,k,n;fp=fopen(test.dat,w);fprintf(fp,%dn,i);fprintf(fp,%dn,j);fclose(fp);fp=fopen(test.dat, r);fscanf(fp,%d%d,&k,&n);printf(%d %dn,k,n);fclose(fp);程序运行后的输出结果是 。A) 20 30 B) 10 30 C)10 20 D) 20 1014. 以下程序的运行结果是 。# include # include #define LEN sizeof(struct line)struct line int num ; struct line *next;void main( ) struct line *a,*b,*c,*p; a=(struct line *) malloc (LEN) ; b=(struct line *) malloc (LEN) ; c=(struct line *) malloc (LEN) ; a-num=10; a-next=NULL; b-num=20; b-next=a; c-num=30; c-next=b; p=c; while(p!=NULL) printf(%d , p-num) ; p=p-next; A) 30 20 10 B) 30 20 10 0C) 10 20 30 D) 10 20 30 015以下程序计算F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。请填空。#include#includefloat f(float,float);void main float x,y,z,sum;scanf(“%f%f%f“,&x,&y,&z);sum=f( 【1】 )+f( 【2】 );printf(“sum=%fn”,sum);float f(float a,float b)float value; value =a/b; return(value);【1】 A.x-y, x+y B、z+y, z-y C、x+y, x-y D、z-y, z+y 【2】 A.x-y, x+y B、x+y, x-y C、z-y, z+y D、z+y, z-y 16下面程序可求出矩阵a的两条对角线上的元素之和。请填空。#include int main()int a33=1,3,6,7,9,11,14,15,17,sum1=0,sum2=0,i;for(i=0;i3;i+)sum1=sum1+【3】;for(i=0;i3;i+)sum2=sum2+【4】;printf(sum1=%d,sum2=%dn,sum1,sum2);return 0;【3】 A)aii B)aii+1C)a0i D)ai0【4】 A)ai2-i B)ai3-i C)ai+2i D)a3-ii17下面的程序从键盘输入一行字符,分别统计大写字母、小写字母、数字的个数,请填空。#includevoid main()int upper=0,low=0,digit=0;char ch;while( 【5】 )if(ch=A&ch=a&ch=0&ch=0&ch=0|ch=0|ch=918. 以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。#includevoid main()int i,j;for(i=0; 【7】 ;i+)j=i*10+6;if( 【8】 )continue;printf(d,j);【7】 A)i100 B)i=100C)i10D)i=10【8】(4) A)j%3=0 B)j%3!=0 C)j%3=0D)j mod 319.以下程序求三个数中较大的数。请填空。#includeint 【9】 if(ab) return a;else return b;void main()int i,j,k;scanf(%d%d%d,&i,&j,&k);printf(max is %d, 【10】 );【9】 A.max(int a,b) B.max(int a,int b,int c) C.max(int a,int b) D.max(int a,b,c)【10】A.max(i,j,k) B. max(max(i,j),k) C. max(i,j) D.max(i,k)20从键盘输入一行字符,写到文件file_a.txt中。以为结束符。#include stdio.h#include stdlib.hvoid main()FILE *fpout; char ch;if(fpout=fopen(file_a.txt,w)=NULL)printf(cant open this file!n); exit(0);ch=getchar();while(ch!=)fputc( 【11】 );ch=getchar(); 【12】 ;【11】 A ) fpout,ch B) ch,file_a C) ch,fpout D) file_a,ch【12】 A ) exit(0) B) fclose(fpout) C) exit(fpout) D) fclose(0)21以下程序将两个字符串连接到一起。请填空。#includevoid mystrcat(char *s,char *t)char *p,*q;p=s; q=t;while(*p!=0) p+;while(*q!=0) 【13】 p+; q+; 【14】 void main()char str1100,str2100;scanf(%s%s,str1,str2);mystrcat(str1,str2);printf(String is %sn,str1);【13】A.*q=*p; B.*p=*q; C.*p=*s; D.*q=*t;【14】(2) A.*p=0; B.*p=n; C.p=NULL; D.此处不需要任何语句22.以下程序输入三个学生的姓名和分数,并计算三个人的平均得分。请填空。#includestruct stuchar name20; /姓名int score; /分数s3;void main()int j;float ave,sum=0;for(j=0;j3;j+) 【15】 /输入姓名 【16】 /输入分数sum=sum+sj.score;ave=sum/3;printf(average is %fn,ave);【15】 A.scanf(%s,); B.scanf(“%c”,&); C. scanf(“%s”,&); D.scanf(“%c”,);【16】(2) A.scanf(“%d”,&score); B. scanf(“%d”,score); C.scanf(%d,&sj.score); D.scanf(“%d”,sj.score);23. 有以下的程序:#include void main () int i,j; i=91%5+7/2=5; j=45/11+(78)?14:21)=25; printf(i=%d,j=%dn,i,j); 程序运行后 i,j的输出结果为_A) i=0,j=1 B) i=0,j=0 C) i=1,j=1 D) i=0,j=124有以下程序#include#define PR(ar) printf(%d ,ar) void main() int j, a=2,4,6,8,10,12, *p=a+3; for(j=3; j0; j-) switch( j) case 1: case 2: PR(*p+); break; case 3: PR(*(-p); 程序运行后的输出结果是 。A) 6 6 6B) 6 6 8 C) 6 7 8D) 6 8 826. 有以下的程序:#includevoid main() int i=0;char st=defABC;while(sti!=0) if(sti=A & sti=a & sti=z) sti=sti-

温馨提示

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

评论

0/150

提交评论