C语言自学考试模拟试题及复习资料_第1页
C语言自学考试模拟试题及复习资料_第2页
C语言自学考试模拟试题及复习资料_第3页
C语言自学考试模拟试题及复习资料_第4页
C语言自学考试模拟试题及复习资料_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言自学考试模拟试题及答案一、单项选择题1.各种基本数据类型的存贮空间正确的长度排列为_C_.A.Char<long<int<float<double       B.Double<float<long<int<charC.Char<int<long<float<double       D.Float<int<long<char<double2.下面的变量说明中_C_是正确的。

2、A.Char:a,b,c;    B.Char a;b;c;C.Char a,b,c;       D.Char a,b,c3.main()  int n;( n=6*4,n+6),n*2;printf(“n=%dn”,n);   此程序的输出结果是_B_.A.30    B.  24     C.  60   

3、60;  D.  484.若有如下定义,则_C_和_D_是对数组元素的正确的引用。int  a10 ,*p ;p=a ;A.  *&a10     B.  a11      C. *(p+2)      D. *p5.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是_C_A.  0     B

4、.  4    C. - 4     D.  26.表达式y=(13>12?15:6>7?8:9)的值为_C_ .A   9     B   8    C  15    D.  17.若x=5,y=3 则y*=x+5; y的值为_D_.A.  10   B.  20&

5、#160;   C.  15      D.  308.C语言的输入及输出操作是由_C_完成的。A.输入语句                  B.输出语句C.输入及输出函数            D.输入及输出语句9.语句

6、60;for(k=0;k<5;+k)  if(k= = 3) continue;printf(“%d”,k);的输出结果为_B_.A.012    B. 0124     C.  01234      D.  没有输出结果10.从循环体内某一层跳出,继续执行循环外的语句是:_A_.A. break语句          &

7、#160;       B.return语句C.continue语句                 D.空语句。11.Break语句的正确的用法是_B_.A.无论在任何情况下,都中断程序的执行,退出到系统下一层。B.在多重循环中,只能退出最靠近的那一层循环语句。C.跳出多重循环。D.只能修改控制变量。12.两个指针变量的值相等时,表明两个指针变量是_B_.A.占据同一内存单元

8、。              B.指向同一内存单元地址或者都为空。C.是两个空指针。                  D.都没有指向。13.不正确的指针概念是_D_.A.一个指针变量只能指向同一类型的变量。B.一个变量的地址称为该变量的指针。C.只有同一类型变量的地址才能存放在指向该类型变量的指针

9、变量之中。D.指针变量可以赋任意整数,但不能赋浮点数。14.设char ch=A;表达式ch!(ch>=A&&ch<=Z)?ch:(ch+32)的值是_.A.A     B.  a    C. Z     D.  z15.根据C语言的语法规则,下列_A_个是不合法标识符。A.While    B. Name     C. Rern5   

10、D. _exam16.设单精度变量f,g均为5.0,使f为10.0的表达式是_A_.A.  f+=g     B.  f-=g+5      C.  f*=g-15       D.  f / =g*102019年10月甘肃省自考C语言程序设计真题一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。每小题1分,共20分)1.程序中定义以下宏 #define

11、S(a,b) a*b,若定义 int area;且令area=S(3+1,3+4),则变量area的值为(A)A 10 B 12 C 21 D 282.正确的标识符是()A a B a=2   Ca.3  D a_33.表达式1&3&5&7的值为(A)     A 1       B3 C5     D74.语句printf(st)的输出结果为(B)&#

12、160;      A st   B st C s D s5. 执行下列语句中,sum变量的值是(B)int sum=0for(int i=0;i<10;i+,sum+=i);A 45 B 55 C 0 D编译错误6.已知有共用体变量data1定义如下:union data int i;char ch;float f; data1;则变量data1所占的内存存储空间可表示为(C)Asize of(int) Bsize of(char)Csize of(floa

13、t)Dsize of(int)+size of(char)+size of(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示A已读到此文件末尾 B未读到此文件的末尾C此文件已关闭 D此文件尚未被打开8.以下c语言函数声明中,不正确的是()Avoid fun (int x, int y); Bfun (int x, int y);Cint fun (int x,y); Dchar *fun (char *s);9.下列选项中,不合法的C语言关键字是()Aauto

14、 Bdefault Cstatic Dvar10.若x=4,则x*=x+2的值为()A36 B24 C18 D2011.函数调用语句func(exp1,exp2),(exp3,exp4,exp5);中,实参的个数为()A1 B2 C4 D512.设a为5,执行下列语句后,b的值不为2的是()Ab=a/2 Bb=6-(-a)Cb=a%2 Db=a>32:113.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是()Ap2=*p1 Bp2=*&p1Cp2=*p1 Dp2=&*p114.以下运算符中,运算对象必须是整型的是()A/B%=C!=

15、D=15.以下关于typedef的叙述中错误的是()A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植16.若执行完成下列语句:int a=3,b=6,c;c=ab2;则变量c的二进制值为()A00011100 B00010100 C0001000 D0001101117.设有定义int x=1; int y=a<Ax-:x+;,则变量y的值是A0 B2 C1 D318.以下关于宏替换的叙述不正确的是()A宏替换只是字符替换 B宏名无类

16、型C宏替换不占用运行时间 D宏替换不占用编译时间19. 以下对枚举类型名的定义中正确的是()Aenum s=a,b,c Benum s a=9,b=2,cCenum s=a, b, cDenum sa, b, c20. 假设指针p已经指向某个整型变量x,则*p相当于()A&x B&p Cx D*x     1A     2D     3A  

17、   4 B    5B     6C     7A     8C9D    10B    11B    12C    13D    14B   &#

18、160;15A    16.D17C   18. D   19. B    20. C二、多项选择题(在每小题的五个备选答案中,选出二至五个正确答案,并将其代码填写在题干后的括号内;错选、多选不得分。每小题2分,共10分)1. C语言中的文件类型有()A索引文件 B文本文件CASCII文件D二进制文件E随机文件2. 以下关于C语言中循环的描述正确的是()A在while和do-while循环体内应包含使循环趋于结束的语句Bdo-while

19、的循环体不能是复合语句Cdo-while的循环体至少无条件执行一次D在for循环中可以使用break语句跳出循环体Efor循环只能用于循环次数已经确定的情况3. 合法的变量名有()Aa_1_2 Bb2 C_abc DABC E$14. 整型变量的类型标识符是()Ashort Blong CUnsigned intDint Echar5. 以下叙述中正确的是()A一个C语言程序有且仅有一个main函数BC语言程序中,main函数是没有参数的C一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用Dmain函数是由系统调用的E若要通过函数参数带回一个或多个返回

20、值,则应使用按地址传送的参数结合方式三、判断题(认为对的,在题后的括号内打,认为错的打×。每小题1分,共6分)1.若有说明int c;则while (c=getchar();是错误的C语句。()2.C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中。()3.在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。()4.C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。()5.使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。()6.若a为一维数组名,则*(a+i)及ai等价。()四、阅读程序,将程序运行结果

21、填写到题后的横线上(每小题5分,共25分)1 #include stdio.h main()    static char str=Language;     char *s=&str8;     while (-s>=&str0) putchar (*s);     putchar(n);输出结果:_2 main( ) int a6=12,4,17,24,27,16;

22、60; int b6=27,13,4,25,23,16;  for (int i=0;i<6;i+)     for (int j=0;j<6;j+)      if (ai=bj)         break;    if (j<6) printf(%d,ai)   输出结果:_

23、3.  #include <stdio.h>    int mian( )  int i=0,sum=0;   while (1)     sum+=i;        i+;      if (i>5) break;     &#

24、160;  printf (sum=%dn,sum);程序运行结果:                         4.  int fun(int n) if (n>0)           

25、    return n*fun(n-1);else     return 1;main()  int a=fun(4);   printf(a=%dn,a);程序运行结果:_5.  fun (int i)      static int s=3;      s+=i   return (

26、s);main() int a=2,b=1,s;  s=fun(a); s=fun(b);  printf(%dn,s);程序运行结果:_五、程序填空题(根据题意要求,将程序补充完成。每空2分,共22分)1以下程序输入整数a,b的值,然后交换a,b的值,并输出交换后的结果。Vodi swap(_)  int t;   t=*a;   _      main()     

27、;int a,b;scanf(%d,%d,&a,&b);_printf(a=%d,b=%d,a,b);    2以下程序的功能是:从键盘输入一串字符(以回车换行符结束),统计   其中小写英文字母的个数,将结果保存在变量count中。   main()      int _;char c;_while (c!=n)    if (_)  _;c=getchar(

28、);                printf(have typed %d lower letters,count);3. 下面程序的功能是用函数递归方法计算菲波那契数列,请填空完善之。   main()                 

29、                  int n,m;scanf(%d,&n);m=_;printf(%d,m);int fibo(n);    int n;  if(n=1) _;   else if(n=2) return(1);       

30、60;else return (_);六、编程题(第1小题8分,第2小题9分,共17分)1求出10至1000之内能同时被2、3、7整除的数,并输出。2输出整数n,求表达式    的值。要求,程序中求2x的功能部分必须在一函数中完成,函数名使   用expt。试题参考答案及评分标准一单项选择题(每小题1分,共20分)1A     2D     3A     4 B

31、60;   5B     6C     7A     8C9D    10B    11B    12C    13D    14B    15A   

32、; 16.D17C   18. D   19. B    20. C二多项选择题(错选、多选不得分。每小题2分,共10分)    1B C D    2A C D   3A B C D      4A B C D    5A C D E   

33、0;    三判断题(每小题1分,共6分)    1×     2×      3      4      5×       6  四、阅读程序,将程序运行结果填写到题后

34、的横线上(每小题5分,共25分)    1. egaugnal          2. 4  27  16       3. 15       4. 24      5. 6五程序填空题(每空2分,共22分) 

35、         1 int *a, int *b     *a=*b;      *b=t;       s);2.  count=0             

36、0;      c=getchar(); (或scanf%c,&c);)    c>=a&&c<=z             count+;3.  fibo(n)      return(o)    fibo(n-2)+fib

温馨提示

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

评论

0/150

提交评论