模拟卷六.docx

上传人:b****3 文档编号:4311887 上传时间:2022-11-29 格式:DOCX 页数:17 大小:20.71KB
下载 相关 举报
模拟卷六.docx_第1页
第1页 / 共17页
模拟卷六.docx_第2页
第2页 / 共17页
模拟卷六.docx_第3页
第3页 / 共17页
模拟卷六.docx_第4页
第4页 / 共17页
模拟卷六.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

模拟卷六.docx

《模拟卷六.docx》由会员分享,可在线阅读,更多相关《模拟卷六.docx(17页珍藏版)》请在冰豆网上搜索。

模拟卷六.docx

模拟卷六

综合模拟试卷(六)

一、选择题

(1)在设计程序时,应采纳的原则之一是

A)不限制goto语句的使用

B)减少或取消注解行

C)程序越短越好

D)程序结构应有助于读者理解

(2)程序设计语言的基本成分是数据成分、运算成分、控制成分和

A)对象成分

B)变量成分

C)语句成分

D)传输成分

(3)下列叙述中正确的是

A)C语言编译时不检查语法

B)C语言的子程序有过程和函数两种

C)C语言的函数可以嵌套定义

D)C语言的函数可以嵌套调用

(4)在C语言中,退格符是

A)\n

B)\t

C)\f

D)\b

(5)以下叙述中正确的是

A)构成C程序的基本单位是函数

B)可以在一个函数中定义另一个函数

C)main()函数必须放在其他函数之前

D)所有被调用的函数一定要在调用之前进行定义

(6)在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。

在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。

A)1  0

B)0 1

C)非0 非0

D)1 1

(7)在C语言中,运算对象必须是整型数的运算符是

A)%

B)\

C)%和\

D)**

(8)字符型数据在机器中是用ASCII码表示的,字符“5”和“7”在机器中表示为

A)10100011和01110111

B)01000101和01100011

C)00110101和00110111

D)01100101和01100111

(9)若已定义:

inta=25,b=14,c=19;以下三目运算符(?

)所构成语句的执行后

a<=25&&b--<=2&&c?

printf("***a=%d,b=%d,c=%d\n",a,b,c):

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

程序输出的结果是

A)***a=25,b=13,c=19

B)***a=26,b=14,c=19

C)###a=25,b=13,c=19

D)###a=26,b=14,c=19

(10)若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是

A)2.500000

B)2.750000

C)3.500000

D)0.000000

(11)若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是

#include

voidmain()

{

charc;

  intv0=1,v1=0,v2=0;

  do{

switch(c=getchar())

  {case′a′:

case′A′:

  case′e′:

case′E′:

  case′i′:

case′I′:

  case′o′:

case′O′:

  case′u′:

case′U′:

v1+=1;

  default:

v0+=1;v2+=1; 

  }while(c!

=′\n′);

  printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);

}

A)v0=7,v1=4,v2=7

B)v0=8,v1=4,v2=8

C)v0=11,v1=4,v2=11

D)v0=13,v1=4,v2=12

(12)设有以下程序段

intx=0,s=0;

  while(!

x!

=0)s+=++x;

  printf("%d",s);

  则

A)运行程序段后输出0

B)运行程序段后输出1

C)程序段中的控制表达式是非法的

D)程序段执行无限次

(13)有如下程序

voidmain()

{

floatx=2.0,y;

  if(x<0.0)y=0.0;

  elseif(x>10.0)y=1.0/x;

  elsey=1.0;

  printf("%f\n",y);

}

  该程序的输出结果是

A)0.000000

B)0.250000

C)0.500000

D)1.000000

(14)执行下面的程序段后,变量k中的值为

intk=3,s[2];

  s[0]=k;k=s[1]*10;

A)不定值

B)33

C)30

D)10

(15)以下程序段的描述,正确的是

x=-1;

  do

  {x=x*x;}

  while(!

x);

A)是死循环

B)循环执行两次

C)循环执行一次

D)有语法错误

(16)以下选项错误的是

A)main()

 {intx,y,z;

  x=0;y=x-1;

  z=x+y;}

B)main()

 {intx,y,z;

  x=0,y=x+1;

  z=x+y;}

C)main()

 {intx;int

  inty;

x=0,y=x+1;

  z=x+y;}

D)main()

 {intx,y,z;

  x=0;y=x+1;

  z=x+y,}

(17)有如下程序段

inta=14,b=15,x;

  charc=′A′;

  x=(a&&b)&&(c<′B′);

  执行该程序段后,x的值为

A)ture

B)false

C)0

D)1

(18)下列程序执行后的输出结果是

voidfunc1(inti);

  voidfunc2(inti);

  charst[]="hello,friend!

";

  voidfunc1(inti)

{

printf("%c",st[i]);

  if(i<3){i+=2;func2(i);}

}

  voidfunc2(inti)

{

printf("%c",st[i]);

  if(i<3){i+=2;func1(i);}

}

  voidmain()

{

inti=0;

func1(i);

printf("\n");

}

A)hello

B)hel

C)hlo

D)hlm

(19)以下函数返回a所指数组中最大值所在的下标值

fun(int*a,intn)

{

inti,j=0,p;

  p=j;

  for(i=j;i

  if(a[i]>a[p])_________;

  return(p);

}

  在下划线处应填入的内容是

A)i=p

B)a[p]=a[i]

C)p=j

D)p=i

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

#include

  voidprt(int*x,int *y,int *z)

{

printf("%d,%d,%d\n",++*x,++*y,*(z++));

}

  voidmain()

{

inta=10,b=40,c=20;

  prt(&a,&b,&c);

  prt(&a,&b,&c);

}

A)11,42,31

 12,22,41

B)11,41,20

  12,42,20

C)11,21,40

  11,21,21

D)11,41,21

  12,42,22

(21)若有函数内部说明:

inta[3][4];则数组a中各元素

A)可在程序的运行阶段得到初值0

B)可在程序的编译阶段得到初值0

C)不能得到确定的初值

D)可在程序的编译或运行阶段得到初值0

(22)定义如下变量和数组:

  intk;

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

  则下面语句的输出结果是

  for(k=0;k<3;k++)printf("%d",a[k][k]);

A)753

B)951

C)963

D)741

(23)下列程序执行后的输出结果是

voidmain()

{

chararr[2][4];

  strcpy(arr,"you");

strcpy(arr[1],"me");

  arr[0][3]=′&′;

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

}

A)you&me

B)you

C)me

D)err

(24)有以下函数

charfun(char*p)

  {returnp;}

  该函数的返回值是

A)无确切的值

B)形参p中存放的地址值

C)一个临时存储单元的地址

D)形参p自身的地址值

(25)以下正确的说法是

A)定义函数时,形参的类型说明可以放在函数体内

B)return后边的值不能为表达式

C)如果函数值的类型与返回值类型不一致,以函数值类型为准

D)如果形参与实参类型不一致,以实参类型为准

(26)有以下程序

  intf(intn)

{

if(n==1)return1;

  elsereturnf(n-1)+1;

}

  voidmain()

{

inti,j=0;

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

j+=f(i);

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

}

  程序运行后的输出结果是

A)4

B)3

C)2

D)1

(27)设有如下定义:

strucksk

  {inta;

  floatb;

  }data;

  int*p;

  若要使P指向data中的a域,正确的赋值语句是

A)p=&a;

B)p=data.a;

C)p=&data.a;

D)*p=data.a;‘

(28)若说明int*p,n;则通过语句scanf能够正确读入数据的程序段是

A)p=&n;scanf("%d",&p);

B)p=&n;scanf("%d",*p);

C)scanf("%d",n);

D)p=&n;scanf("%d",p);

(29)在下述程序中,判断i>j共执行的次数是

voidmain()

{

inti=0,j=10,k=2,s=0;

  for(;;)

  {i+=k;

  if(i>j)

  {printf("%d",s);

  break;

  }

s+=i;

  }

  }

A)4

B)7

C)5

D)6

(30)以下4个选项中,不能看做一条语句的是

A);

B)a=5,b=2.5,c=3.6;

C)if(a<5);

D)if(b!

=5)x=2;y=6;

(31)在C语言中,变量的隐含存储类别是

A)auto

B)static

C)extern

D)无存储类别

(32)若有以下程序

#include

  voidf(intn);

  voidmain()

  {voidf(intn);

  f(5);

  }

  voidf(intn)

  {printf("%d\n",n);}

  则以下叙述中不正确的是

A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f

C)对于以上程序,编译时系统会提示出错信息:

提示对f函数重复说明

D)函数f无返回值,所以可用void将其类型定义为无返回值型

(33)若有下面的说明和定义

structtest

  {intml;charm2;floatm3;

  unionuu{charul[5];intu2[2];}ua;

  }myaa;

  则sizeof(structtest)的值是

A)12

B)16

C)14

D)9

(34)以下程序的输出是

structst

  {intx;int*y;}*p;

  intdt[4]={10,20,30,40};

  structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};

  voidmain()

{

p=aa;

  printf("%d\n",++(p->x));

  }

A)10

B)11

C)51

D)60

(35)若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是

A)sizeof,&=,<<,^

B)sizeof,<<,^,&=

C)^,<<,sizeof,&=

D)<<,^,&=,sizeof

(36)函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是

A)文件开始

B)文件末尾

C)文件当前位置

D)以上都不对

(37)有以下程序

#include

  voidmain()

{

FILE*fp;inti=20,j=30,k,n;

  fp=fopen("d1.dat","w");

  fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);

  fclose(fp);

  fp=fopen("d1.dat","r");

  fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

  fclose(fp);

  }

  程序运行后的输出结果是

A)2030

B)2050

C)3050

D)3020

二、填空题

(1)以下程序的运行结果是【1】。

#defineMAX(a,b)(a>b?

a:

b)+1

voidmain()

{

inti=6,j=8,k;

printf("%d\n",MAX(i,j));

}

(2)以下程序的功能是从健盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束。

请填空。

voidmain()

{

floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(【2】)

{if(x>amax)

amax=x;

else

if【3】

amin=x;

 else

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

(3)在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是【4】

(4)在计算机中,字符的比较是对它们的【5】进行比较。

(5)在内存中,存储字符′x′要占用1个字节,存储字符串″X″要占用【6】个字节。

(6)下列程序的输出结果是16.00,请填空。

voidmain()

{

inta=9,b=2;

floatx=【7】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

(7)设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【8】。

要求形参名为b。

voidmain()

{

doubles[10][22];

intn;

fun(s);

}

(8)下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空。

voidmain()

{

inti,x,y=1;

scanf("%d",&x);

for(i=2;i<=x/2;i++)

if【9】{y=0;break;}

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

}

(9)下面程序的功能是将一个字符串str的内容颠倒过来,请填空。

voidmain()

{

inti,j,【10】;

charstr[]={"1234567"};

for(i=0,j=strlen(str)【11】;i

{k=str[i];str[i]=str[j];str[j]=k;}

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

}

(10)以下程序可把输入的十进制数以十六进制数的形式输出,请填空。

voidmain()

{

charb[17]={"0123456789ABCDEF"};

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

longn;

printf("Enteranumber:

\n");

scanf("%ld",&n);

do{c[i]=【12】;i++;n=n/base;

}while(n!

=0);

printf("Transmitenewbase:

\n");

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

{d=c[i];printf("%c",b【13】);}

printf("\n");

}

(11)若给fun函数的形参s传送字符串:

“]]6354abcc”(其中]表示空格字符),则函数的返回值是【14】。

longfun(chars[])

{

longn;intsign;

for(;isspace(*s);s++);

sign=(*s==′-′)?

-1:

1;

if(*s==′+′||*s==′-′)s++;

for(n=0;isdigit(*s);s++)

n=10*n+(*s-′0′);

returnsign*n;

}

(12)设有定义“struct{inta;floatb;charc;}abc,*p_abc=&abc;”,则对结构体成员a的引用方法可以是abc.a和p_abc【15】a。

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

当前位置:首页 > PPT模板 > 动物植物

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

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