助学指导书
高等教育自学考试
《计算机基础与程序设计》
复习参考题
郑州大学土木工程学院
2010年11月
第一章计算机及程序设计基础知识
一、单项选择题
1.一个完整的计算机系统应该包括(D)
A.主机和外设B.主机和操作系统
C.硬件系统和系统软件D.硬件系统和软件系统
2.在计算机中, 指令通常是由(A)
A .操作码、操作数组成
B .源操作数、目标操作数组成
C .反码、补码组成
D .直接寻址、目的寻址组成
3.下列设备中属于输出设备的是(D)
A .扫描仪
B .键盘
C .鼠标
D .显示器
4.整数-2在机器内存中的表示是(B)
A .010
B .110
C .1101
D .111
5.如果文件存储的是数据在内存中存放的字节形式, 则该文件是(C)
A .ASCII 文件
B .文本文件
C .二进制文件
D .设备文件
6.下列软件中属于应用软件的是( C )
A. Ms-Dos
B. Windows2000
C. 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)
字节字节字节字节
11. 下面数据中最小数是(A)
A.2
B.8
C.10
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. 与二进制数等值的十进制数是(C)
是(D)
A. 单用户、单任务的操作系统
B. 单用户、多任务的操作系统
C. 多用户、单任务的操作系统
D. 多用户、多任务的操作系统
16. 一个二进制数位也称为一个(D)
17.( B )是用助记符来表示指令的符号语言。
A.机器语言?????
B.汇编语言
C.高级语言?????
D.语言处理程序
的原码是(??A? )
A.?????
B. ?????
19. 若当前路径为C 盘TC 子目录,仅将A 盘根目录下的文件名第3 个字符为P ,扩展名为 C 的所有文件复制到 C 盘TC 子目录下,一定成功的命令是( C ) 。
A :\*P*.C A:\??P*.C C:
A:\??P*.C ??P*.C C:\TC
20.按冯诺依曼的设计思想,计算机采用的数制是( A )
A.二进制
B.八进制
C.十进制
D.十六进制
21. 计算机能够自动按照人们的意图进行工作的最基本思想是( B )
A. 采用逻辑部件
B. 存储程序和数据
C. 控制代码
D. 总结结构
22. 磁盘处于写保护状态,那么磁盘中的数据(B )
A) 不能读出,不能删改,也不能写入新数据
B) 可以读出,不能删改,也不能写入新数据
C) 可以读出,可以删改,但不能写入新数据
D) 可以读出,不能删改,但可以写入新数据
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. 算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( 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. 总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有(BCD )
A. 电源线
B. 数据线
C. 地址线
D. 控制线
E. 网络线
5. 下面哪些软件属于操作系统范畴( ADE ) 。
C
6. 下面哪些是组成MS — DOS 操作系统的模块( ABCE )
C
7. 与十进制141 等值的数是( ACD )
A.()2
B.()2
C.(215)8
D.(8D)16
E.(8E)16
8.?X*.C可以代表的文件是(ADE )
A、B、C、D、E、
三、填空题
1. 计算机的硬件由五部分组成,它们分别是输入设备、输出设备、存储器、运算器和控制器。
2. 微型的性能主要取决于CPU 。
3. 一片存储容量是的软磁盘,可以存储大约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 )
A. 8
B. 9
C. 10
D. 7
4.C 语言源程序的基本单位是(D)
A .过程B.函数 C .子程序 D .语句
5. 在Turbo C 中,寻求在线帮助可按键(A)
6. 设有int a =3, b=-4, c=0 ;表达式((a>b)?a:b )&&c<0 的值是(B)
7. 退出Turbo C 返回系统,在主菜单File项中可选择(D )
A. Load
B. New
C. Save
D. Quit
8. 在Turbo 中,若定义unsigned int a ;则变量 a 在内存中分配的字节数是( B )
个个个个
9.下面四个选项中,均是合法整型常量的选项是(?? A ? )。
???-0xffff???011???01a????0xe
???986,012 ??0668 D. -0x48a??2e5????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 ) 。
12. 在C 程序中,设一表达式中包含有int, long, char 和unsigned 类型的变量和
数据,这四种类型数据的转换规则是( C ) 。
→ unsigned → long → char →int → long → unsigned
→ int → unsigned → long → char → unsigned → long
13. 设有说明:int a=11, b=10 ;执行表达式a%=b+(a&&b) 后,a 的值为( A ) 。
14.下面哪一个是合法的指数型实数( C )
A.%d +b
15.以下使i的运算结果为4的表达式是( D )
i=0,j=0;(i=3,(j++)+i); i=1,j=0;j=i=(i=3)*2);
i=0,j=1;(j==1)?(i=1):(i=3); 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
B、p/=q
C、p+=3
D、p&&=q
18.以下不正确的C语言标识符是( D )。(题目为:简述标识符的命名规则)
A. ABC
B. abc
C. a_bc
D.
19、下面关于运算符优先顺序的描述中正确的是( C )
A 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B 逻辑运算符< 关系运算符< 算术运算符< 赋值运算符
C 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
20、下列叙述中正确的是( D )
A)C语言中既有逻辑类型也有集合类型
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程序经编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
24. 对于一个正常运行的C程序,以下叙述中正确的是( A )
A)程序的执行总是从main函数开始,在main函数结束p23
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
25 以下合法的字符型常量是( AD )
A)”\x13”B)”\018” C)”65” D)”\n”
26. C程序在作逻辑运算时判断操作数真、假的表述中,正确的是(A)
为假,非0为真??????B.只有1为真
为假,1为真?????? 为真,非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;指出下面结果为整型数的表达式(ACD )p41
A、(int)(x+y)
B、(int)x+y
C、'a'+x
D、x+(int)y
E、x*y
三、填空题
1.C语言中基本数据类型包括___整型、实型、字符型____。P26
2. 初始化值是的双精度变量a的定义形式为__double a=。
3. 表达式a = 1,a + 1,a + + 的值是____1____。
4. 已知x、y分别为a、b、c中的最大、最小值,求a、b、c中间值的表达式为__b>y&&x>b__。
5. C 语言程序由main( ) 函数开始执行,应在__ main( )__ 函数中结束。
6. 条件“2
7. C语言中实型变量分为两种类型:__单精度__和__双精度__。
第三章C的基本语句及顺序结构程序设计
一、选择题
1.如果int i = 3, 则printf("%d", -i++ )的输出结果及i的值是( A )。
A) -3 4 B) -4 4
C) -4 3 D) -3 3
2.在printf语句中,格式说明符u表示(C)p47
A.以十进制带符号形式输出整数B.以十六进制带符号形式输出整数
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. 打开一个二进制文件,只能写入数据
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^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. 0xFFFF
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 ,对应正确的数据输入方法是(其中
int a,b
scanf( “%d%d”,&a ,&b) ;
A .2
B .a=2 b=3
C .a=2 ,b=3
D .2 ,3
11 以下程序的输出结果是( )结果为:10,22,16
main()
{int i=012,j=22,k=0x10;
printf( “ %d,%d,%d \ n ” ,i,j,k);
}
A. 12 ,22 ,10
B. 10 ,22 ,10
12. 以下程序的输出结果是( C )
main()
{ int a=10;
a>10? a--:a++;
a+=a;
printf(″%d\n″,a);
二、简答题
1. C 语言中的运算符“ = ”与数学中的“ = ”的意义相同吗?为什么?
C语言中“=”表示将等号右边值赋给等式左边变量;数学“=”表示等式两侧数值相等;
2. 简述Turbo C 系统中,在主菜单File下选用Quit命令的作用。
Quit命令是退出Turbo C 系统。
三、阅读分析
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,%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 <> p49即12+56=68
main()
{
int x, y;
scanf("%2d%*2s%2d", &x, &y);
printf("%d", x+y);
}
程序运行时输入:9↙则程序运行结果是:68。
第四章条件语句与选择结构程序设计
一、单项选择题
1.若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是(A)if(a
{
if(c= =d)
x=c;
}
else
x=d++
A.4B.5 C.6 D.7
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;
printf( "%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,s;
scanf( ″ %d %d″ , &a,&b);
s=a;
if(a
s=s*s;
printf( ″ %d ″ ,s);
}
7. 若运行以下程序段时,从键盘输入2473(表示回车),则下面程序的运行结果是( A )。运行加#include <>
int c;
wh ile ((c=getchar())!=’\n’)
? switch(c-‘2’)
??? {case 0:
??? case 1:putchar(c+4);
??? case 2:putchar(c+4); break;
??? case 3:putchar(c+3);
??? default: putchar(c+2);break;
}
C.
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);
}
9. 两次运行下面程序,如果从键盘上分别输入 6 和 4 ,则程序的输出结果是( C )
main ( )
{int x;
scanf( ″ %d ″ ,&x);
if(x++>5) printf( ″ %d ″ ,x);
else printf( ″ %d\n ″ ,x-1);}
和5 和3 和4和4
10.以下有关switch语句的正确说法是( B )。
A. break语句是语句中必须的一部分
B. 在switch 语句中可以根据需要使用或不使用break语句
C. break语句在switch 语句中不可以使用
D. 在switch 语句中的每一个case都要用break语句
11. 以下if语句语法正确的是( A )。
A. i f(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) {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)&& (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 E .if(x 2.以下if语句中没有语法错误的有(ACE) A.if(x>0)printf(″%f″,x); else printf(″%f″,x); B.if(x>0){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; 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; 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 )说明程序的功能。计算输入两个整数的平方和,如果之和大于100则 输出其整除一百厚的结果,否则输出两个整数之和。 4. 阅读下面程序,并回答问题: main() { int x, y, z, c; scanf(″%d%d%d″,&x, &y, &z); if(x if(x if(x printf(″%d, %d, %d″, x, y, z); } (1)若程序运行时,输入3、2和5,则输出结果是什么?5,3,2 (2)写出程序所实现的功能。从大到小排序 5. 请阅读分析下面程序,然后写出运行结果。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 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; scanf("%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 <> main() {int grade; char chgrade; printf("please input a score:\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);}