计算机二级(C)59
(总分100, 做题时间90分钟)
选择题(1-10题每题2分,11-50题每题1分,共60分)
1. 
程序中头文件typel.h的内容是:
  #define N 5
  #define M1 N*3
  程序如下:
  #include"typel.h"
  #define M2 N *2
  main( )
  { int i;
   i=M1+M2; printf("%d\n",i);
  }
  程序编译后运行的输出结果是(  )。
A 10
B 20
C 25
D 30
    分值: 1
答案:C
2. 
有以下程序
  main( )
  { int a; char c=10;
   float f=100.0; double x;
   a=f/=c*=(x=6.5);
   printf("%d %d %3.1f %3.1f\n",a,c,f,x); }
  程序运行后的输出结果是(  )。
A 1  65  1  6.5
B 1  65  1.5  6.5
C 1  65  1.0  6.5
D 2  65  1.5  6.5
    分值: 1
答案:B
3. 
以下叙述中错误的是(  )。
A 二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B 在程序结束时,应当用函数fclose( )关闭已打开的文件
C 在利用函数fread( )从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D 不可以用FILE定义指向二进制文件的文件指针
    分值: 1
答案:D
4. 
以下选项中合法的用户标识符是(  )。
A long
B _2Test
C 3Dmax
D A.dat
    分值: 1
答案:B
C语言中合法的变量名由字母、数字和下划线组成,且第一个字符必须为字母或下划线。
5. 
有以下程序:
  void f(int*x,int*y)
  {
    int t;
    t=*x;*x=*y;*y=t;
  }
  main()
  {
      int a [8]={1, 2,3,4,5, 6, 7,8},i,*p,*q;
      p=a;q=&a[7];
      while(p<q)
        {f(p,q);p++;q-;}
      for(i=0;i<8;i++)printf("%d,"a[i]);
  }
  程序运行后的输出结果是【  】。
A 823,4,5,6,7,1,
B 5,6,7,8,12,3,4,
C 1,2,3,4,5,6,7,8,
D 8,7,6,5,4,3,2,1,
    分值: 1
答案:D
本程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。 
6. 
设变量X和Y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是【  】。
A if(X++);
B if(X>y&&y!=O);
C if(X>0)X
else Y++;
D if(Y<0){;}
else X++;
    分值: 1
答案:C
C语言规定,在"if(表达式)语句1;else语句2;"这种形式的if语句中,在每一个else前面有一个分号,整个语句结束处有一分号。在本题的C)选项中,else前面少了一个分号,这样程序在编译时,会出现语法错误。
7. 
能将高级语言编写的源程序转换为目标程序的是(  )。
A 链接程序
B 解释程序
C 编译程序
D 编辑程序
    分值: 1
答案:C
8. 
有以下程序:
  #include  <string.h>
  main()
  {char  p[]={''a'',''b'',''c''},q[10]={''a'',''b'',''c''};
  printf("%d%d\n",strlen(p),strlen(q));
  }
  以下叙述中正确的是【  】。
A 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B 由于p数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3
C 由于q数组中没有字符串结束符,长度不能确定:但p数组中字符长度为3
D 由于p和q数组中没有字符串结束符,故长度都不能确定
    分值: 1
答案:B
strlen是计算以"\0"结束的字符串的长度的函数,函数的值为字符串中实际长度,不包括"\0"。题中"q[10]={'a','b','c'}"虽然给出了数组大小,即数组实际分配的存储空间,但此字符串只占用前3个存储弹元,其余存储单元系统自动加上"\0"故数组q的长度为3;由于p数组中没有字符串结束符,故字符串的长度不自绷定。
9. 
以下叙述中正确的是【  】。
A C语言中的文件是流式文件,因此只能顺序存取数据
B 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
    分值: 1
答案:D
如果以写方式打开一个已经存在的文件,则在打开时将该文件删除,然后重新建立一个同名的新文件。
10. 
有以下程序
  main( )
  { char s[ ]="\n123 \ \";
   printf("%d,%d\n",strlen(s),sizeof(s));
  }
长度介于0和59字符串  执行后输出结果是(  )。
A  赋初值的字符串有错
B  6,7
C  5,6
D  6,6
    分值: 1
答案:C
11. 
以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是(  )。
A if((a>b)&&(b>c)) k=1;
  else k=0;
B  if((a>b)||(b>c))
   k=1 else k=0;
C if(a<=b) k=0;
  else if(b<=c) k=1;
D if(a>b) k=1;
  else if(b>c) k=1;
  else k=0;
    分值: 1
答案:A
12. 
若有以下函数首部int fun(double X[10],int  *n)则下面针对此函数的函数声明语句中正确的是【  】。
A int fun(double X,int  *n);
B int fun(double  ,int);
C int fun(double *  X,int n);
D int fun(double *int*);
    分值: 1
答案:C
函数首部int fun(double x[10],int:n)表示这个函数的返回值是整型,其第一个形式参数是一个双精度型的一维数组,第二个参数是一个整型指针。在C语言中,一维数组的名字表示的是一维数组的地址,所以选项D)是正确的。
13. 
下列描述中正确的是【  】。
A 程序就是软件
B 软件开发不受计算机系统的限制
C 软件既是逻辑实体,又是物理实体
D 软件是程序、数据与相关文档的集合
    分值: 1
答案:D
计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。 
14. 
有以下程序:
  main()
  {  char a1=''M'',a2=''m'';
      printf("%c\n",(a1,a2));
  }
  以下叙述中正确的是【  】。
A 程序输出大写字母M
B 程序输出小写字母m
C 格式说明符不足,编译出错
D 程序运行时产生出错信息
    分值: 1
答案:B
在逗号表达式(表达式1,表达式2)中,其运算方法是先求表达式1的值,然后求表达式2的值,整个逗号表达式的值是表达式2的值。故本题输出的是a2的值m。
15. 
以下叙述中错误的是【  】。
A C语言是一种结构化程序设计语言
B 结构化程序由顺序、分支、循环三种基本结构组成
C 使用三种基本结构构成的程序只能解决简单问题

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。