C语言知识学习程序设计模拟试题A_第1页
C语言知识学习程序设计模拟试题A_第2页
C语言知识学习程序设计模拟试题A_第3页
C语言知识学习程序设计模拟试题A_第4页
C语言知识学习程序设计模拟试题A_第5页
已阅读5页,还剩18页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、C语言程序设计模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是(D )。A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。A) MAINB) _HJ C) 2ongD) LINE13、以下能正确定义一维数组的是(C)。A) int a5=0,1,2,3,4,5; B) int a5= ” 012345 ” ;C) char a = ” 012345 ” ; D) char a5=0,1,2,3,4,5;4、执行下列程序段后输

2、出的结果是(C)。x = 9;while (x 7) printf( “ * ”); x- -; A)B)C) * D)5、设 char str110=“ABCDE” , str210=xyz(D )。则执行语句 printf( “d ” , strlen(strcpy(str1, st); 后的输出结果是解析:strcpy(str1,str2); 后,str1里是XYZ, Z 后面有字符串结束符因为str1里是新值XYZ,而strlen(strcpy(str1,str2) 就是 strlen(str1 的新值),所以得 3。strlen统计到字符串结束符以前,即,不计入字符串结束符。A) 9

3、 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是( A )。A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数7、 在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)A)void B)doubleC)int D)char8、 下面不能正确进行字符串赋值操作的语句是(C)。A) char s5=ABCD; B) char s5; s=ABCD;C) char *s ; s=ABCDEF ; D) char *s=ABCD;解析:这样理论上的没错的把 s指针指向字符串可以改变 s指针但不能改变其指向的值正确的应该是这样ch

4、ar s = ABCDEF;或 char s8;strcpy(s, ABCDEF);9、设有说明int s5=1,3,5,7,9; int *p=s; 则下列表达式中值为3的是(C)。A)+p B)+(*p) C) *(+p) D) *(p+=2 )解析:A是把p得地址后移一个int单位长度,即使p指向数组的第二个元素。B是取得p当前指向的元素值然后加1,即1+仁2 ;C是先移动p,使其指向第二个元素,然后取得当前指针指向的元素值,即3.D是先使p指向数组的第三个元素,然后去的当前指针指向的元素的值,即10 、下面程序的输出结果是( B)。int m=13;int fun( int x, in

5、t y) int m=3;return( x*y-m); main( ) int a=7,b=5;printf( “%dn ” , fun(a,b)/m); A) 1B) 2 C) 3D) 10二、填空题。(每空 2 分,共 30 分) 1.设有变量说明语句:int x=1,y=2;则执行下述 printf 语句的输出结果是 _1.000000_printf(%fn,1.0+x/y);2.执行下述程序:#include main()int x,y;scan f(%2d%*2s%1d, &x, &y);prin tf(%dn,x+y);若从键盘输入:12345671则程序的输出结果是 _17_。

6、解析:x, y为int类型,x的长度为2 , y的长度为1,即x为12 , y为5,故x+y=173以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。#in clude mai n()float x,amax,am in;scan f(%f, &x);amax=x;amin=x;while (x0)if (xamax)amax=x;else if (xam in)amin=x;scan f(%f, &x);prin tf(n amax=%finami n=%fn,amax,ami n);4.设n是整型变量,且已具

7、有某正整数值。根据下述数学式1111122 33 41 1n n 1求s的值并输出。可编写如下之程序段来实现。请填空int k;double s,d;s=0.0;d=1.0;k=0;dos=s+d;_k+ ;d=1.0/(k*(k+1); while (k=n);prin tf(%fn,s);5执行下述程序的输出结果是-3 -4 0 4 4 3。#include main()int a6,i;for (i=0;i3)%5;printf(%3d,ai);printf(n);解析: (i3) 为真时值为 1,反之为 0 ,6.执行下述程序的输出结果是 _6_#include main()int a

8、=2,4,6,*ptr=&a0,x=8,y,z;for (y=0;y3;y+)z=(*(ptr+y)x)?*(ptr+y):x;printf(%dn,z);7执行下述程序的输出结果是60#in elude mai n()int a2=10,20,30,40,50,60,(*p)2;p=a;prin tf(%dn,*(*(p+2)+1);8执行以下程序的输出结果是10 0#in elude mai n()int s,i,sum();for (i=1;i=10;i+)s=sum(i);prin tf(s=%dn,s);sum(i nt k)int x=0;return (x+=k);9. 下述函数

9、定义用来求出两个整数之各,并通过函数的模拟传地址调用,传回两整 数相加之和值,请填空。void add(i nt x,i nt y,int *z)*z=x+y;10. 函数func的功能是将整型变量x的值转换成二进制数,并将该二进制数的每一 位存入由整型指针b所指向的一维数组a,最低位存放于a0中,次低位存放于a1 中,依此类推。请填空。void fun c(i nt x,i nt *b)in t r;dor=x%2;=r;x/=2; while (x);11. 以下程序中函数in vert实现将数组内所有数组元素的值逆置。比如,执行本程序将输出:10 9 8 7 6 5 4 3 2 1 请填

10、空。#in elude mai n()int a10=1,2,3,4,5,6,7,8,9,10,i, n=10;inv ert(a, n-1);for (i=0;is)k=*s;s=*t;*t=k;s+;t-;12. 若有以下定义和说明,则结构体变量w在内存中所占的字节数是 union aafloat x;float y;char c6;struct stunion aa v;float w5;double ave; w;#in elude struct strfloat x;char *y; *m;struct str group3=95.0,Li,82.5, Wa ng,73.5, Su

11、n;mai n()m=group;prin tf(%.lf,%sn,m-x,m-y);14. 下面的程序用来统计某文件中字符的个数。请填空#in clude #i nclude FILE *fp;long num=0;if (fp=fope n(fnam.dat,r)=NULL)printf(Cant open this file!n);exit(0);while ()fgetc(fp);nu m+;prin tf( num=%dn, nu m);fclose(fp);15. 执行下述程序后,输出结果为 。#in clude #defi ne FUN1(a,b) a+b#define FUN2

12、(a,b) a-b#defi ne CAL(a,b) a*b+a+3printf(%dn,CAL(FUN1(3,5),FUN2(4,5);三、修改程序 (在程序出错的语句下划横线并标号, 把修改后的语句写在程序之 后的横线上。每小题 5 分,共 10 分)1 下列给定程序的功能是:读入一个整数(2=k = 10000),打印它的所有质 因子(即所有为素数的因子)。例如,若输入整数 2310 ,则应输出 2、3、5、 7、11 。#include #include IsPrime(int n); int i,m;m=1;for ( i=2; in; i+)if !(n%i) m=0; conti

13、nue; return (m);main() int j,k;printf( “ nPlease enter an integer number between 2 and10000: ” );scanf( “%d ”,k);,k);printf( “nThe prime factor(s) of %d is (are):for (j=2;jv=k;j+)if (!(k%j)&(IsPrime(j) printf(“n%4d ” ,j);printf( “n ”);2 .下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置 中的字符,把ASCII值大或等于的字符一次存放到c数组

14、中,形成一个新的字符 串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字 符串为:aBcdeFgh。#i nclude #include void fun( char *p,char *q,char *c); int k=1;while(*p!=*q) if (*p*q) ck=*q;else ck=*p;if (*p) p+;if (*q) q+;k+;mai n() char a10=“aBCDeFgh ”,b10= “ABcd ”,c80= “” ;fun( a,b,c);printf(“The string a: ” ); puts(a);printf(“

15、The string b: ” ); puts (b);printf( “The result: ” ); puts(c);四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果(每小题5分,共20分)1. #i nclude void mai n() char ch; int k=0;for(ch= A ;ch H ;ch+,k+)if(k%2=0) printf(“ %c ” ,ch);printf( “n ”);输出结果: 2. #i nclude void mai n() int k=0;char c= A;do switch (c+)case A:k+; break;c

16、ase B:k-;case C:k+=2; break;case D:k=k%2; break;case E:k=k*10; break;default: k=k/3;k+; while(c G);printf( “ k=%dn ”,k);输出结果:3. #i nclude void mai n()in t a6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i6;i+) for(j=0;j6;j+) if(ai=bj)break;if(j6) printf( “ %d ” ,ai);printf(“n ”);输出结果:4. #i nclud

17、e void mai n() int a8=1,0,1,0,1,0,1,0,i;for(i=2;i8;i+) ai+=ai-1+ai-2;for(i=0;i=0)(x0.04、k=k+15、-3 -4 0 4 4 36、67、608、109、int *z10 、*(b+ )11 、 ts12 、4213 、95, Li14 、fgetc(fp)!=EOF15 、29三、改错题1、IsPrime(int n) ;改为 IsPrime(int n)scanf( “ %d ” ,k); 改为 scanf( “%d ”,&k); m=0; con ti nu e; 改为if (!(n %i)m=0;

18、continu e; if (!(k%j)&(lsPrime( j)改为 if(!(k%j)& (IsPrime(j)2、studio.h 改为 stdio.hvoid; fun(char *p,char *q,char *c); 改为 voidfun(char *p,char *q,char *c)k=1改为k=0while (*p!=*q)改为 while(*p)|(*q)k+后添加一个四、阅读程序1、ACEG2、83、42527164、1022571320五、编程题1、#in cludemain ()float x,y;scan f(%f ,&x);if(x0)y=1-x;elsey=2*x*x-2;printf(%fn,y);2、#includestruct student int num;float score3;stu10;void chosescore(struct student *stu,int n) int i=0

温馨提示

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

评论

0/150

提交评论