1、助学指导书 高等教育自学考试 《计算机基础与程序设计》 复 习 参 考 题 郑州大学土木工程学院 2010年11月 第一章 计算机及程序设计基础知识 一、单项选择题 1.一个完整的计算机系统应该包括( D ) A.主机和外设 B.主机和操作系统 C.硬件系统和系统软件 D.硬件系统和软件系统 2.在计算机中 , 指令通常是由( A ) A .操作码、操作数组成 B .源操作数、目标操作数组成 C .反码、补码组成 D .直接寻址、目的寻址组成 3.下列设备中属于输出设备的是(
2、 D ) A .扫描仪 B .键盘 C .鼠标 D .显示器 4.整数-2在机器内存中的表示是( B ) A . 1000000000000010 B . 1111111111111110 C . 11111111111111101 D . 1111111111111111 5.如果文件存储的是数据在内存中存放的字节形式 , 则该文件是( C ) A .ASCII 文件 B .文本文件 C .二进制文件 D .设备文件 6.下列软件中属于应用软件的是 ( C ) A. Ms-Dos B. Windows2000 C.
3、WPS2000 字处理软件 D. C 语言处理程序 7. 在计算机硬件设备中能用作输入设备是 ( B ) A. 显示器 B. 键盘 C. 绘图仪 D. 打印机 8. 在Dos系统中可以用文件扩展名表示文件类型,其中批处理文件的扩展名是(C) A. .OBJ B. .C C. .BAT D. .BAK 9.具有只读功能的内存储器是指( A ) A . ROM B . RAM C .硬盘 D . CD-ROM 10. 存储量 1MB 等于( C ) A.23 字节 B.210 字节 C.220 字节
4、 D.230 字节 11. 下面数据中最小数是( A ) A.(0.1100)2 B.(0.64)8 C.(0.8125)10 D.(0.D)16 12. CPU处理数据和指令的基本单位是字(Word),一个字的字长是(D) A. 8bits B. 16bits C. 32bits D. 与CPU数据总线有关的bit位数 13. 与十进制1100等值的十六进制数是( B ) A. 44A B. 44C C. 54A D. 54C 14. 与二进制数 1011.01 等值的十进制数是(
5、C ) A.7.25 B.11.05 C.11.25 D.19.25 15.Unix 是( D ) A. 单用户、单任务的操作系统 B. 单用户、多任务的操作系统 C. 多用户、单任务的操作系统 D. 多用户、多任务的操作系统 16. 一个二进制数位也称为一个( D ) A.word B.byte C.KB D.bit 17.( B )是用助记符来表示指令的符号语言。 A.机器语言 B.汇编语言 C.高级语言 D.语言处理程序 18.-123的原码是( A ) A.11111
6、011 B.10000101 C.01111011 D.0000101 19. 若当前路径为 C 盘 TC 子目录,仅将 A 盘根目录下的文件名第 3 个字符为 P ,扩展名为 C 的所有文件复制到 C 盘 TC 子目录下,一定成功的命令是 ( C ) 。 A.COPY A : \*P*.C B.COPY A:\??P*.C C: C.COPY A:\??P*.C D.COPY ??P*.C C:\TC 20.按冯诺依曼的设计思想,计算机采用的数制是( A )
7、 A.二进制 B.八进制 C.十进制 D.十六进制 21. 计算机能够自动按照人们的意图进行工作的最基本思想是 ( B ) A. 采用逻辑部件 B. 存储程序和数据 C. 控制代码 D. 总结结构 22. 磁盘处于写保护状态,那么磁盘中的数据 ( B ) A) 不能读出,不能删改,也不能写入新数据 B) 可以读出,不能删改,也不能写入新数据 C) 可以读出,可以删改,但不能写入新数据 D) 可以读出,不能删改,但可以写入新数据
8、 23. 应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH目录中,而数据文件存放在C:\TH\DATA目录中,如果将它们完整地复制到A盘, 应该使用的命令是 ( B ) A) XCOPY C:\TH A:\ B) XCOPY C:\TH A:\ /S C) XCOPY C:\TH A:\ /M D) XCOPY C:\TH A:\ /P 24. 所谓“裸机“是指( C ) A)单片机 B)单板机 C)不装备任何软件的计算机 D)只装备操作系统的计算机 25. 算法中,对需要执行的每一步
9、操作,必须给出清楚、严格的规定,这属于算法的( C ) A)正当性 B)可行性 C)确定性 D)有穷性 二、多项选择题 1.存储在下列哪些设备中的信息可以长期保存 ? ( BCDE ) A . RAM B . ROM C .硬盘 D .软盘 E .光盘 2.下列设备中属于外存储设备的有( BCDE ) A . RAM B .光盘 C .硬盘 D .软盘 E .磁带 3. 微机系统的主机包含的部件有( BDE ) A. 输入设备 B. 存储器 C. 输出设备 D. 运算器 E. 控制器 4. 总
10、线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有( BCD ) A. 电源线 B. 数据线 C. 地址线 D. 控制线 E. 网络线 5. 下面哪些软件属于操作系统范畴 ( ADE ) 。 A.DOS B.Foxpro C.Turbo C D.UNIX E.Windows 6. 下面哪些是组成 MS — DOS 操作系统的模块 ( ABCE ) A.MAND. B.IO.SYS C.MSDOS.SYS D.Turbo C E.B
11、OOT 7. 与十进制 141 等值的数是 ( ACD ) A.(10001101)2 B.(10001110)2 C.(215)8 D.(8D)16 E.(8E)16 8.?X*.C可以代表的文件是( ADE ) A、AXCD.C B、AXCD.D C、ABX.C D、RX.C E、XX1234.C 三、填空题 1. 计算机的硬件由五部分组成,它们分别是输入设备、输出设备、存储器、 运算器 和 控制器 。 2. 微型计算机的性能主要取决于 CPU 。
12、 3. 一片存储容量是1.44MB的软磁盘,可以存储大约140万个_ 字节(byte)__。 4. 在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是__中断程序运行__。 第二章 关于C语言程序的基本知识 一、选择题 1.下列转义字符中,表示回车的是( B ) A.\0 B.\n C.\r D.\f 2.若定义double d;则d在内存中分配的字节数是( D ) A.1个 B.2个C.4个 D.8个 3. 如果 a=5,b=2,c=3,d=4 ,则表达式 a>b? a:c>d? c:d 的值是 ( C
13、 ) A. 8 B. 9 C. 10 D. 7 4. C 语言源程序的基本单位是( D ) A .过程 B .函数 C .子程序 D .语句 5. 在 Turbo C 2.0 中,寻求在线帮助可按键( A ) A.F1 B.F5 C.F9 D.F10 6. 设有 int a =3, b=-4, c=0 ;表达式 ((a>b)?a:b ) &&c<0 的值是( B ) A.-4 B.0 C.1 D.3 7. 退出Turbo C 2.0返回系统,在主菜单File项中可选择( D )
14、 A. Load B. New C. Save D. Quit 8. 在 Turbo C2.0 中,若定义 unsigned int a ;则变量 a 在内存中分配的字节数是( B ) A.1 个 B.2 个 C.4 个 D.8 个 9.下面四个选项中,均是合法整型常量的选项是( A )。 A.160 -0xffff 011 B.-0xcdf 01a 0xe C.-01 986,012 0668 D. -0x48a 2e5
15、 0x 10. 在 C 程序中, main 函数的位置是 ( C ) 。 A. 必须作为第一个函数 B. 必须作为最后一个函数 C. 可以放在任意位置 D. 必须放在它所调用的函数之后 11. 如果 a=5,b=2,c=3,d=4 ,则表达式 a>b? a:c>d? c:d 的值是 ( D ) 。 A.2 B.3 C.4 D.5 12. 在 C 程序中,设一表达式中包含有 int, long, char 和 unsigned 类型的变量和数据,这
16、四种类型数据的转换规则是 ( C ) 。 A.int → unsigned → long → char B.char →int → long → unsigned C.char → int → unsigned → long D.int → char → unsigned → long 13. 设有说明: int a=11, b=10 ;执行表达式 a%=b+(a&&b) 后, a 的值为 ( A ) 。 A.0 B.1 C.11 D.22 14.下面哪一个是合法的指数型实数( C
17、 ) A.%d B.a+b C.-123 D.3D 15.以下使i的运算结果为4的表达式是( D ) A.int i=0,j=0;(i=3,(j++)+i); B.int i=1,j=0;j=i=(i=3)*2); C.int i=0,j=1;(j==1)?(i=1):(i=3); D.int i=1,j=1;i+=j+=2; 16.字符串常数"CHINA"在内存中存储时占的字节数是( B ) A、5个 B、6个 C、7个 D、8个 17.设有int p,q;以下不正确的语句是( D ) A、p*=3
18、 B、p/=q C、p+=3 D、p&&=q 18.以下不正确的C语言标识符是( D )。(题目为:简述标识符的命名规则) A. ABC B. abc C. a_bc D. ab.c 19、下面关于运算符优先顺序的描述中正确的是( C ) A 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B 逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符 C 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 20、下列叙述中正确的是( D ) A)C语言中既有逻辑类型也有集合
19、类型 B)C语言中没有逻辑类型但有集合类型 C)C语言中有逻辑类型但没有集合类型 D) C语言中既没有逻辑类型也没有集合类型 21.已知 int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是( A )。 A. 6 B. 12 C. 30 D. 36 22.不能进行++和--运算的数据类型是( B )。 A. 指针 B. double C. int D. long 23. 下列叙述中错误的是( D ) 【2007计算机等级考试】 A)计算机不能直接执行用C语言编写的源程序 B)C程
20、序经编译程序编译后,生成后缀为.obj的文件是一个二进制文件 C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件 D)后缀为.obj和.exe的二进制文件都可以直接运行 24. 对于一个正常运行的C程序,以下叙述中正确的是( A ) A)程序的执行总是从main函数开始,在main函数结束p23 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 25 以下合法的字符型常量是( AD ) A)”\x13”
21、 B)”\018” C)”65” D)”\n” 26. C程序在作逻辑运算时判断操作数真、假的表述中,正确的是( A ) A.0为假,非0为真 B.只有1为真 C.-1为假,1为真 D.0为真,非0为假 二、多项选择题 1.设 a=1,b=3,c=0 ;下面表达式的值为 1 的有( ABCE ) A . !a&&b| |a&&(c+1) B . a - b+3 C . (a>b)==c D . (a=0)&&(b=10) E . b>a&&a>c 2. 若有int x;float y;指出下面结果为整型数的表达式(
22、ACD )p41 A、(int)(x+y) B、(int)x+y C、'a'+x D、x+(int)y E、x*y 三、填空题 1.C语言中基本数据类型包括___整型、实型、字符型____。P26 2. 初始化值是0.618的双精度变量a的定义形式为__double a=0.618__。 3. 表达式a = 1,a + 1,a + + 的值是____1____。 4. 已知x、y分别为a、b、c中的最大、最小值,求a、b、c中间值的表达式为__b>y&&x>b__。 5. C 语言程序由 main( ) 函数开始执行,应在 __ main( )__ 函数中
23、结束。
6. 条件“2
24、带符号形式输出整数 C.以十进制无符号形式输出整数 D.以十六进制无符号形式输出整数 3. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是( D ) A. x = a,y = 97 B. x = 97,y = a C. x = 97,y = 97 D. x = a,y = a 4. 在文件使用方式中,字符串″rb″表示 ( A )p195 A. 打开一个已存在的二进制文件,只能读取数据 B. 打开一个文本文件,只能写入数据 C. 打开一个已存在的文本文件,只能读取数据 D. 打开一个二进制
25、文件,只能写入数据 5. 设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)( D ) 即10和X间不能用空格来区分p50 A. 10□X□20□Y〈回车〉 B. 10□X20□Y〈回车〉 C. 10□X〈回车〉 D. 10X〈回车〉 6. 若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( C ) A. sqrt(abs(n
26、^x+e^x)) B. sqrt(fabs(pow(n,x)+pow(x,e))) C. sqrt(fabs(pow(n,x)+exp(x))) D. sqrt(fabs(pow(x,n)+exp(x))) 7. 有以下程序,其中%u表示按无符号整数输出 main() {unsigned int x=0xFFFF; /* x的初值为十六进制数 */ printf(“%u\n”,x); } 程序运行后的输出结果是( B ) A. -1 B. 65535 C. 32767 D. 0xFF
27、FF 8. 执行下列语句printf(“%d”,’a’= =’A’)后输出为( C ) A. 1 B. 语法错 C. 0 D. 97 9 .下列程序段的输出结果是( B ) void main(void) { int y=1,x=5; if(x<0) y=-1; if(x>=0) y=0; printf("%d\n", y); } A .- 1 B . 0 C . 1 D . 5 10.若有下列程序段,欲使 a=2 , b=3 ,对应正确的数据输入方法是(其中
28、
29、10 12. 以下程序的输出结果是( C ) main() { int a=10; a>10? a--:a++; a+=a; printf(″%d\n″,a); } A.-22 B.11 C.22 D.-11 二、简答题 1. C 语言中的运算符“ = ”与数学中的“ = ”的意义相同吗?为什么? C语言中“=”表示将等号右边值赋给等式左边变量;数学“=”表示等式两侧数值相等; 2. 简述Turbo C 2.0系统中,在主菜单File下选用Quit命令的作用。 Quit命令是退出Turbo C 2.0 系
30、统。 三、阅读分析 1、阅读下面程序,写出运行结果:k=9,i=3 main() { int i=3,k; k=i+i+i; printf(″k=%d,i=%d″,k,i); } 2、下面程序段的输出结果是( 6 ) main( ) { int s, p; s=p=5; p=--s; p++;++p; printf(" %d\n " ,p); } 3、下面程序段的运行结果是( ) 27,15,3 main() { int a,b,c; a=(b=(c=3)*5)*2-3; printf(″%d,%d,%
31、d\n″,a,b,c);
}
4.以下程序的正确输出结果为( )。a=%d,b=%d
main()
{
int a = 2, c = 5;
printf("a = %%d, b = %%d\n", a, c);
}
5、要使下面程序的输出语句在屏幕上显示1,2,34
则从键盘上输入的正确数据格式为:( )。 1234
main()
{
char a,b;
int c;
scanf("%c%c%d", &a,&b,&c);
printf("%c,%c,%d\n",a,b,c);
}
6、#include 32、h> p49即12+56=68
main()
{
int x, y;
scanf("%2d%*2s%2d", &x, &y);
printf("%d", x+y);
}
程序运行时输入:123456789↙ 则程序运行结果是: 68 。
第四章 条件语句与选择结构程序设计
一、单项选择题
1.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是( A )
if(a 33、
2.关于switch中的表达式,正确的说法是( D )
A.它必须是算术表达式 B.它必须是关系表达式
C.它必须是逻辑表达式 D.它可以是任意类型的表达式
3.执行如下程序段后 ,x 的值是( D )
int x=1,y=-1;
if(y<0) x-=y;
else x+=y;
A .- 1 B . 0 C . 1 D . 2
4.下面程序的输出结果是( B )
main( )
{
int x=5,y;
if(x>0)
y=1;
y=0;
if(x<0)
y=-1;
prin 34、tf( " %d " ,y);
}
A . -1 B . 0 C . 1 D . 5
5. 关于 if 语句下面叙述正确的是( D )
A. 只有当 if 语句中表达式的值等于 1 时,才执行 if 的内嵌语句
B. 只有当 if 语句中表达式的值为假时,才执行 if 的内嵌语句
C. 只有当 if 语句中表达式的值等于 0 时,才执行 if 的内嵌语句
D. 只要 if 语句中表达式的值非 0 时,就执行 if 的内嵌语句
6. 若执行下面程序时,从键盘输入数据 3 和 4 ,则程序的输出结果是( C )
main( )
{ int a,b 35、s;
scanf( ″ %d %d ″ , &a,&b);
s=a;
if(a
int c;
while ((c=getchar())!=’\n’)
switch(c-‘2’)
{case 0:
case 1:putchar(c+4);
36、case 2:putchar(c+4); break;
case 3:putchar(c+3);
default: putchar(c+2);break;
}
A.668977 B.668966 C.66778777 D.6688766
8. 下面程序段的运行结果是 ( C ) 。
main()
{
int x=1,y=2,z=3,s=0;
if(y>x)
if(y>z) s=1;
else s=2;
else s=3;
printf( ” % d\ n ” ,s 37、);
}
A.0 B.1 C.2 D.3
9. 两次运行下面程序,如果从键盘上分别输入 6 和 4 ,则程序的输出结果是 ( C )
main ( )
{int x;
scanf( ″ %d ″ ,&x);
if(x++>5) printf( ″ %d ″ ,x);
else printf( ″ %d\n ″ ,x-1);}
A.7 和 5 B.6 和 3 C.7 和 4 D.6 和 4
10.以下有关switch语 38、句的正确说法是( B )。
A. break语句是语句中必须的一部分
B. 在switch 语句中可以根据需要使用或不使用break语句
C. break语句在switch 语句中不可以使用
D. 在switch 语句中的每一个case都要用break语句
11. 以下if语句语法正确的是( A )。
A. if(x>0)printf(“%f”,x)
B. if(x>0){x=x+y;printf(“%f”,x);}
else printf(“%f”,-x); else printf(“%f”,-x);
C. if (x>0) { 39、x=x+y;printf(“%f”,x);};
D. if(x>0){x=x+y;printf(“%f”,x)}
else printf(“%f”,-x); else printf(“%f”,-x);
12. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是 ( C )
题目:设int a=2,b;则执行b=a&&1;语句后,b的结果
A. if(a>b){if(c>d) x = 1;else x = 2;}
B. if(a>b){if(c>d) x = 1;} else x = 2;
C. if((a>b) & 40、 (c>d)) x = 1;else x = 2;
二、多项选择题
1 .下列语句中正确的有( CD )
A . if(x>y);
B . if(x=y)&&(x!=0)x+=y;
C . if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);
D . if(x 41、){x=x+y;printf(″%f″,x)}
else printf(″%f″,x)
C.if(x>0){x=x+y;printf(″%f″,x);}
else printf(″%f″,x);
D.if(x>0)x=x+y;printf(″%f″,x);
else printf(″%f″,x)
E.if x>y
x++;
else
x--;
三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
1.阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果。no(同时被5和7整除)
main()
{
int x;
42、
scanf(″%d″,&x);
if(x%5= =0 & & x%7= =0)
printf(″yes″);
else
printf(″no″);
}
2. 若分别输入 0 和 5 时 , 请阅读分析下列程序 , 然后分别写出两种输入情况下程序的运行结果。0 35
main ( )
{
int x,y;
scanf("%d",&x);
if(x>2&&x<=10)
y=x*(x+2);
else if(x>-1 && x<=2)
y=2*x;
else if(x<-1) y=x-1 43、
if(y!=-1)
printf("%d",y);
else
printf("error");
}
3. 阅读下面程序,并回答问题:
main( )
{ int a,b,x,y;
scanf( ″ %d,%d ″ ,&a,&b);
x=a*a+b*b;
if(x>100)
{y=x/100;printf( ″ %d ″ ,y);}
else printf( ″ %d ″ ,a+b);
}
( 1 )若程序运行时,输入 6 和 9 ,输出结果是什么? 1
( 2 )说明 44、程序的功能。 计算输入两个整数的平方和,如果之和大于100则输出其整除一百厚的结果,否则输出两个整数之和。
4. 阅读下面程序,并回答问题:
main()
{ int x, y, z, c;
scanf(″%d%d%d″,&x, &y, &z);
if(x 45、 请阅读分析下面程序,然后写出运行结果。 1 5 6 30
main( )
{
int x=156,a,b,c;
if(x>100)
{
a=x/100;
x=x%100;
}
if(x>10)
{
b=x/10;
c=x%10;
}
printf(“%3d%3d%3d%3d”,a, b, c, a*b*c);
}
6. 阅读下列程序,并回答问题:
main( )
{int x=1,y=0,a=0,b=0;
switch(x)
{case 46、 1: switch(y)
{case 0: a++;break;
case 1: b++;break;}
case 2:a++;b++;break;
case 3:a++;b++;}
printf( ″ a=%d,b=%d\n ″ ,a,b);}
请分析该程序的执行过程并写出运行结果。 a=2,b=1
四、编程题:
1、已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年。答案1:教材p65 例题4-9;答案2如下:
main()
{int year;
scan 47、f("%d",&year);
if((year%4==0)&&(year%100!=0)&&(year%400==0))
printf("%d is a leap year!",year);
else
printf("%d is not a leap year!",year);}
2、是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格)。答案1:教材p64例题4-8;答案2如下:
#include 48、ore:\n");
scanf("%d",&grade);
switch((int)(grade/10))
{case 10:
case 9: chgrade = 'A'; break;
case 8: chgrade = 'B'; break;
case 7: chgrade = 'C'; break;
case 6: chgrade = 'D'; break;
default:chgrade = 'F';break; }
printf("The performance levels are:%c\n",chgrade);}
第五章 循环语句与 49、循环结构程序设计
一、选择题
1、有如下程序片段:
int i = 0;
while(i++ <= 2)
printf("%d", i);
则i的最终执行结果是:( B )
A. 2 B. 3 C. 4 D. 无结果
2、若i为整型变量,则以下循环执行次数是( B )
for(i=2;i==0;)printf("%d",i--);
A. 无限次 B. 0次 C. 1次 D. 2次
3、设有程序段
int k=10;
while (k=0)k=k-1;
这下面描述中正确的是( C )
A. while循环执 50、行10次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 循环体语句执行一次
4、以下正确的描述是( B )
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用goto语句
5、若有如下语句
int x=3;
do{printf(""%d\n",x-=2);}while(!(--x));
则上面程序段( B )
A.输出的是1






