计算机基础与程序设计复习参考题及答案(完整)(共61页).doc
精选优质文档-倾情为你奉上助学指导书高等教育自学考试计算机基础与程序设计复 习 参 考 题郑州大学土木工程学院2010年11月第一章 计算机及程序设计基础知识一、单项选择题 1一个完整的计算机系统应该包括(D)A主机和外设 B主机和操作系统C硬件系统和系统软件 D硬件系统和软件系统2在计算机中 , 指令通常是由(A)A 操作码、操作数组成 B 源操作数、目标操作数组成C 反码、补码组成 D 直接寻址、目的寻址组成3下列设备中属于输出设备的是(D)A 扫描仪 B 键盘 C 鼠标 D 显示器4整数2在机器内存中的表示是(B)A 00010 B 11110C D 111115如果文件存储的是数据在内存中存放的字节形式 , 则该文件是(C)A ASCII 文件 B 文本文件 C 二进制文件 D 设备文件6下列软件中属于应用软件的是 ( C ) A. Ms-DosB. 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-ROM10. 存储量 1MB 等于(C) A.23 字节 B.210 字节 C.220 字节 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. 16bitsC. 32bits D. 与CPU数据总线有关的bit位数13. 与十进制1100等值的十六进制数是( B )A. 44A B. 44C C. 54A D. 54C14. 与二进制数 1011.01 等值的十进制数是(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.bit17.( B )是用助记符来表示指令的符号语言。A.机器语言 B.汇编语言 C.高级语言 D.语言处理程序18.-123的原码是( A )A. B. C. D.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 )A.二进制 B.八进制 C.十进制 D.十六进制21. 计算机能够自动按照人们的意图进行工作的最基本思想是 ( B ) A. 采用逻辑部件 B. 存储程序和数据 C. 控制代码 D. 总结结构 22. 磁盘处于写保护状态,那么磁盘中的数据 ( B )A) 不能读出,不能删改,也不能写入新数据 B) 可以读出,不能删改,也不能写入新数据 C) 可以读出,可以删改,但不能写入新数据 D) 可以读出,不能删改,但可以写入新数据 23. 应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:TH目录中,而数据文件存放在C:THDATA目录中,如果将它们完整地复制到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 ) 。 A.DOS B.Foxpro C.Turbo C D.UNIX E.Windows 6. 下面哪些是组成 MS DOS 操作系统的模块 ( ABCE ) A.COMMAND.COM B.IO.SYS C.MSDOS.SYS D.Turbo C E.BOOT 7. 与十进制 141 等值的数是 ( ACD ) A.()2 B.()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 。3. 一片存储容量是1.44MB的软磁盘,可以存储大约140万个_ 字节(byte)_。4. 在MS-DOS环境中同时按下Ctrl和Break两个键,其作用是_中断程序运行_。第二章 关于C语言程序的基本知识一、选择题1下列转义字符中,表示回车的是(B)A0 Bn Cr Df2若定义double d;则d在内存中分配的字节数是(D)A1个 B2个C4个 D8个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 2.0 中,寻求在线帮助可按键(A) A.F1 B.F5 C.F9 D.F106. 设有 int a =3, b=-4, c=0 ;表达式 (a>b)?a:b ) &&c<0 的值是(B) A.-4 B.0 C.1 D.37. 退出Turbo C 2.0返回系统,在主菜单File项中可选择( D )A. Load B. New C. Save D. Quit8. 在 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 0xeC.-01 986,012 0668 D. -0x48a 2e5 0x10. 在 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 类型的变量和数据,这四种类型数据的转换规则是 ( 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 )A.%d B.a+b C.-123 D.3D15.以下使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 B、p/=q C、p+=3 D、p&&=q18以下不正确的C语言标识符是( D )。(题目为:简述标识符的命名规则)A. ABC B. abc C. a_bc D. ab.c19、下面关于运算符优先顺序的描述中正确的是( 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. 3622不能进行+和-运算的数据类型是( B )。 A. 指针 B. double C. int D. long23. 下列叙述中错误的是( D ) 【2007计算机等级考试】A)计算机不能直接执行用C语言编写的源程序B)C程序经编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行24. 对于一个正常运行的C程序,以下叙述中正确的是( A )A)程序的执行总是从main函数开始,在main函数结束p23B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束25 以下合法的字符型常量是( AD )A)”x13” 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)=cD (a=0)&&(b=10) E b>a&&a>c2 若有int x;float y;指出下面结果为整型数的表达式( ACD )p41A、(int)(x+y) B、(int)x+y C、'a'+x D、x+(int)yE、x*y三、填空题1C语言中基本数据类型包括_整型、实型、字符型_。P262. 初始化值是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( )_ 函数中结束。6. 条件“2<X<3或X<-10”的C语言表达式是_(x>2 && x<3)|(x<-10)_。7. C语言中实型变量分为两种类型:_单精度_和_双精度_。第三章 C的基本语句及顺序结构程序设计一、选择题1如果int i = 3, 则printf("%d", -i+ )的输出结果及i的值是( A )。A) -3 4 B) -4 4C) -4 3 D) -3 32在printf语句中,格式说明符u表示(C)p47A以十进制带符号形式输出整数 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 = aC. x = 97,y = 97 D. x = a,y = a4. 在文件使用方式中,字符串rb表示 (A)p195A. 打开一个已存在的二进制文件,只能读取数据B. 打开一个文本文件,只能写入数据C. 打开一个已存在的文本文件,只能读取数据D. 打开一个二进制文件,只能写入数据5. 设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:代表空格字符)( D ) 即10和X间不能用空格来区分p50A. 10X20Y回车 B. 10X20Y回车 C. 10X回车 D. 10X回车6. 若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( C )A. sqrt(abs(nx+ex) 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(“%un”,x);程序运行后的输出结果是( B )A. -1 B. 65535 C. 32767 D. 0xFFFF8. 执行下列语句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("%dn", y);A 1 B 0 C 1 D 510若有下列程序段,欲使 a=2 , b=3 ,对应正确的数据输入方法是(其中 <CR> 表示换行)(D) int a,b scanf( “%d%d”, &a , &b) ;A 2 B a=2 b=3<CR> 3<CR>C a=2 , b=3<CR> D 2 , 3<CR>11 以下程序的输出结果是 ( ) 结果为:10,22,16main() 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(%dn,a);A.-22 B.11 C.22 D.-11 二、简答题1. C 语言中的运算符“ = ”与数学中的“ = ”的意义相同吗?为什么?C语言中“=”表示将等号右边值赋给等式左边变量;数学“=”表示等式两侧数值相等;2. 简述Turbo C 2.0系统中,在主菜单File下选用Quit命令的作用。Quit命令是退出Turbo C 2.0 系统。三、阅读分析1、阅读下面程序,写出运行结果:k=9,i=3main() 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(" %dn " ,p);3、下面程序段的运行结果是( ) 27,15,3 main() int a,b,c; a=(b=(c=3)*5)*2-3; printf(%d,%d,%dn,a,b,c);4以下程序的正确输出结果为( )。a=%d,b=%dmain() int a = 2, c = 5;printf("a = %d, b = %dn", a, c);5、要使下面程序的输出语句在屏幕上显示1,2,34则从键盘上输入的正确数据格式为:( )。 1234 main()char a,b;int c;scanf("%c%c%d", &a,&b,&c); printf("%c,%c,%dn",a,b,c);6、#include <stdio.h> p49即12+56=68main() int x, y;scanf("%2d%*2s%2d", &x, &y);printf("%d", x+y);程序运行时输入: 则程序运行结果是: 68 。第四章 条件语句与选择结构程序设计一、单项选择题1若有int a=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是(A)if(a<b)if(c= =d)x=c;elsex=d+A4 B5 C6 D72关于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 24下面程序的输出结果是(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 55. 关于 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<b) s=b;s=s*s;printf( %d ,s);A.9 B.12 C.16 D.257. 若运行以下程序段时,从键盘输入2473(表示回车),则下面程序的运行结果是( A )。运行加 #include <stdio.h>int c;while (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;A. B. C. D.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); 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( %dn ,x-1); A.7 和 5 B.6 和 3 C.7 和 4 D.6 和 4 10以下有关switch语句的正确说法是( 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) 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<y)x+ +;y+ +;E if(x<y)x+ +;y+ +;else x -; y - ; 2以下if语句中没有语法错误的有(ACE)Aif(x>0)printf(%f,x);else printf(%f,x);Bif(x>0)x=x+y;printf(%f,x)else printf(%f,x)Cif(x>0)x=x+y;printf(%f,x);else printf(%f,x);Dif(x>0)x=x+y;printf(%f,x);else printf(%f,x)Eif x>yx+;elsex-;三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。1阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果。no(同时被5和7整除)main()int x;scanf(%d,&x);if(x%5= =0 & & x%7= =0)printf(yes);elseprintf(no);2. 若分别输入 0 和 5 时 , 请阅读分析下列程序 , 然后分别写出两种输入情况下程序的运行结果。0 35main ( ) 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<z)c=y; y=z; z=c;if(x<z)c=x; x=z; z=c;if(x<y)c=x; x=y; y=c;printf(%d, %d, %d, x, y, z);(1)若程序运行时,输入3、2和5,则输出结果是什么? 5,3,2(2)写出程序所实现的功能。 从大到小排序5. 请阅读分析下面程序,然后写出运行结果。 1 5 6 30main( )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=%dn ,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 <stdio.h>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:%cn",chgrade);第五章 循环语句与循环结构程序设计一、选择题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循环执行10次 B 循环是无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次4、以下正确的描述是( B ) Acontinue语句的作用是结束整个循环的执行 B只能在循环体内和switch语句体内使用break语句 C在循环体内使用break语句或continue语句的作用相同 D从多层循环嵌套中退出时,只能使用goto语句5、若有如下语句 int x=3; doprintf(""%dn",x-=2);while(!(-x); 则上面程序段( B ) A输出的是1 B输出的是1和-2 C输出的是3和0 D是死循环6、对do语句while(表达式);结构的循环,下列说法正确的是(B)A当表达式的值为非零时不执行循环体B循环体至少被