万维考试Word格式文档下载.docx
《万维考试Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《万维考试Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
b?
a:
b);
取代。
7.结构体变量的成员可以像普通变量一样进行各种计算。
8.在do–while循环中,任何情况下都不能省略while。
9.charc[]=”veryGood”;
是一个合法的为字符创数组赋值的语句。
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.若有以下定义:
chars=’\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的值是()。
intw=2,x=3,y=4,z=5,m;
m=(w<
x)?
w:
x;
m=(m<
y)?
m:
y;
z)?
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.设有说明charc;
intx;
doublez;
则表达式c*x+z值的数据类型为()。
A.float
B.int
C.char
D.double
7.以下叙述不正确的是()。
A.全局变量存放在静态区
B.全局变量可以由系统自动初始化
C.在程序运行期间,全局变量所占据的存储单元的值永久保留
D.当局部变量与全局变量重名时,全局变量起作用
8.半段两个字符串是否相等,正确的表达方式是()。
A.while(s1==s2)
B.whiles1=s2
C.while(strcmp(s1,s2)==0)
D.while(strcmp是,撒)=0)
9.以下叙述中不正确的是()。
A.预处理命令都必须以#号开始
B.在程序中凡是以#号开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.以下是正确的宏定义#defineIBMPC
10.能正确进行字符串赋值操作的语句是()。
A.chars[5]={“ABCD”};
B.chars[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.有以下程序段
Intn=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()
{staticchara[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.canf(“f%n”,&
C.canf(“f%3o”,&
D.canf(“f%f”,&
16.已知字母a的ASCII十进制大妈为97,则执行些列语句后的输出结果为()。
Chara=’a’;
a--;
Printf(“%d,%c\n”,a+’2’-‘0’,a+’3’-‘0’;
A.b,c;
B.a—运算不合法,故有语法错误
C.98,c
D.格式描述和输出项不匹配,输出无定值
七、程序填空题
《答题说明》
按“答题”按钮进入程序环境进行调试,在“*************space**************”语句的下一行完成程序,首先将语句的下一行完成程序,首先将填空标志【?
】删除,然后填入正确答案,答题借宿后,必须在程序环境中做好保存。
当前尸体目录是:
D:
\exam\c0008\ck\1002
1.
*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
以下函数用于求一个2*3矩阵中的最小元素值。
-------------------------------------------------------*/
minvalue(array)
intarray[][3];
{
inti,j,min;
min=array[0][0];
for(i=0;
i<
2;
i++)
for(j=0;
j<
3;
j++)
/***********SPACE***********/
if(【?
】)
【?
】;
returnmin;
}
main()
{
inta[2][3]={1,3,4,5,8,9},s;
s=minvalue(a);
printf("
s=%d"
s);
2.
/*-------------------------------------------------------
功能:
输出100到1000之间的各位数字之和能被15整除的所有数,
输出时每10个一行。
#include"
stdio.h"
intm,n,k,i=0;
for(m=100;
m<
=1000;
m++)
{
n=m;
do
k=k+【?
】;
n=n/10;
if(k%15==0)
printf("
%5d"
m);
i++;
if(i%10==0)【?
八、程序改错
按“答题”按钮进入程序环境进行调试,在“***********found*******************”语句的下一行修改程序,答题结束后,必须在程序环境中做好保存。
当前试题目录:
D:
\exam\c00008\gc\431
1.
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
编写input()和output()函数输入,输出5个学生的数据记录。
------------------------------------------------------*/
#defineN5
structstudent
charnum[6];
charname[8];
intscore[4];
}stu[N];
input(stu)
structstudentstu[];
/**********FOUND**********/
inti;
j;
i<
N;
i++)
\npleaseinput%dof%d\n"
i+1,N);
num:
"
);
scanf("
%s"
&
stu[i].num);
name:
stu[i].name);
j<
j++)
score%d."
j);
%d"
stu[i].score[j]);
\n"
print(stu)
inti,j;
\nNo.NameSco1Sco2Sco3\n"
=N;
%-6s%-10s"
stu[i].num,stu[i].name);
%-8d"
stu[i].score[j]);
input();
print();
2.
该函数用于交换两个变量的值。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
voidchange(int*pa,int*pb)
inttemp;
*temp=pa;
*pa=*pb;
*pb=temp;
{intx,y;
x=10;
y=20;
change(x,y);
%d%d"
x,y);
九、程序设计题
按“答题”按钮进入程序环境进行调试,在“***********program*******************”与“*****************end****************”之间的范围内编写程序,语句的下一行修改程序,答题结束后,必须在程序环境中做好保存。
并且必须正确的执行一次当前试题程序。
请勿修改程序的其他任何内容。
\exam\c00008\bc\404
【程序设计】
--------------------------------------------------
编写函数fun,求任一整数m的n次方。
------------------------------------------------*/
intm,n;
longs;
longfun(int,int);
输入m和n的值:
"
%d,%d"
m,&
n);
s=fun(m,n);
s=%ld\n"
yzj();
longfun(intm,intn)
/**********Program**********/
/**********End**********/
yzj()
FILE*IN,*OUT;
intn;
inti[2];
longo;
IN=fopen("
in.dat"
"
r"
if(IN==NULL)
ReadFileError"
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
WriteFileError"
for(n=0;
2;
n++)
{
fscanf(IN,"
i[n]);
o=fun(i[0],i[1]);
fprintf(OUT,"
%ld\n"
o);
fclose(IN);
fclose(OUT);
2.
/*------------------------------------------------
统计出若干个学生的平均成绩,最高分以及得最高
分的人数。
例如:
输入10名学生的成绩分别为92,87,68,56,92,
84,67,75,92,66,则输出平均成绩为77.9,
最高分为92,得最高分的人数为3人。
floatMax=0;
intJ=0;
floatfun(floatarray[],intn)
main()
floata[10],ave;
inti=0;
10;
%f"
a[i]);
ave=fun(a,10);
ave=%f\n"
ave);
max=%f\n"
Max);
Total:
%d\n"
J);
floatiIN[10],iOUT;
intiCOUNT;
PleaseVerifyTheCurrerntDir..ItMayBeChanged"
PleaseVerifyTheCurrentDir..ItMayBeChanged"
for(iCOUNT=0;
iCOUNT<
iCOUNT++)
iIN[iCOUNT]);
iOUT=fun(iIN,10);
%f%f\n"
iOUT,Max);
十、其他问题