模拟卷十二.docx

上传人:b****6 文档编号:5953454 上传时间:2023-01-02 格式:DOCX 页数:19 大小:19.82KB
下载 相关 举报
模拟卷十二.docx_第1页
第1页 / 共19页
模拟卷十二.docx_第2页
第2页 / 共19页
模拟卷十二.docx_第3页
第3页 / 共19页
模拟卷十二.docx_第4页
第4页 / 共19页
模拟卷十二.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

模拟卷十二.docx

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

模拟卷十二.docx

模拟卷十二

综合模拟试卷(十二)

一、选择题

(1)程序的3种基本控制结构是

A)过程、子过程和分程序  B)顺序、选择和重复

C)递归、堆栈和队列   D)调用、返回和转移

(2)算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是

A)有零个输入或多个输入

B)高效性

C)有穷性

D)确定性

(3)已知inta=6;则执行a+=a-=a*a;语句后,a的值为

A)36

B)0

C)-24

D)-60

(4)下面各选项中,均是C语言标识符的选项组是

A)forchinato

B)long_123short56_do

C)voidunion_342

D)text.txt_023_3ew

(5)下列表达式中,结果为5的是

A)6*5%6

B)5*-2+15

C)5+75_

D)6+-2/3

(6)下列常量中,为不合法的实型常量表示的是

A).0032

B)0.0

C)0.3242E8

D).E3

(7)关于C语言的主函数描述正确的是

A)C程序可以有多个main函数

B)C程序必有一个而且只能有一个main函数

C)C程序可以没有main函数

D)C程序的执行不一定在main函数开始执行

(8)已知inta=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是

A)-1

B)0

C)1

D)语句错误

(9)已知inta,b;doublec;则以下语句中错误的函数调用是

A)scanf("%d,%x,%lf",&a,&b,&c);

B)scanf("%d,%d,%le",&a,&b,&c);

C)scanf("%o,%x,%o",&a,&b);

D)scanf("%d,%o,%e",&a,&b,&c);

(10)已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为

A)1

B)2

C)3

D)4

(11)若intk=8;则执行下列程序后,变量k的正确结果是

voidmain()

{

intk=8;

  switch(k)

  {case9:

k+=1;

  case10:

k+=1;

  case11:

k+=1;break;

  default:

k+=1;

}

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

}

A)12

B)11

C)10

D)9

(12)若inti,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是

A)9

B)8

C)3

D)2

(13)下列程序的输出结果是

#include"stdio.h"

  voidmain()

{

inti=6;

  while(i--)

  printf("%d",--i);

  printf("\n");

}

A)531

B)420

C)654321

D)死循环

(14)阅读下列程序,则执行结果是

#include"stdio.h"

  voidmain()

{

inta=0,b=0,c=0,i;

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

  switch(i)

  {case0:

a=i++;

  case1:

b=i++;

  case2:

c=i++;

  case3:

i++;

}

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

}

A)0,1,3,4

B)1,2,3,4

C)0,1,2,5

D)0,2,3,4

(15)已知charch=′C′;则以下表达式的值是

ch=(ch>=′A′&&ch<=′Z′)?

(ch+32):

ch;

A)A

B)a

C)Z

D)c

(16)以下描述错误的是

A)C程序中,函数可以直接或间接的调用自己

B)函数调用时,函数名必须与所调用的函数名字完全一致

C)函数说明语句中的类型必须与函数返回值的类型一致

D)实参数可以与形参个数不一致

(17)阅读下面程序,则执行后的结果为

#include"stdio.h"

  voidmain()

  {fun3(fun1(),fun2());}

  fun1()

{

intk=20;

  returnk;

}

  fun2()

{

inta=15;

  returna;

}

  fun3(inta,intb)

{

intk;

  k=(a-b)*(a+b);

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

}

A)0

B)184

C)175

D)编译不通过

(18)阅读下面程序,则执行后的输出结果为

#include"stdio.h"

  fun(inta,intb)

{

ints;

  s=a*b/2;

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

}

  voidmain()

{

inta=10,b=16;

  fun(a,b);

}

A)10

B)16

C)160

D)80

(19)阅读下面程序,则程序执行后的结果为

#include"stdio.h"

  voidmain()

{

inta=4,b=6,c=7;

  doubled,fun(int,int,int);

  d=fun(a,b,c);

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

}

  doublefun(inta,intb,intc)

{

doubles;

  s=a%b*c;

  returns;

}

A)27

B)27.000000

C)28

D)28.000000

(20)下列不合法的指针变量的定义是

A)int*_k;

B)char*_245;

C)int*p;

D)double*5_is

(21)下列关于指针变量赋空值的说法错误的是

A)当赋空值的时候,变量指向地址为0的存储单元

B)赋值语句可以表达为变量名=′\0′;

C)赋值语句可以表达为变量名=0;

D)一个指针变量可以被赋空值

(22)阅读下面程序,则执行后输出的结果为

#include"stdio.h"

  voidfun(int*a,int*b)

{

intm;

  m=(*a+*b)*(*a+*b);

  m+=(*a-*b)*(*a-*b);

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

}

  voidmain()

{

inta=5,b=6,*x=&a,*y=&b;

  fun(x,y);

}

A)120

B)121

C)122

D)123

(23)阅读下面程序,则输出结果是

#include"stdio.h"

  voidfun(int*a,int*b)

{

intc=20,d=25;

  *a=c/3;

  *b=d/5;

}

  voidmain()

{

inta=3,b=5;

  fun(&a,&b);

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

}

A)6,5

B)5,6

C)20,25

D)3,5

(24)以下对一维数组c进行正确的定义初始化的语句是

A)intc[10]=0;

B)intc[10]={0}*10;

C)intc[1]={0,0,0,0,0,0,0};

D)intc[10]={0};

(25)以下二维数组c的定义形式是

A)intc[3][]

B)floatc[3,4]

C)doublec[3][4]

D)floatc(3)(4)

(26)阅读下列程序,则执行后输出的结果是

#include"stdio.h"

  intk=1;

  voidmain()

{

fun(k);

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

}

  fun(intk)

{

k++;

  k=k*6;

}

A)1

B)2

C)6

D)12

(27)已知#defineM2;的宏定义,执行语句k=M*5;后,k的值是

A)10

B)5

C)2

D)以上答案都不对

(28)已知:

intc[3][4];则对数组元素引用正确的是

A)c[1][4]

B)c[1.5][0]

C)c[1+0][0]

D)以上表达都错误

(29)现有如下程序段

#include"stdio.h"

  voidfun(int*a,int*b,int*c)

  {*c=*a+*b;}

  voidmain()

{

inta[2]={12,23},c;

  fun(a,a+1,&c);

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

}

  则程序的输出结果为

A)23

B)12

C)0

D)35

(30)若有以下语句,则正确的描述是

chara[]="toyou";

  charb[]={′t′,′o′,′y′,′o′,′u′};

A)a数组和b数组的长度相同

B)a数组长度小于b数组长度

C)a数组长度大于b数组长度

D)a数组等价于b数组

(31)已知:

chara[15],b[15]={"Ilovechina"};则在程序中能将字符串Ilovechina赋给数组a的正确语句是

A)a="Ilovechina";

B)strcpy(b,a);

C)a=b;

D)strcpy(a,b);

(32)阅读下面程序,则执行后的结果为

#include"stdio.h"

  voidmain()

{

char*str="abcdefghijklmnopq";

  while(*str++!

=′e′);

  printf("%c\n",*str);

}

A)f

B)a

C)e

D)q

(33)现有如下程序段

#include"stdio.h"

  intfun(intk,int*m)

{

if(k%3)*m=k*k;

  else*m=k/3;

}

  voidmain()

{

int(*p)(int,int*),m;

  p=fun;

  (*p)(78,&m);

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

}

  则程序段的输出结果为

A)24

B)25

C)26

D)27

(34)阅读下列程序,则执行后的输出结果为

#include"stdio.h"

  fun(intx)

{

if(x/2>0)fun(x/2);

  printf("%d",x%2);

}

  voidmain()

{

fun(20);

  putchar(′\n′);

}

A)11100

B)10100

C)10101

D)10110

(35)阅读如下程序段,则执行后程序的输出结果是

  voidmain()

{

structa{intx;inty;}num[2]={{20,5},{6,7}};

  printf("%d\n",num[0].x/num[0].y*num[1].y);

}

A)0

B)28

C)20

D)5

(36)阅读程序段,则执行后的输出结果为

#include"stdio.h"

  typedefunion{longx[2];

  inty[4];

  charz[8];

}atx;

  typedefstructaa{longx[2];

  inty[4];

  charz[8];

}stx;

  voidmain()

{

printf("union=%d,structaa=%d\n",sizeof(atx),sizeof(stx));

}

A)union=8,structaa=8

B)union=8,structaa=24

C)union=24,structaa=8

D)union=24,structaa=24

(37)阅读下列程序段

#include"stdio.h"

  typedefstructaa

  {inta;

  structaa*next;

}M;

  voidset(M*k,inti,int*b)

{

intj,d=0;

  for(j=1;j

  {

   k[j-1].next=&k[j];

  k[j-1].a=b[d++];

}

 k[j].a=b[d];

}

  voidmain()

{

Mk[5],*p;

  intd[5]={23,34,45,56,67};

  set(k,5,d);

  p=k+1;

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

}

  则下面的表达式在table处,能使程序执行后,打印输出数据45的是

A)p->next->a

B)++p->a

C)(*p).a++

D)p++->a

(38)阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)

#include"stdio.h"

  voidmain()

{

FILE*fp;

  inta[10],*p=a;

  fp=fopen("a123.txt","w");

  while(strlen(gets(p))>0)

  {

fputs(a,fp);

  fputs("\n",fp);

}

  fclose(fp);

}

A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt中

B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中

C)从键盘输入若干行字符,第一行写入文本文件a123.txt中

D)从键盘输入若干行字符,依次写入文本文件a123.txt中

二、填空题

(1)阅读下面程序,则在执行时候的输出为【1】。

#include"stdio.h"

voidmain()

{

intx=1,y=2,z=0;

if(x=2)z=x,x=y,y=z;

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

}

(2)语句printf("%d\n",′H′-′0′+64);的执行结果为【2】。

(3)阅读下面程序,则程序的执行结果为【3】。

#include"stdio.h"

voidmain()

{

inta=10;

 fun(a);

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

}

fun(intx)

{x=50;}

(4)以下程序的输出结果是【4】。

intfun(intx,inty,int*p,int*q)

{

*p=x*y;

 *q=x/y;

}

voidmain()

{

inta,b,c,d;

a=4;b=3;

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

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

}

(5)下面程序是求出数组arr的两条对角线上元素之和,请填空。

#include"stdio.h"

voidmain()

{

intarr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;

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

 for(j=0;j<3;j++)

if(【5】)

a=a+arr[i][j];

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

for(【6】;j>=0;j--)

if(【7】)

b=b+arr[i][j];

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

}

(6)下面程序的功能是:

对字符串从小到大进行排序并输出,请填空。

#include"string.h"

#include"stdio.h"

sort(char*a[],intn)

{

inti,j;

char*p;

for(j=1;j<=n-1;j++)

for(i=0;【8】;i++)

if(【9】)>0)

{

p=a[i];

a[i]=a[i+1];

a[i+1]=p;

}

}

voidmain()

{

inti;

char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};

sort(【10】);

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

printf("%s\n",book[i]);

}

(7)下面的函数是完成1~n的累加,完成函数。

a(intk)

{

if(k<=0)printf("error\n");

if(k==1)【11】;

else【12】;

}

(8)阅读下列程序,则程序实现的功能是【13】。

#include"stdio.h"

structnode

{

chardata;

 structnode*next;

}*head;

fun(structnode*q)

{

if(head==NULL)

{q->next=NULL;

head=q;

}

else

{q->next=head;

head=q;

}

}

voidmain()

{

charch;

structnode*p;

head=NULL;

while((ch=getchar())!

=′\n′)

{p=(structnode*)malloc(sizeof(structnode));

p->data=ch;

fun(p);

}

p=head;

while(p!

=NULL)

{

printf("%c",p->data);

p=p->next;

}

}

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

当前位置:首页 > 工作范文 > 演讲主持

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

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