C语言程序设计模拟试题三(含答案)
1、计算机的存储器完整的应包括
A) 软盘、硬盘 B) 磁盘、磁带、光盘
C) 内存储器、外存储器 D) RAMROM
2、计算机中运算器的作用是
A) 控制数据的输入/输出
B) 控制主存与辅存间的数据交换
C) 完成各种算术运算和逻辑运算
D) 协调和指挥整个计算机系统的操作
3、软磁盘处于写保护状态时,其中记录的信息
A) 绝对不会丢失
B) 不能被擦除,但能追加新信息
C) 不能通过写磁盘操作被更新
D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除
4、光盘根据基制造材料和记录信息的方式不同,一般可分为
A) CDVCD
B) CDVCDDVDMP3
C) 只读光盘、可一次性写入光盘、可擦写光盘
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)
C) TYPE pro.c>PRN
D)
10、下列更改文件名的命令中正确的是
A) REN A:file1 C:F1
B) RENAME A: A:file1 C:F1
C) REN A:file1 F1
D) REN A:file1 \\SUB\\F1
11、已知A一个完整的c语言程序盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:
CD\DOS
MD USER
CD USER
A盘启动DOS系统后,A盘的当前目录是
A) \\DOS B) \\DOS\\USER
C) \\ D) \\USE
12MS-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) default
19、以下变量x.yz均为double类型且已正确赋值,不能正确表示数学式子x/(y*z) C语言表达式是
A) x/y*z B) x*(1/(y*z))
C) x/y*1/z D) x/y/z
20、若aint类型,且其值为3,则执行完表达式 a+=a-=a*a后,a的值是
A) -3 B) 9
C) -12 D) 6
21、设xyt均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,
y的值为
A) 不定值 B) 4
C) 3 D) 1
22、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);a赋于10.0b赋予22.0c赋予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("%d\n",n);
else printf("%d\n",n--);
}
A) 11 B) 10
C) 9 D) 8
24、若a bc1c2xy、均是整型变量,正确的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;break
case 3:case 4:x=a+b;
break;
case 10:case 11:y=a-b;
break;
}


25、有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是
A) 无限次
B) 有语法错,不能执行
C) 一次也不执行
D) 执行1
26、以下程序执行后sum的值是
min()
{ int i , sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}
A) 15 B) 14
C) 不确定 D) 0
27、有以下程序段
int x=3
do
{ printf("%d",x-=2); }
while (!(--x));
其输出结果是
A) 1 B) 3 0
C) 1 -2 D) 死循环
28、若变量cchar类型,能正确判断出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 2
32、下列程序的输出结果是
main()
{char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf("%d",*--p);
}
A) 非法 B) a[4]的地址
C) 5 D) 3
33、下列程序的运行结果是
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 0
34、下面程序的输出结果是
main()
{int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf("%d\n",*p+9);
}
A) 0 B) 1
C) 10 D) 9
35、当调用函数时,实参是一个数组名,则向函数传送的是
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 register
C) register static
D) extern register
38、若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是
A) EOF B) 1
C) 非零值 D) NULL
39、以下程序的输出结果是
main()
{ int i, k, a[10], p[3];
k=5;
for (i=0;i<10;i++) a[i ]=i;
for (i=0;i<3;i++) p[i ]=a[i *(i+1)];
for (i=0;i<3;i++) k+=p[i] *2;
printf("%d\n",k);
}
A) 20 B) 21
C) 22 D) 23
40、以下程序的输出结果是
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d,",x[i][2-i]);
}
A) 1,5,9 B) 1,4,7
C) 3,5,7 D) 3,6,9
41、以下程序的输出结果是
main()
{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%dn",s);
}
A) 18 B) 19 C) 20 D) 21
42、以下程序的输出结果是
main()
{ char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++)
printf("%s\n",w[k]);
}
A) ABCD
FGH
KL
B) ABCD
EFG
IJ
M
C) EFG
JK
O
D) EFGH
IJKL

43、当执行下面的程序时,如果输入ABC,则输出结果是
#include "stdio.h"
#include "string.h"
main()
{ char ss[10]="1,2,3,4,5";
gets(ss); strcat(ss, "6789");
printf("%s\n",ss);
}
A) ABC6789 B) ABC67
C)12345ABC6 D) ABC456789
44、假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROG ABCDEFGH IJKL<回车>
则输出结果为
main( int argc, char *argv[]))
{ while(--argc>0) printf("%s",argv[argc]);
printf("\n");
}
A) ABCDEFG B) IJHL
C) ABCDEFGHIJKL D) IJKLABCDEFGH
45、以下程序的输出结果是
long fun( int n)
{ long s;
if(n= =1 || n= =2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf("%ld\n", fun(3)); }
A) 1 B) 2
C) 3 D) 4
46、以下程序的输出结果是
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf("d\n",a);
}
A) 16 B) 2
C) 9 D) 1
47、若定义了以下函数:
void f(……)
{……
*p=(double *)malloc( 10*sizeof( double));
……
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是
A) double *p B) float **p
C) double **p D) float *p
48、以下程序的输出是
struct st
{ int x; int *y;} *p;
int dt[4]={ 10,20,30,40 };
struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{ p=aa;
printf("%d\n",++(p->x));
}
A) 10 B) 11
C) 51 D) 60
49、假定建立了以下链表结构,指针pq分别指向如图所示的结点,则以下可以将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("%d\n", (x&1)&&(z<'z') ); }
A) 0 B) 1
C) 2 D) 3

答案:
CCCCC BADDC
CCABC DBDAC
CBBDA CCDCC
ACBCB BBCBC
ADADA BCCBB

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。