教育技术c语言模拟习题集doc.docx

上传人:b****4 文档编号:5435119 上传时间:2022-12-16 格式:DOCX 页数:40 大小:35.30KB
下载 相关 举报
教育技术c语言模拟习题集doc.docx_第1页
第1页 / 共40页
教育技术c语言模拟习题集doc.docx_第2页
第2页 / 共40页
教育技术c语言模拟习题集doc.docx_第3页
第3页 / 共40页
教育技术c语言模拟习题集doc.docx_第4页
第4页 / 共40页
教育技术c语言模拟习题集doc.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

教育技术c语言模拟习题集doc.docx

《教育技术c语言模拟习题集doc.docx》由会员分享,可在线阅读,更多相关《教育技术c语言模拟习题集doc.docx(40页珍藏版)》请在冰豆网上搜索。

教育技术c语言模拟习题集doc.docx

教育技术c语言模拟习题集doc

一、选择题(

(1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)

下列各题A)、B)、C)、D)、四个有选项中,只有一个选项是正确的,请将正确选项

涂写在答题卡相应位置上,答在试卷上不得分

(1)通常所说的主机主要包括

A)CPUB)CPU和内存

C)CPU、内存与外存D)CPU、内存与硬盘

(2)在微机系统中,最基本的输入输出模块BIOS存放在

A)RAM中B)ROM中C)硬盘中D)寄存器中

(3)一个24*24点阵的汉字字形信息所占的字节数为

A)2B)24C)32D)72

(4)bit的意思是

A)字B)字长C)字节D)二进制位

(5)某学校的工资管理程序属于

A)系统程序B)应用程序

C)工具软件D)文字处理软件

(6)与十六进制数BB等值的十进制数是

A)187B)188C)185D)186

(7)设一张软盘已染上病毒,能清除病毒的措施是

A)删除该软盘上的所有文件B)格式化该软盘

C)删除该软盘上的所有可执行文件C)删除该软盘上的所有批处理文件

(8)一张3.5英寸双面高密度软盘片的容量为

A)360KBB)720KBC)1.44MBD)1.2MB

(9)与二进制小数0.1等值的十六进制小数为

A)0.1B)0.2C)0.4D)0.8

(10)DOS系统的热启动与冷启动的不同之处为热启动时

A)不检测键盘、处设接口与内存B)不提示用户输入日期与时间

C)不用装入COMMAND.COM文件D)不能从软盘启动

(11)为了将磁盘上的文件K1,K2,K3,依次连接在文件K4的后面,应使用命令

A)COPYK1+K2+K3K4B)COPYK1+K2+K3+K4

C)COPYK1+K2+K3+K4K4D)COPYK4+K1+K2+K3

(12)下列文件名中可以作为批处理文件名的是

A)AUTOEXC.CB)AUTOEXEC

C)ATX.BATD)AUTO.TXT

(13)要打印输出当前盘的根目录下所有文件与子目录清单,应使用命令

A)DIR\PRNB)TYPE\PRN

C)DIRPRNC)TYPEPRN

(14)设可执行文件ABC.EXE所需要的本该由键盘输入的数据已经按格式存放在文

件XYZ中,并要求执行结果放在文件XYZ中输入数据的后面.下列命令中正

确的是

A)ABCXYZB)ABCXYZ

C)ABC

(15)设当前盘中某一目录路径为\A\B\C,当前目录为\A.下列命令中肯定出错的是

A)MD\A\CB)CDC)MD\A\B\AD)MD\A\B

(16)设A盘的目录结构如下:

根目录

┌─────┬┴──┬───┬───┬────┐

││││││

ABCD1子目录DX.CQ.DATD2子目录A.FOR

││

┌────┬─┴──┬───┐┌───┬───┐

│││││││

B.PASD3子目录Y.BASA.CA1.CD4子目录XYZ.C

┌────┬────┬────┐

││││

QR.CNA.CA.TXTB.C

如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定

中,合法的是

A)\D2\D4\QR.CB)D4\QR.C

C)A:

D4\QR.CD)A:

D2\D4\QR.C

(17)下列DOS命令中,有错误的是

A)TYPEAAB.FORCONB)TYPE?

AB.FOR

C)COPY*.CCOND)COPYCONPRN

(18)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下

的文件XYZ.TXT的后面,正确的命令是

A)COPYC:

\XYZ.TXT+AB1.TXT

B)COPYAB1.TXTC:

\XYZ.TXT

C)TYPEAB1.TXTC:

\XYZ.TXT

D)AB1.TXT+C:

\XYZ.TXTC:

\XYZ.TXT

(19)下列命令中合法的是

A)DISKCOPYA:

A:

B)DISKCOPYA:

C:

C)DISKCOPYC:

A:

D)DISKCOPYC:

D:

(20)设当前盘中某一目录路径为\A\B\C\D\XU,当前目录为\A.要将根目录下扩展名

为.C的所有文件复制到当前目录下,并将扩展名改为.FOR,应使用命令

A)COPY\*.C*.FORB)COPY*.C\A\*.FOR

C)COPY*.FOR\*.CD)COPY\A\*.C*.FOR

(21)下列不正确的转义字符是

A)'\\'B)'\"C)'074'D)'\0'

(22)若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为

A)floatB)intC)charD)double

(23)表示关系x<=y<=z的c语言表达式为

A)(X<=Y)&&(Y<=Z)B)(X<=Y)AND(Y<=Z)

C)(X<=Y<=Z)D)(X<=Y)&(Y<=Z)

(24)设a=1,b=2,c=3,d=4,则表达式:

a

A)4B)3C)2D)1

(25)设x为int型变量,则执行以下语句后,x的值为

x=10;x+=x-=x-x;

A)10B)20C)40D)30

(26)下列可作为C语言赋值语句的是

A)x=3,y=5B)a=b=6

C)i--;D)y=int(x);

(27)设x,y,z,t均为int型变量,则执行以下语句后,t的值为

x=y=z=1;

t=++x||++y&&++z;

A)不定值B)2C)1D)0

(28)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋给i和f,则正确的输入为

A)100765.12B)i=100,f=765.12

C)100765.12D)x=100y=765.12

(29)设x和y均为int型变量,则执行下的循环后,y值为

for(y=1,x=1;y<=50;y++)

{if(x=10))break;

if(x%2==1)

{x+=5;continue;}

x-=3;

}

A)2B)4C)6D)8

(30)给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为

A)数组X和数组Y等价B)数组x和数组Y的长度相同

C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度

(31)以下叙述中不正确的是

A)在不同的函数中可以使用相同名字的变量

B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效

(32)假定a和b为int型变量,则执行以下语句后b的值为

a=1;b=10;

do

{b-=a;a++;}

while(b--<0);

A)9B)-2C)-1D)8

(33)设j为int型变量,则下面for循环语句的执行结果是

for(j=10;j3;j--)

{if(j%3)j--;

--j;--j;

printf("%d",j);

}

A)63B)74C)62D)73

(34)设有以下宏定义:

#defineN3

#defineY(n)((N+1)*n)

则执行语句:

z=2*(N+Y(5+1));后,z的值为

A)出错B)42C)48D)54

(35)设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确

执行的语句是

A)k=*P1+*P2;B)p2=k;C)P1=P2;D)K=*P1*(*P2);

(36)设有如下定义:

intarr[]={6,7,8,9,10};

int*ptr;

则下列程序段的输出结果为

ptr=arr;

*(ptr+2)+=2;

printf("%d,%d\n",*ptr,*(ptr+2));

A)8,10B)6,8C)7,9D)6,10

(37)以下程序的输出结果是

main()

{inti,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)20B)21C)22D)23

(38)执行以下程序段后,m的值为

inta[2][3]={{1,2,3},{4,5,6}};

intm,*p;

p=&a[0][0];

m=(*p)*(*(p+2))*(*(p+4));

A)15B)14C)13D)12

(39)有以下程序段

chararr[]="ABCDE";

char*ptr;

for(ptr=arr;ptr

输出结果是

A)ABCDB)AC)ED)ABCDE

BDBCDE

CCCDE

DBDE

EAE

(40)有以下程序

main()

{intx,i;

for(i=1;i<=50;i++)

{x=i;

if(++x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d,i);

}

}

输出结果是

A)28B)27C)42D)41

(41)有下列程序

#include

main()

{union

{intk;

chari[2];

}*s,a;

s=&a;

s-i[0]=0x39;s-i[1]=0x38;

printf("%x\n",s-k);

}

输出结果是

A)3839B)3938C)380039D)390038

(42)有以下程序

#include

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

printf("%d,%d\n",a,b);

}

输出结果是

A)2,1B)3,2C)4,3D)2,-1

(43)设有如下定义:

int(*ptr)*();

则以下叙述中正确的是

A)ptr是指向一维组数的指针变量

B)ptr是指向int型数据的指针变量

C)ptr是指向函数的指针,该函数返回一个int型数据

D)ptr是一个函数名,该函数的返回值是指向int型数据的指针

(44)有以下程序

#include

structstu

{intnum;

charname[10];

intage;

};

voidfun(structstu*p)

{printf("%s\n",(*p).name);}

main()

{

structstustudents[3]={{9801,"Zhang",20},

{9802,"Wang",19},

{9803,"Zhao",18}};

fun(students+2);

}

输出结果是

A)ZhangB)ZhaoC)WangD)18

(45)设有以下说明和定义:

typedefunion

{longi;intk[5];charc;}DATE;

structdate

{intcat;DATEcow;doubledog;}too;

DATEmax;

则下列语句的执行结果是

printf("%d",sizeof(structdate)+sizeof(max));

A)26B)30C)18D)8

(46)有以下程序

main()

{chara[]="programming",b[]="language";

char*p1,*p2;

inti;

p1=a;p2=b;

for(i=0;i<7;i++)

if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));

}

输出结果是

A)gmB)rgC)orD)ga

(47)有以下程序

viodfun(inta,intb,intc)

{a=456;b=567;c=678;}

main()

{intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,/%d\n",c,d);

}

输出结果是

A)30,20,10B)10,20,30

C)456,567,678D)678,567,456

(48)有以下程序

intfun(intx,inty,int*cp,int*dp)

{*cp=x+y;*dp=x-y;}

main()

{inta,b,c,d;

a=30;b=50;

fun(a,b,&c,&d);

printf("%d,%d\n",c,d);

}

输出结果是

A)50,30B)30,J50C)80,-20D)80,20

(49)有以下程序

main()

{inti,j;

for(j=10;j<11;j++)

{for(i=9;i

if(!

(j%i))break;

if(i=j-1)printf("%d",j);

}

}

输出结果是

A)11B)10C)9D)1011

(50)有以下程序

#include"atdio.h"

intabc(intu,intv);

main()

{inta=24,b=16,c;

c=abc(a,b);

printf('%d\n",c);

}

intabc(intu,intv)

{intw;

while(v)

{w=u%v;u=v;v=w}

returnu;

}

输出结果是

A)6B)7C)8D)9

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡

(1)-(20)序号的横线上,答在试卷上不得分.

(1)自动批自理文件名为_______.

(1)

(2)DOS命令分为内部命令与外部命令,COMP命令属于_______

(2)命令.

(3)设当前为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所有扩展名为

.DAT的文件内容.这一条DOS命令应为___(3).

(4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK的文件名改成扩展

名为.FOR,应使用的DOS命令为___(4).

(5)设DOS外部命令文件所在的路径均已用PATH命令打通.现要将当前盘当前目录下

的文件WST.TXT设置为只读属性,应使用的DOS命令为___(5).

(6)设x和y均为int型变量,且x=1,y=2,则以下表达式的值为___(6).

1.0+x/y

(7)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为___(7).

for(i=0,j=10;i<=j;i++,j--)k=i+j;

(8)设有以下定义的语句:

inta[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

则*(*(p+2)+1)值为___(8).

(9)以下程序的输出结果是___(9).

#include

intfun(intx,inty)

{staticintm=0,i=2;

i+=m+1;

m=i+x+y;

returnm

}

main()

{intj=4,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

(10)函数fun的功能是:

使一个字符串按逆序存放,请填空

voidfun(charstr[])

{charm;inti,j;

for(i=0,j=strlen(str);i<____(10);i++,j--)

{m=str[i];

str[i]=___(11);

str[j-1]=m;

}

printf("%s\n",str);

}

(11)以下程序的功能是:

从键盘上输入一行字符,存入一个字符数组中,然后输出该

字符串,请填空.

#include"ctype.h"

#include"stdio.h"

main()

{charstr[81],*sptr;

inti;

for(i=0;i<80;i++)

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=____(12);

sptr=str;

while(*sptr)putchar(*sptr____(13));

}

(12)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中

第一个不相同字符的ASCII码之差.例如:

输入的两个字符串分别为abcdef和

abceef,则输出为-1.请填空.

#include

main()

{charstr[100],str2[100],c;

inti,s;

printf("\ninputstring1:

\n");gest(str1);

printf("\ninputstring2:

\n");gest(str2);

i=0;

while((strl[i]==str2[i]&&(str1[i]!

=____(14)))

i++;

s=____(15);

printf("%d\n",s);

}

(13)以下程序的功能是:

从键盘上输入一个字符串,把该字符串中的小写字母转换

为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来.请

填空.

#include

main()

{FILE*fp;

charstr[100];inti=0;

if((fp=fopen("text.txt",____(16)))==NULL)

{printf("can'topenthisfile.\n");exit(0);}

printf("inputastring:

\n");gest(str);

while(str[i])

{if(str[i]='a'&&str[i]<='z')

str[i]=____(17);

fputc(str[i],fp);

i++;

}

fclose(fp);

fp=fopen("test.txt",____(18));

fgets(str,100,fp);

printf("%s\n",str);

fclose(fp);

}

(14)以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制形式输出

请填空.

#include.

main()

{charb[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C'

'D','E','F'};

intc[64],d,i=0,base;

longn;

printf("enteranumber:

\n");scanf("%ld",&n);

printf("enternewbase:

\n");scanf("%d",&base);

do

{c[i]=____(19);

i++;n=n/base;

}while(n!

=0);

printf("transmitenewbase:

\n");

for(--i;i=0;--i)

{d=c[i];

printf("%c",b____(20);

}

}

试题答案

一.选择题(

(1)~(40)题每题1分;(41)~(50)题每题2分)

(1)B

(2)B(3)D(4)D(5)B

(6)A(7)B(8)C(9)D(10)A

(11)D(12)C(13)A(14)B(15)D

(16)C(17)B(18)A(19)A(20)A

(21)C(22)D(23)A(24)D(25)B

(26)C(27)C(28)B(29)C(30)C

(31)D(32)D(33)B(34)C(35)B

(36)D(37)B(38)A(39)D(40)D

(41)A(42)A(43)C(44)B(45)B

(46)D(47)A(48)C(49)B(50)C

二,填空题(每空2分,共4分)

(1)至(5)题中所有字母都允许大,小写或大小写混合

(1)1AUTOEXEC.BAT

(2)2外部(答外部命令不扣分)

(3)3COPYA:

*.DATPRN

(在COPY后面与A:

*.DAT后面都至少要有一个空格)

(4)4RENXYZ\*.BAK*.FOR或RENAMEXYZ\*.BAK*.FOR

(在REN或RENAME后面与XYZ\*.BAK后面都至少要有一个空格)

(5)5ATTRIB+RWST.TXT

(在ATTRIB后面与+R后面都至少有一个空格)或ATTRIBWST.TXT+R(在ATTRIB

后面与WST.TXT后面都至少要有一个空格)

(6)61.0或1

(7)710

(8)860

(9)98,17

(10)10strlen(str)/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1

11str

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1