考试系统使用说明
一、登陆
二、考试 时间
100分钟
三、试卷结构
  1.  填空题    8 道题,每题2分    8*2=16
  2.  判断题    20道题,每题 1 分  20*1=20
  3.  单选题    15道题,每题 2 分  15*2=30
  4.  程序填空题 2题,每题 5分    2*5=10
  5.  程序改错  2题  每题 4 分    2*4=8
  6.  程序设计题 2题  每题 8 分    2*8=16
部分模拟题
四、 填空题
1.  复制字符串的库函数是《》,只写函数名即可。
2. C语言中由一个函数首部和《》两部分组成。
3.  int x=2,y=3z=4;则表达式 x||y+z的值为《》。
4.  字符串比较的库函数是《》,只写函数名即可。
5.  有语句如下: file *file_point=fopen(“my.dat”,”r+”);这意味着file_point与《》的文件名相联系,以读写方式打开一个《》。  (本题两个空)
6. 当a=1,b=2,c=3时,执行以下程序段后c=《》。
7. sstatic int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为《》。
8. C语言中,数组元素的下标下限为《》。
五、判断题
1.  C程序的基本组成单位是函数
2.表达式(j=3,j++)的值是4.
fprintf作用
3.设有定义:int a[10],*p;则下列的语句是等价的。
P=&a[0];
P=a;
4.在C程序中,注释说明只能位于一条语句的后面。
5.C语言中,通过函数调用只能获得一个返回值。
6.语句 if(a>b) printf(“%d”,a); else printf(“%d”,b); 可以用语句printf(“%d”,a>b?a:b);取代。
7.结构体变量的成员可以像普通变量一样进行各种计算。
8.在do – while 循环中,任何情况下都不能省略while。
9.char c[]=”very Good”;是一个合法的为字符创数组赋值的语句。
10.设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0。
11.在引用结构体成员时,只能对最低级的成员进行赋值或存取操作及计算。
12.共同体变脸所占的内存长度等于最长的成员的长度。
13.设指针变量已经指向一个有效地址,则表达式&*p==p的结果为真。
14.数组的首地址一定是数组第一个元素的地址。
15.运算符的级别由高向低依次为赋值运算符-》关系运算符=》算数运算符=》逻辑运算符=?!。
16.任何一个地址前缀*运算符都等同于一个变量。
17.函数调用语句 func(rec1,rec2+rec3,(rec4,rec5));中含有实参个数是5.
18.break语句不能种植正在进行的多层循环。
19.对静态数组的初始化是在编译阶段完成的。
20.在各函数中定义的静态局部变量不能被另外一个函数所使用。
21.在C程序中,%是只能用于证书的运算符。
22.当函数的类型与return 语句后面表达式的值的类型不一致时,函数返回值的类型由 return 后表达式值的类型决定。
23.数组名与指针变量是相互等价的。
24.C语言程序中输入语句输入一个中间带空格的字符串时,可以使用scanf函数。
25.C语言中,在打开文件时,必须说明文件的使用方式,“w”用于文件的读写。
26.结构体变量的地址与各成员具有相同地址。
27.如果被调用函数的定义出现在主调函数之前,可以不必加以声明。
28.C语言中数组原的方括号不可以用花括号代替。
29.在程序中定义了一个结构体类型后,可以多次用他来定义具有该类型的变量。
30.对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。
31.
六、单选题
1. 有两个实型变量dog和cat,若要把数据写入磁盘文件中,以下正确的形式是()。
  A.  fprintf(dog,cat);
  B.  fprintf(dog,cat,”%f%f”);
  C.  fprintf(dog,cat,”%f%f”,fp);
  D. fprintf(fp,”%f%f”,dog,cat);
2.若有以下定义: char s=’\09a’;则该语句()。
A. 使s的值包含一个字符
  B.定义不合法,s的值不确定
  C.  使s的值包含4个字符
  D.  使s的值包含3个字符
3.语句printf(“a\bre\’hi\’y\\\bou\n);的输出结果是()。(说明’\b’是退格符)
A. a\bre\’hi\’y\\\bou
  B. a\bre\’hi\’y\bou
  C.  re’hi’you
  D.  abre’hi’y\bou
4.执行下列程序段后,m的值是()。
int w=2,x=3,y=4,z=5,m;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
A. 4
  B.3
  C. 5
  D. 2
5.以下表述中正确的是()。
A. 除了for循环,其他循环中都不能使用符合语句
  B.do-while循环中,while(表达式)后面不能加分号
  C.  do-while循环中,while语句不能省略
  D. 在do-while循环中,while表达式不能为假
6.设有说明char c; int x; double z;则表达式 c*x+z值的数据类型为()。
A. float
  B.int
  C.  char
  D. double
7.以下叙述不正确的是()。
A. 全局变量存放在静态区
  B. 全局变量可以由系统自动初始化
  C.  在程序运行期间,全局变量所占据的存储单元的值永久保留
  D. 当局部变量与全局变量重名时,全局变量起作用
8.半段两个字符串是否相等,正确的表达方式是()。
A. while(s1==s2)
B. while s1=s2
  C.  while(strcmp(s1,s2)==0)
  D. while(strcmp是,撒)=0)
9.以下叙述中不正确的是()。
A. 预处理命令都必须以#号开始
  B. 在程序中凡是以#号开始的语句行都是预处理命令行
  C.  C程序在执行过程中对预处理命令行进行处理
  D. 以下是正确的宏定义  #define IBM PC
10.能正确进行字符串赋值操作的语句是()。
A. char s[5]={“ABCD”};
  B. char s[5]={‘A’,’B,’,’C’,’’D’,;E’};
  C.  char *s;  s=’ABCDEF’;
  D.  char *s;  scanf(“s”,s);
11.若fp已正确定义并指向某一个文件,当未遇到该文件结束标志时函数 feof(fp)的值为()。
A. 0
  B.1
  C. -1
  D. 一个非0值
12.设有以下定义: inta[10]={1,2,3,4,5,6,7,8,9,10};  int *p=a; 则数值为6的表达式为()。
A. *p+6
  B. *(p+6)
  C.  *p+=5
  D. p+5
13.有以下程序段
Int n=0,p;
Do {
  Sanf(“%d”,&p);
  n++;
} while (p!-12345&&n<4);
此处do-while循环的结束条件是()。
A. p的值不等于12345并且n的值小于3
  B. p的值等于12345并且n的值大于等于3
  C.  p的值不等于12345或者n的值小于3
  D.  p的值等于12345或者n的值大于等于3
14.若输入ab,程序运行的结果为()。
Main()
{ static char a[2];
Scanf(“%s”,a);
Printf(“%c,%c”,a[1],a[2]);
}
A. a,b
  B. a
  C.  b
  D. 程序出错
15.若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。
A. scanf(“6.2f%d”,&a,&b);
  B. canf(“f%n”,&a,&b);
  C.  canf(“f%3o”,&a,&b);
  D. canf(“f%f”,&a,&b);
16.已知字母a的ASCII十进制大妈为97,则执行些列语句后的输出结果为()。

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