C语言程序设计模拟试题三.doc
C语言程序设计模拟试题三(含答案)1、计算机的存储器完整的应包括A) 软盘、硬盘 B) 磁盘、磁带、光盘C) 内存储器、外存储器 D) RAM、ROM2、计算机中运算器的作用是A) 控制数据的输入/输出 B) 控制主存与辅存间的数据交换C) 完成各种算术运算和逻辑运算 D) 协调和指挥整个计算机系统的操作3、软磁盘处于写保护状态时,其中记录的信息A) 绝对不会丢失B) 不能被擦除,但能追加新信息C) 不能通过写磁盘操作被更新D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除4、光盘根据基制造材料和记录信息的方式不同,一般可分为A) CD、VCDB) CD、VCD、DVD、MP3C) 只读光盘、可一次性写入光盘、可擦写光盘D) 数据盘、音频信息盘、视频信息盘5、在计算机系统中,可执行程序是A) 源代码 B) 汇编语言代码 C) 机器语言代码 D) ASCII码6、计算机软件系统包括A) 操作系统、网络软件 B) 系统软件、应用软件C) 客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件7、目前,一台计算机要连入Internet,必须安装的硬件是A) 调制解调器或网卡 B) 网络操作系统C) 网络查询工具 D) WWW浏览器8、在多媒体计算机系统中,不能存储多媒体信息的是 A) 光盘 B) 磁盘 C) 磁带 D) 光缆9、要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A) TYPE a*.* B) TYPE abc.exeC) TYPE pro.c>PRN D) TYPE abc.txt10、下列更改文件名的命令中正确的是A) REN A:file1 C:F1 B) RENAME A: A:file1 C:F1C) REN A:file1 F1 D) REN A:file1 SUBF111、已知A盘为DOS系统启动盘,只有A:DOS下有自动批处理文件,其中内容为:CDDOSMD USERCD USER由A盘启动DOS系统后,A盘的当前目录是A) DOS B) DOSUSER C) D) USE12、MS-DOS是A) 分时操作系统 B) 分布式操作系统C) 单用户、单任务操作系统 D) 单用户、多任务操作系统13、在Windows操作系统中,不同文档之间互相复制信息需要借助于A) 剪切板 B) 记事本 C) 写字板 D) 磁盘缓冲器14、在Windows操作系统中A) 同一时刻可以有多个活动窗口B) 同一时刻可以有多个应用程序在运行,但只有一个活动窗口C) 同一时刻只能有一个打开的窗口D) DOS应用程序窗口与Windows应用程序窗口不能同时打开着15、下列叙述中正确的是A) 所有DOS应用程序都可以在Windows操作系统中正确运行 B) 所有DOS应用程序都不能在Windows操作系统中正确运行C) 大部分DOS应用程序可以在Windows操作系统中正确运行D) 为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行16、下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义 D) C语言所有函数都是外部函数17、以下所列的C语言常量中,错误的是A) 0xFF B) 1.2e0.5 C) 2L D) '72'18、下列选项中,合法的C语言关键字是A) VAR B) cher C) integer D) default19、以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z) 的C语言表达式是A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z20、若a为int类型,且其值为3,则执行完表达式 a+=a-=a*a后,a的值是A) -3 B) 9 C) -12 D) 621、设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为A) 不定值 B) 4 C) 3 D) 122、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A) 10<回车> 22<回车>33<回车>B) 10.0,22.0,33.0<回车>C) 10.0<回车> 22.0 33.0<回车> D) 10 22<回车>33<回车>23、若执行以下程序时从键盘上输入9,则输出结果是Main0 int n;scanf("%d",&n);if(n+<10) printf("%dn",n);else printf("%dn",n-);A) 11 B) 10 C) 9 D) 824、若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b); case 1:y=a+b; break; case 0:y=a-b; break; B) switch(a*a+b*b) case 3: case 1:y=a+b;break;case 3:y=b-a,break;C) switch a case c1 :y=a-b; break case c2: x=a*d; break default:x=a+b; D) switch(a-b)default:y=a*b;breakcase 3:case 4:x=a+b;break;case 10:case 11:y=a-b;break;25、有以下程序段int k=0while(k=1)k+;while 循环执行的次数是A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次26、以下程序执行后sum的值是min() int i , sum;for(i=1;i<6;i+) sum+=i;printf("%dn",sum);A) 15 B) 14 C) 不确定 D) 027、有以下程序段int x=3do printf("%d",x-=2); while (!(-x);其输出结果是A) 1 B) 3 0 C) 1 -2 D) 死循环28、若变量c为char类型,能正确判断出c为小写字母的表达式是A) 'a'<=c<= 'z' B) (c>= 'a')|(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')29、以下所列的各函数首部中,正确的是A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)30、以下程序的输出结果是fun(int x, int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf("%d",a);A) 0 B) 29 C) 31 D) 无定值31、下列程序段的输出结果是void fun(int *x, int *y) printf("%d %d", *x, *y); *x=3; *y=4;main() int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 232、下列程序的输出结果是main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf("%d",*-p);A) 非法 B) a4的地址 C) 5 D) 333、下列程序的运行结果是void fun(int *a, int *b) int *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);A) 6 3 B) 3 6 C) 编译出错 D) 0 034、下面程序的输出结果是main()int a =1,2,3,4,5,6,7,8,9,0,*p;p=a;printf("%dn",*p+9);A) 0 B) 1 C) 10 D) 935、当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中的值36、设有以下说明语句struct ex int x ; float y; char z ; example;则下面的叙述中不正确的是A) struct结构体类型的关键字 B) example是结构体类型名C) x,y,z都是结构体成员名 D) struct ex是结构体类型37、以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和 static B) auto和 registerC) register和 static D) extern和 register38、若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A) EOF B) 1 C) 非零值 D) NULL39、以下程序的输出结果是main() int i, k, a10, p3;k=5;for (i=0;i<10;i+) ai =i;for (i=0;i<3;i+) pi =ai *(i+1);for (i=0;i<3;i+) k+=pi *2;printf("%dn",k);A) 20 B) 21 C) 22 D) 2340、以下程序的输出结果是main() int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+) printf("%d,",xi2-i);A) 1,5,9 B) 1,4,7 C) 3,5,7 D) 3,6,941、以下程序的输出结果是main() int a33= 1,2,3,4,5,6 ,i,j,s=0;for(i=1;i<3;i+) for(j=0;j<=i;j+)s+=aij;printf("%dn",s);A) 18 B) 19 C) 20 D) 2142、以下程序的输出结果是main() char w10= "ABCD","EFGH","IJKL","MNOP",k;for(k=1;k<3;k+) printf("%sn",wk);A) ABCDFGHKLB) ABCD EFG IJ MC) EFGJKOD) EFGHIJKL 43、当执行下面的程序时,如果输入ABC,则输出结果是#include "stdio.h"#include "string.h"main() char ss10="1,2,3,4,5"gets(ss); strcat(ss, "6789"); printf("%sn",ss);A) ABC6789 B) ABC67 C)12345ABC6 D) ABC44、假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为main( int argc, char *argv) while(-argc>0) printf("%s",argvargc);printf("n");A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH45、以下程序的输出结果是long fun( int n) long s;if(n= =1 | n= =2) s=2;else s=n-fun(n-1);return s;main() printf("%ldn", fun(3); A) 1 B) 2 C) 3 D) 446、以下程序的输出结果是#define SQR(X) X*Xmain() int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("dn",a);A) 16 B) 2 C) 9 D) 147、若定义了以下函数:void f()*p=(double *)malloc( 10*sizeof( double);p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A) double *p B) float *p C) double *p D) float *p48、以下程序的输出是struct st int x; int *y; *p;int dt4= 10,20,30,40 ;struct st aa4= 50,&dt0,60,&dt0,60,&dt0,60,&dt0,;main() p=aa;printf("%dn",+(p->x);A) 10 B) 11 C) 51 D) 6049、假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A) free(q); p->next=q->next;B) (*p).next=(*q).next; free(q);C) q=(*q).next; (*p).next=q; free(q);D) q=q->next; p->next=q; p=p->next; free(p);50、以下程序的输出结果是main() int x=0.5; char z='a'printf("%dn", (x&1)&&(z<'z') ); A) 0 B) 1 C) 2 D) 3答案:CCCCC BADDCCCABC DBDACCBBDA CCDCCACBCB BBCBCADADA BCCBB