C语言程序设计题库081225(全)(可编辑)
C语言程序设计题库081225(全)
目录
2000年9月全国计算机等级考试二级c笔试试卷 1 2001年9月 11
1998年9月 22
1998年4月 34
2004年4月全国计算机等级考试二级c笔试试卷 (附答案) 43 2001年4月 55
2000年9月全国计算机等级考试二级c笔试试卷
一、选择题1--40每小题1分, 41--50每小题2分, 共60分 下列各题a、b、c、d四个选项中,只有一个选项是正确的,请将正确选项在
答题卡相应位置上涂黑,答在试卷上不得分。
1 下列电子邮件地址中正确的是其中?表示空格 a malin&//0>. b malin@//. c lin?ma&//. d lin?ma@//.
2 下列说法中正确的是
a 为了使用novell网提供的服务,必须采用ftp协议 b 为了使用internet网提供的服务,必须采用telnet协议 c 为了使用novell网提供的服务,必须采用tcp/ip协议 d 为了使用internet网提供的服务,必须采用tcp/ip协议
3 下列说法中不正确的是
a 调制解调器modem是局域网络设备
b 集线器hub是局域网络设备
c 网卡nic是局域网络设备
d 中继器repeater是局域网络设备
4 十进制数397的十六进制值为
a 18d b 18e c 277 d 361 5 下列说法中不正确的是
a cd-rom是一种只读存储器但不是内存储器
b cd-rom驱动器是多媒体计算机的基本部分
c 只有存放在cd-rom盘上的数据才称为多媒体信息 d cd-rom盘上最多能够存储大约650兆字节的信息 6 windows应用环境中
鼠标的拖动操作不能完成的是
a 当窗口不是最大时,可以移动窗口的位置
b 当窗口最大时,可以将窗口缩小成图标
c 当窗口有滚动条时可以实现窗口内容的滚动
d 可以将一个文件移动或复制到另一个目录中去
7 从windows中启动ms-dos方式进入了dos状态,如果想回到windos状态,
在dos提示符下,应键入的命令为
a exit b quit c win d dos -u 8 要在windows
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
窗口的下拉菜单中选择命令,下列操作错误的是 a 用鼠标单击该命令选项
b 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键 c 同时按下alt键与该命令选项后括号中带有下划线的字母键 d 直接按该命令选项后面括号中带有下划线的字母键
9 ascll码含扩展可以用一个字节表示,则可以表示的ascll码值个数为 a 1024 b 256 c 128 d 8o
10 字长为32位的计算机是指
a 该计算机能够处理的最大数不超过232
b 该计算机中的cpu可以同时处理32位的二进制信息
c 该计算机的内存量为32mb
d 该计算机每秒钟所能执行的指令条数为32mips
11 在dos系统中,下列文件名中非法的是
a abcdefg1 b abcdefg1.234 cabcd_efg dabcd\efg
12 dos系统启动后,下列文件中驻留内存的是
a config.sys b command c autoexec.bat d mem.exe
13 dos下的“dir *2”命令将列出当前目录下的
a 所有名字末尾为字符2的非隐含文件和目录
b 所有名字末尾为字符2的非隐含文件
c 所有非隐含文件
d 所有非隐含文件和目录
14 软驱的盘符为a,a盘上只有一个目录\xyz,而\xyz下有若干子目录和文
件,若想把a盘的所有内容复制到c盘根目录下,应使用的命令为 a copy a:\*.* c: b copy a:\*.* c:\*.*
c xcopy a:\*.* c:\ /s d diskcopy a: c:
15 若要将当前盘目录下的文件a.txt连接在文件b.txt后面,应使用的命令
为
a copy //. b move //.
c path //. d type //.
16 若变量已正确定义并赋值,下面符合c语言语法的表达式是 a a:b+1 b abc+2 c int 18.5%3 d aa+7c+b
17 c语言中运算对象必须是整型的运算符是
a % b / c d
18 若已定义x和y为double类型,则表达式x1,yx+3/2 的值是 a 1 b 2 c 2.0 d 2.5
19 若变量a、ii已正确定义,且i已正确赋值,合法的语句是 a a1 b ++i; c aa++5; d ainti; 20 若有以下程序段,
int c11,c22,c3;
c31.0/c2*c1;
则执行后,c3中的值是
a 0 b 0.5 c 1 d 2
21 有如下程序
main0
int y3,x3,z1;
printf“%d %d\n”,++x,y++,z+2;
运行该程序的输出结果是
a 3 4 b 4 2 c 4 3 d 3 3 22 能正确表示逻辑关系:“a?10或a?0”的c语言表达式是
a a10 or a0 b a0|a10 c a10 &&a0 d a10‖a0 23 有如下程序
main0
int x1,a0,b0;
switchx
case 0: b++;
case 1: a++
case 2: a++;b++
printf“a%d,b%d\n”,a,b;
该程序的输出结果是
a a2,b1 b a1,b1 c a1,b0 d a2,b2
24 有如下程序
main0
float x2.0,y;
ifx0.0 y0.0;
else ifx10.0 y1.0/x; else y1.0;
printf“%f\n”,y;
该程序的输出结果是
a 0.000000 b 0.250000 c 0.500000 d 1.000000
25 有如下程序
main0
int a2,b-1,c2; ifa ifb0 c0; else c++
printf“%d\n”,c;
该程序的输出结果是
a 0 b 1 c 2 d 3 26 有如下程序
main0
int i,sum;
fori1;i3;sum++ sum+i;
printf“%d\n”,sum;
该程序的执行结果是
a 6 b 3 c 死循环 d 0 27 有如下程序
main0
int x23;
do
printf“%d”,x--;
while!x;
该程序的执行结果是
a 321 b 23 c 不输出任何内容 d 陷入死循环 28 有如下程序
main0
int n9;
whilen6 n--;printf“%d”,n;
该程序段的输出结果是
a 987 b 876 c 8765 d 9876
29 设有说明语句:char a'\72';则变量a a 包含1个字符 b 包含2个字符 c 包含3个字符 d 说明不合法
30 有如下函数调用语句
funcrec1,rec2+rec3,rec4,rec5;
该函数调用语句中,含有的实参个数是 a 3 b 4 c 5 d 有语法错
31 有如下程序
int runcint a,int b returna+b;
main0
int x2,y5,z8,r;
rfuncfuncx,y,z;
printf“%\d\n”,r;
该程序的输出的结果是
a 12 b 13 c 14 d 15 32 有如下程序段
int *p,a10,b1
p&a; a*p+b;
执行该程序段后,a的值为
a 12 b 11 c 10 d 编译出错
33 对于基类型相同的两个指针变量之间,不能进行的运算是 a b c + d -
34 以下函数返回a所指数组中最小的值所在的下标值 funint *a, int n
int i,j0,p;
pj;
forij;i ifa[i] returnp; 在下划线处应填入的是
a ip b a[p]a[i] c pj d pi 35 有如下程序
long fibint n
ifn2 returnfibn-1+fibn-2; else return2;
main0
printf“%d\n”,fib3;
该程序的输出结果是
a 2 b 4 c 6 d 8 36 在c语言中,函数的隐含存储类别是 a auto b static c extern d 无存储类别 37 有如下程序
#define n 2
#define m n+1
#define num 2*m+1 #main
int i;
fori1;inum;i++printf“%d\n”,i; 该程序中的for循环执行的次数是 a 5 b 6 c 7 d 8 38 有以下函数
char funchar *p return p;
该函数的返回值是
a 无确切的值 b 形参p中存放的地址值 b 一个临时存储单元的地址 d 形参p自身的地址值
39 有如下程序段
int a14,b15,x; char c'a';
xa&&b&&c'b';
执行该程序段后,x的值为
a ture b false c 0 d 1 40 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feoffp的返
回值是
a eof b 0 c 非零值 d null
41 若有以下说明和定义
funint *c
main
int *afun,*b,w[10],c; ?
在必要的赋值之后,对fun函数的正确调用语句是 a aaw; b *a&c; c b*bw; d fun b; 42 有如下说明
int a[10]1,2,3,4,5,6,7,8,9,10,*pa;
则数值为9的表达式是
a *p+9 b *p+8 c *p+9 d p+8 43 有如下程序
main0
int n[5]0,0,0,i,k2;
fori0;i printf“%d\n”,n[k];
该程序的输出结果是
a 不确定的值 b 2 c 1 d 0
44 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是 a &t[3][2] b t[3] c t[1] d t[2] 45 有如下程序
main0
int a[3][3]1,2,3,4,5,6,i,j,s0; fori1;i3;i++
forj0;j printf“%d\n”,s;
该程序的输出结果是
a 18 b 19 c 20 d 21
46 有如下定义
struct personchar name[9]; int age;; strict person class[10]“johu”, 17,
“paul”, 19
“mary”, 18,
“adam 16,;
根据上述定义,能输出字母m的语句是
a prinft“%c\n”,class[3].mane;
b pfintf“%c\n”,class[3].name[1];
c prinft“%c\n”,class[2].name[1];
d printf“%^c\n”,class[2].name[0];
47 以下对结构体类型变量的定义中,不正确的是
a typedef struct aa b #define aa struct aa
int n; aa int n;
float m; float m;
aa; td1;
aa td1;
c struct d struct
int n; int n;
float m; float m;
aa; td1;
stuct aa td1;
48 若已建立如下图所示的单向链表结构,
在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点
插入到链表末尾仍构成单向链表的语句组是
a p p-next; s-nextp; p-nexts; b p p-next; s-nextp-next; p-nexts; c s-nextnull; pp-next; p-nexts; d p*p.next; *s.next*p.next; *p.nexts; 49 有如下程序
main
char s[]”abcd”, *p;
forps+l; p
该程序的输出结果是
a abcd b a c b d bcd
bcd b c cd
cd c d d
d d
50 有如下程序
main
char ch[2][5]“6937”,”8254”,*p[2];
int i,j,s0;
fori0;i2;i++ p[i]ch[i];
fori0;i2;i++
forj0;p[i][j]'\0';j+2
s10*s+p[i][j]-‘0';
printf“%d\n”,s;
该程序的输出结果是
a 69825 b 63825 c 6385 d 693825 二、填空题每空2分,共40分
请将每空的正确答案写在答题卡上[1]至[20]序号的横线上,答在试卷上不
得分。
1 在dos状态下,当执行当前盘目录中的程序a.exe时,为了将本该在屏幕上
显示的运行结果输出到文件a.dat中,应使用的dos命令为 [1] 。 2 在xcopy、path、tree三个dos命令中,属于内部命令的是令是 [2] 。 3 设当前盘为c盘,为了将当前盘当前目录中第三个字符为x的所有文件同
名复制到a盘的当前目录中,应使用的dos命令为 [3] 。
4 要将当前盘的目录a\b\c设置为当前目录,应使用的dos命令为 [4]。 5 计算机网络按通信距离划分为局域网与广域网,novell网属于 [5] 。 6 以下程序的输出结果是 [6] 。
main
unsigned short a65536; int b; printf“%d\n”,ba;
7 若有定义:int a10,b9,c8;接着顺序执行下列语句后,变量b中的值是
[7] 。
ca-b-5;
ca%11+b3;
8 表示“整数x的绝对值大于5”时值为“真”的c语言表达式是 [8] 。 9 要使以下程序段输出10个整数,请填入一个整数。
fori0;i [9] ;printf“%d\n”,i+2;
10 函数pi的功能是根据以下近似公式求π值:
π*π/61+1/2*2+1/3*3+..+1/n*n 现在请你在下面的函数中填空,完成求π的功能。
#include “math.h”
double pilong n
double s0.0; long i;
fori1;in;i++ss+ [10] ;
returnsqrt6*s;
11 若输入字符串:abcde回车,则以下while循环体将执行 [11] 次。
whilechgetchar'e' printf“*”;
12 以下函数用来求出两整数之和,并通过形参将结果传回,请填空。 void funcint x,int y, [12] z *zx+y;
13 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的
表达式是 [13] 。
int w[10]23,54,10,33,47,98,72,80,61, *pw;
14 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写
出fun函数的首部[14] 。要求形参名为b。
main
double s[10][22];
int n; ?
?
funs;
?
15 以下程序的输出结果是 [15] 。
void fun
static int a0;
a+2; printf“%d”,a;
main
int cc;
forcc1;cc4;cc++ fun
printf“\n”;
16 以下程序的输出结果是 [16] 。
#define x,y xy?x:y
main
int a5,b2,c3,d3,t;
ta+b,c+d*10;
printf“%d\n”,t;
17 若要使指针p指向一个double类型的动态存储单元,请填空。 p [17] mallocsizeofdouble; 18 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是
[18] 。
struct stud
char num[6];
int s[4];
double ave;
a,*p;
19 以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长
度。请填空。
strcenchar a[], char b[] int num0,n0;
while*a+num! [19] num++; whileb[n]*a+numb[n]; num++; [20] ;
returnnum;
2000年9月试题
参考答案:
一、选择题:
1b 2d 3a 4a 5c 6b 7a 8c 9b 10b
11d 12b 13d 14c 15d 16b 17a 18c 19b 20a 21d 22d 23a 24c 25c 26c 27b 28b 29a 30a 31d 32b 33c 34d 35b 36c 37b 38b 39d 40c 41b 42b 43d 44d 45a 46d 47c 48a 49d 50c 二、填空题:
[1] a.exe a.dat 或a a.dat
[2] path
[3] copyx*.* a:
[4] cd a\b\c
[5] 局域网
[6] 0
[7] 3
[8] x5||x-5
[9] 18
[10]1.0/i*i
[11] 0
[12] int *
[13] p[5]或*p+5
[14] void fundouble b[][22] 或 void fundouble b[0][22] 或 void fundouble *b[22] [15] 246
[16] 7
[17] double *
[18] 22
[19] '\0'或0
[20] n++或n+1或nn+1
2001年9月
一、选择题1-40题每题1分,41-50题每题2分,共60分 下列各题a 、b、c、d四个选项中,只有一个选项是正确的,请将正确的选项
涂写在答题卡相应位置上,答在试卷上不得分。
l 在计算机系统中,一个字节的二进制位数为
a 16 b 8 c 4 d 由cpu的型号决定
2 存储16×16点阵的一个汉字信息,需要的字节数为 a 32 b 64 c 128 d 256 3 英文大写字母b的ascii码为42h,英文小写字母b的ascii码为 a 43h b 84h c 74h d 62h 4 下列计算机语言中,cpu能直接识别的是
a 自然语言b 高级语言c 汇编语言d机器语言
5 在计算机领域中,所谓"裸机"是指
a 单片机b 单板机
c 不安装任何软件的计算机d 只安装操作系统的计算机
6 下列带有通配符的文件名中,能代表文件abcdef.dat的是
a a*.* b ?f.* c *.?d ab?.*
7 下列dos命令中,执行时不会发生错误的是
a type *.txt b dir *.txt
c ren east.txt a:b.txt d copy *.txtcon 8 设当前盘为c盘,c盘的当前目录为\a\b\c。下列dos 命令中能正确执行
的是
a md \ b md a:\ c md \a\b d cd c: 9 为了将c:user中的文件file.txt同名复制到a盘根目录下,下列dos命
令中能正确执行的是
a type c:\user\file.txt a:\file.txt b type c:\user\file.txt a:\file.txt c copy c:\user\file.txt a:\file.txt d copy c:\user\file.txt
10 在windows下,当一个应用程序窗口被最小化后,该应用程序
a 终止运行b 暂停运行c 继续在后台运行d 继续在前台运行
11 在windows环境下,下列操作中与剪贴板无关的是
a 剪切b 复制c 粘贴d 删除
12 在windows环境下,实现窗口移动的操作是
a 用鼠标拖动窗口中的标题栏b 用鼠标拖动窗口中的控制按钮 c 用鼠标拖动窗口中的边框d 用鼠标拖动窗口中的任何部位 13 一台计算机连入计算机网络后,该计算机
a 运行速度会加快b 可以共享网络中的资源
c 内存容量变大d 运行精度会提高
14 不能作为计算机网络中传输介质的是
a 微波b 光纤c 光盘d 双绞线
15 下列各项中,不属于多媒体硬件的是
a 声卡b 光盘驱动器c 显示器d 多媒体制作工具
16 在c语言中,合法的长整型常数是
a ol b 4962710 c 324562& d 216d 17 以下有4组用户标识符,其中合法的一组是
a for b 4d c f2_g3 d word -sub do if void
case size abc define
18 以下选项中合法的字符常量是
a"b" b '\010' c 68 d d
19 假定x和y为double型,则表达式x2,yx+3/2的值是 a 3.500000 b 3 c 2.000000 d 3.000000
20 以下合法的赋值语句是
a xy100 b d--; c x+y; d cinta+b; 21 设正x、y均为整型变量,且x10 y3,则以下语句的输出结果是
pprintf"%d,%d\n",x--,--y; a 10,3 b 9.3 c 9.2 d10.2
22 x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输
入语句是
a input x、y、z; b scanf"%d%d%d",&x,&y,&z; c scanf"%d%d%d",x,y,z; d read"%d%d%d",&x,&y,&z;
23 以下程序的输出结果是
main
int a3;
printf"%d\n",a+a-a*a ;
a -6 b12 c 0 d -12
24 设a、b、c、d、m、n均为int型变量,且a5、b6、c7、d8、m2、n2,则
逻辑表达式mab&&ncd运算后,n的值位为
a 0 b 1 c2 d 3
25 阅读以下程序:
main
int x;
scanf"%d",&x;
ifx--5 printf"%d"'x;
else printf"%d"'x++;
程序运行后,如果从键盘上输人5,则输出结果是
a3 b 4 c 5 d 6
26 假定w、x、y、z、m均为int型变量,有如下程序段: w1; x2; y3; z4;
mw
则该程序运行后,m的值是it
a 4 b 3 c 2 d 2
27 t为int类型,进人下面的循环之前,t的值为0 while tl
„„
则以下叙述中正确的是
a 循环控制表达式的值为0 b 循环控制表达式的值为1 c 循环控制表达式不合法d 以上说法都不对 28 以下程序的输出结果是
main
int num 0;
whilenum2
num++; printf"%d\n",num; a 1 b 1 c1 d l
2 2 2
3 3
4
29 以下各选项企图说明一种新的类型名,其中正确的是 a typedef v1 int; b typedef v2int;
c typedefv1 int v3; d typedef v4: int;
30 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式
是
a 地址传递b 单向值传递
c 由实参传给形参,再由形参传回实参d 传递方式由用户指定 31 以下函数值的类型是
fun float x
float y;
y 3*x-4;
return y;
a int b 不确定c void d float 32 设有以下函数:
f int a
int b0;
static int c 3;
b++; c++;
returna+b+c;
如果在下面的程序中调用该函数,则输出结果是
main
int a 2, i;
fori0;i3;i++ printf"%d\n",fa; a 7 b 7 c 7 d 7
8 9 10 7
9 11 13 7
33 以下程序的输出结果是
main
char c'z';
printf"%c",c-25;
a a b z c z-25 d y
34 以下选项中,非法的字符常量是
a '\t' b '\17' c"n" d '\xaa' 35 若有说明:int i, j2,*p&i;,则能完成ij赋值功能的语句是 a i*p; b p**&j; c i&j; d i**p; 36 以下定义语句中,错误的是
a int a[]1,2; b char *a[3]; c char s[10]"test"; d int n5,a[n]; 37 假定int类型变量占用两个字节,其有定义:int x[10]0,2,4;,则数组x
在内存中所占字节数是
a 3 b 6 c 10 d 20
38 以下程序的输出结果是
main
int i, a[10];
fori9;i0;i-- a[i]10-i;
printf"%d%d%d",a[2],a[5],a[8];
a 258 b 741 c 852 d 369
39 以下数组定义中不正确的是
a int a[2][3];
b int b[][3]0,1,2,3;
c int c[100][100]0;
d int d[3][]1,2,1,2,3,1,2,3,4; 40 以下程序的输出结果是
main
int a[4][4]1,3,5,2,4,6,3,5,7; printf"%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
a 0650 b 1470 c 5430 d 输出值不定
41 以下程序的输出结果是
main
char st[20] "hello\0\t\\\"; printf%d %d \n",strlenst,sizeofst; a 9 9 b 5 20 c 13 20 d 20 20 42 以下选项中,不能正确赋值的是
a char s1[10];s1"ctest"; b char s2[]'c', 't', 'e', 's', 't'; c char s3[20]"ctest";
d char *s4"ctest\n"
43 以下程序的输出结果是
amovepint p, int a[3],int n int i, j;
for i0;i;i++
forj0;j
main
int *p,a[3][3]1,3,5,2,4,6; pint *malloc100;
amovepp,a,3;
printf"%d %d \n",p[2],p[5];freep;
a 56 b 25 c 34 d 程序错误
44 以下程序的输出结果是
struct har
int x, y; struct har *p; h[2]; main
h[0],x1;h[0];y2;
h[1],x3;h[1];y4;
h[0],p&h[1],ph;
printf"%d %d \n",h[0],p-x,h[1],p-y;
a 12 b 23 c 14 d 32
45 以下程序的输出结果是
main
int a, b;
fora1, b1; a100; a++ ifb10 break;
if b%3 1
b+3; continue; printf"%d\n",a; a 101 b 6 c 5 d 4 46 以下程序的输出结果是
union myun
struct
int x, y, z; u; int k;
a;
main
a.u.x4; a.u.y5; a.u.z6;
a.k0;
printf%d\n",a.u.x; a 4 b 5 c 6 d 0 47 以下程序的输出结果是
int a, b;
void fun
a100; b200;
main
int a5, b7;
fun;
printf"%d%d \n", a,b;
a 100200 b 57 c 200100 d 75 48 以下程序的输出结果是
#define mx,y,z x*y+z
main
int a1,b2, c3;
printf"%d\n", ma+b,b+c, c+a; a 19 b 17 c 15 d 12
49 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达
式是
a x || y b x | y c x & y d x ^ y 50 下面的程序执行后,文件testt.t中的内容是
#include
void funchar *fname.,char *st file *myf; int i;
myffopenfname,"w" ;
fori0;i
fclosemyf;
main
fun"test","new world"; fun"test","hello,"0;
ahello,bnew worldhello,cnew world dhello, rld
二、填空题每空2分,共40分
请将每一个空的正确答案写在答题卡【l】至【20】序号的横线上,答在试卷上不得分。
l为了将当前盘当前目录中的所有文本文件扩展名为.txt的内容打印输出,正确的单条dos命令为【l】。
2设当前盘为c盘。为了在a盘的当前自录\user下建立一个新的子目录x,正确的dos命令为【2】。
3在xcopy、copy、time三个dos命令中,属于外部命令的是【3】。
4在32位的计算机中,一个字长等于【4】个字节。
5计算机网络分为局域网和广域网,因特网属于【5】。
6语句:x++;?++x; xx+1;?xl+x; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句不得与列举的相同【6】。
7设y是int型变量,请写出判断y为奇效的关系表达【7】。
8以下程序运行后的输出结果是【8】。
main
int i10, j0;
do
jj+i; i-;
whilei2;
printf"%d\n",j;
9 设有以下程序:
main
int n1,n2;
scanf"%d",&n2;
whilen2!0
n1n2%10;
n2n2/10;
printf"%d",n1;
程序运行后,如果从键盘上输入1298;则输出结果为【9】。
10 以下程序输出的最后一个值是【10】。 int ffint n
static int fl;
ff*n;
return f;
main
int i;
fori1;i5;i++ printf"%d\n",ffi;
11 以下函数的功能是:求x的y次方,请填空。 double fun double x, int y
int i;
double z;
fori1, zx; i
return z;
12 设有以下程序:
main
int a, b, k4, m6, *p1&k, *p2&m; apl&m;
b*p1/*p2+7;
printf"a%d\n",a;
printf"b%d\n",b;
执行该程序后,a的值为【12】,b的值为【13】。
13 若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前
10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数
组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。 fun int a[ ]
int i;
fori1; i10; i++ 【14】i;
fori0; i5; i++ 【15】a[i];
14 以下程序运行后的输出结果是【16】。
main
char s[ ]"9876",*p;
for ps ; p
15 若有定义语句:char s[100],d[100]; int j0, i0;,且s中已赋字符串,
请填空以实现字符串拷贝。注:不得使用逗号表达式
while[i] d[j] 【17】;j++;
d[j]0;
16 以下程序段用于构成一个简单的单向链表,请填空。 struct stru
int x, y ;
float rate;
【18】p;
a, b;
a.x0; a.y0; a.rate0; a.p&b; b.x0; b.y0; b.rate0; b.pnull; l7 若有如下结构体说明:
struct stru
int a, b ; char c; double d: struct stru p1,p2;
;
请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型 【19】t[20];
18 以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件
末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长
度,请填空。
file *myf; ling f1;
myf 【20】"test.t","rb";
fseekmyf,0,seek_end; f1ftelmyf;
fclosemyf;
printf"%d\n",f1;
2001年9月
参考答案:
一、选择题1-40题每题1分,41-50题每题2分,共60分
(1)b(2)a(3)d(4)d(5)c(6)a(7)b(8)d(9)a(10)c (11)d(12)a(13)b(14)c(15)d(16)a(17)c(18)b(19)d(20)b (21)d(22)b(23)d(24)c(25)b(26)d(27)b(28)b(29)c(30)b (31)a(32)a(33)a(34)c(35)b(36)d(37)d(38)c(39)d(40)a (41)b(42)a(43)a(44)d(45)d(46)d(47)b(48)d(49)d(50)a 二、填空题每空2分,共40分
(1)copy *.txt prn 或xcopy *.txt prn
(2)md a:\user\x md a:x
(3)xcopy
(4)4
(5)广域网
(6)x+1;
(7)y%21
(8)52
(9)8921
(10)120
(11)x
(12)0
(13)7
(14)a[i-1]
(15)a[9-i]
(16)9876 876
(17)s[i++]
(18)struct stru * (19)struct stru
(20)fopen
1998年9月
一、选择题1-40每个选项1分,41-50每个选项2分,共60分
下列各题a、b、c、d、四个有选项中,只有一个选项是正确的,请将正确选
项
涂写在答题卡相应位置上,答在试卷上不得分 1通常所说的主机主要包括
acpu bcpu和内存
ccpu、内存与外存 dcpu、内存与硬盘
2在微机系统中,最基本的输入输出模块bios存放在 aram中 brom中 c硬盘中 d寄存器中
3一个24*24点阵的汉字字形信息所占的字节数为 a2 b24 c32 d72
4bit的意思是
a字 b字长 c字节 d二进制位
5某学校的工资管理程序属于
a系统程序 b应用程序
c工具软件 d文字处理软件
6与十六进制数bb等值的十进制数是
a187 b188 c185 d186
7 设一张软盘已染上病毒,能清除病毒的措施是
a删除该软盘上的所有文件 b格式化该软盘
c删除该软盘上的所有可执行文件 c删除该软盘上的所有批处理文件 8一张3.5英寸双面高密度软盘片的容量为
a360kb b720kb c1.44mb d1.2mb 9与二进制小数0.1等值的十六进制小数为
a0.1 b0.2 c0.4 d0.8
10dos系统的热启动与冷启动的不同之处为热启动时
a不检测键盘、处设接口与内存 b不提示用户输入日期与时间 c不用装入command文件 d不能从软盘启动
11为了将磁盘上的文件k1,k2,k3,依次连接在文件k4的后面,应使用命令 acopy k1+k2+k3 k4 bcopy k1+k2+k3+k4 ccopy k1+k2+k3+k4 k4 dcopy k4+k1+k2+k3
12下列文件名中可以作为批处理文件名的是
aautoexc.c bautoexec
catx.bat dauto.txt
13要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令 adir \ prn btype \ prn
cdir prn ctype prn
14设可执行文件 abc.exe 所需要的本该由键盘输入的数据已经按格式存
放在文
件xyz 中,并要求执行结果放在文件 xyz 中输入数据的后面. 下列命令中
正
确的是
a abc xyz b abc xyz
c abc15设当前盘中某一目录路径为 \a\b\c,当前目录为\a.下列命令中肯
定出错的是
amd \a\c b cd c md \a\b\a d md \a\b 16设 a 盘的目录结构如下:
根目录
?
?—————??——?———?———?————? ? ? ? ? ? ?
abc d1子目录 dx.c q.dat d2子目录 a.for
? ?
?————?—?——?———? ?———?———? ? ? ? ? ? ? ?
b.pas d3子目录 y.bas a.c a1.c d4子目录 xyz.c
?
?————?————?————?
? ? ? ?
qr.c na.c a.txt b.c
如果当前盘为 c 盘,a 盘的当前目录为\d2,则下列对 a 盘上文件qr.c 的
指定
中,合法的是
a\d2\d4\qr.c bd4\qr.c
ca:d4\qr.c da:d2\d4\qr.c
17下列dos命令中,有错误的是
atype aab.forcon btype ?ab.for ccopy *.c con dcopy con prn 18设当前盘为a盘,为了将当前盘当前目录下的文件ab1.txt连接在c 盘根
目录下
的文件xyz.txt的后面,正确的命令是
acopy c:\xyz.txt+ab1.txt
bcopy ab1.txtc:\xyz.txt
ctype ab1.txtc:\xyz.txt
dab1.txt+c:\xyz.txtc:\xyz.txt 19下列命令中合法的是
adiskcopy a: a: bdiskcopy a: c: cdiskcopy c: a: ddiskcopy c: d:
20设当前盘中某一目录路径为\a\b\c\d\xu,当前目录为\a.要将根目录下
扩展名
为.c的所有文件复制到当前目录下,并将扩展名改为.for,应使用命令 acopy \*.c *.for bcopy *.c \a\*.for ccopy *.for \*.c dcopy \a\*.c *.for 21下列不正确的转义字符是
a'\\' b'\" c'074' d'\0'
22若有以下定义:
char a; int b;
float c; double d;
则表达式a*b+d-c值的类型为
a float b int c char d double 23表示关系xyz的c语言表达式为
a xy&&yz b xyandyz
c xyz d xy&yz
24设a1,b2,c3,d4,则表达式:a
a 4 b 3 c 2 d 1
25设x为int型变量,则执行以下语句后,x的值为
x10; x+x-x-x;
a 10 b 20 c 40 d 30
26下列可作为c语言赋值语句的是
a x3,y5 b ab6
c i--; d yintx;
27设x,y,z,t均为int型变量,则执行以下语句后,t的值为 xyz1;
t++x||++y&&++z;
a 不定值 b 2 c 1 d 0
28设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf"i%d,f%f",&i,&f; 为了把100和765.12分别赋给i和f,则正确的输入为 a 100765.12 b i100,f765.12 c 100765.12 d x100y765.12 29设x和y均为int型变量,则执行下的循环后,y值为 fory1,x1;y50;y++
ifx10break;
if x%21
x+5; continue;
x-3;
a 2 b 4 c 6 d 8
30给出以下定义:
char x[ ]"abcdefg";
char y[ ]'a','b','c','d','e','f','g';
则正确的叙述为
a 数组x和数组y等价 b 数组x和数组y的长度相同
c 数组x的长度大于数组y的长度 d 数组x的长度小于数组y的长度 31以下叙述中不正确的是
a 在不同的函数中可以使用相同名字的变量
b 函数中的形式参数是局部变量
c 在一个函数内定义的变量只在本函数范围内有效 d 在一个函数内的复合语句中定义的变量在本函数范围内有效 32假定a和b为int型变量,则执行以下语句后b的值为 a1; b10;
do
b-a; a++;
while b--0;
a 9 b -2 c -1 d 8
33设j为int型变量,则下面for循环语句的执行结果是 for k10, j10; j3; j-- ifj%3 k--; --k; --k; printf"%d ", k ;
34设有以下宏定义:
#define