模拟二 2.docx

上传人:b****3 文档编号:4974748 上传时间:2023-05-07 格式:DOCX 页数:12 大小:18.44KB
下载 相关 举报
模拟二 2.docx_第1页
第1页 / 共12页
模拟二 2.docx_第2页
第2页 / 共12页
模拟二 2.docx_第3页
第3页 / 共12页
模拟二 2.docx_第4页
第4页 / 共12页
模拟二 2.docx_第5页
第5页 / 共12页
模拟二 2.docx_第6页
第6页 / 共12页
模拟二 2.docx_第7页
第7页 / 共12页
模拟二 2.docx_第8页
第8页 / 共12页
模拟二 2.docx_第9页
第9页 / 共12页
模拟二 2.docx_第10页
第10页 / 共12页
模拟二 2.docx_第11页
第11页 / 共12页
模拟二 2.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

模拟二 2.docx

《模拟二 2.docx》由会员分享,可在线阅读,更多相关《模拟二 2.docx(12页珍藏版)》请在冰点文库上搜索。

模拟二 2.docx

模拟二2

一、填空题

  1、C语言中普通整型变量的类型说明符为_____,在内存中占_____字节,有符号普通整型的数据范围是_____。

  2、C语言中基本的数据类型有:

_____、_____、_____。

  3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_____。

  4、共用体和结构体的定义格式类似,不同点是_____。

  5、有如下输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_____。

  6、有语句:

charA[]={”Iamastudent”};该字符串的长度是_____,A[3]=_____。

  7、符号”a”和’a’的区别_____。

  8、下列程序的输出结果是_____。

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

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

  main()

  {inta=4,b=3,c,d;

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

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

  二、选择题

  1、以下选项中属于C语言的数据类型是()。

  A.复合型

  B.双精度型

  C.逻辑型

  D.集合型

  2、以下说法中正确的是()。

  A.C语言程序总是从第一个的函数开始执行

  B.在C语言程序中,要调用的函数必须在main()函数中定义

  C.C语言程序总是从main()函数开始执行

  D.C语言程序中的main()函数必须放在程序的开始部分

  3、选出下列标识符中不是合法的标识符的是()。

  A.hot_do

  B.cat1

  C._pri

  D.2ab

  4、下列描述中不正确的是()。

  A、字符型数组中可能存放字符串。

  B、可以对字符型数组进行整体输入、输出。

  C、可以对整型数组进行整体输入、输出。

  D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

  5、若已定义:

inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。

  A.p+1

  B.a+1

  C.a++

  D.++p

  6、设有如下定义:

intx=10,y=3,z;

  则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。

  A.1

  B.0

  C.4

  D.3

  7、定义如下变量和数组:

inti,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.159

  B.147

  C.357

  D.369

  8、读出以下语句的输出结果是()。

  intx=10,y=10;

  printf(“%d%d\n”,x--,--y);

  A.1010

  B.99

  C.910

  D.109

  9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

  if(x++>5)printf("%d",x);

  elseprintf("%d\n",x--);

  A.7和5

  B.6和3

  C.7和4

  D.6和4

  10、设有如下定义:

char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。

  A)aa数组成元素的值分别是"abcd"和ABCD"

  B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

  C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

 11、以下语句的输出结果是()。

  inta=-1,b=4,k;

  k=(++a<0)&&!

(b--<=0);

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

  A.1,0,4

  B.1,0,3

  C.0,0,3

  D.0,0,4

  12、下列程序的输出结果是()。

  char*p1="abcd",*p2="ABCD",str[50]="xyz";

  strcpy(str+2,strcat(p1+2,p2+1));

  printf("%s",str);

  A.xyabcAB

  B.abcABz

  C.ABabcz

  D.xycdBCD

  13、执行下面的程序后,a的值是()。

  #defineSQR(X)X*X

  main()

  {inta=10,k=2,m=1;

  a/=SQR(k+m)/SQR(k+m);

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

  A.10

  B.1

  C.9

  D.0

  14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。

  A.P+i*2

  B.P+(i-1)*2

  C.P+(i-1)

  D.P+i

  15、下列程序执行后输出的结果是()。

  intd=1;

  fun(intp)

  {intd=5;

  d+=p++;

  printf("%d,",d);}

  main()

  {inta=3;

  fun(a);

  d+=a++;

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

  A.8,4

  B.9,6

  C.9,4

  D.8,5

  16、表达式:

10!

=9的值是()。

  A.true

  B.非零值

  C.0

  D.1

  17、若有说明:

inti,j=7,*p=&i;,则与i=j;等价的语句是()。

  A.i=*p;

  B.*p=*&j;

  C.i=&j;

  D.i=**p;

  18、不能把字符串:

Hello!

赋给数组b的语句是()。

  A.charb[10]={'H','e','l','l','o','!

'};

  B.charb[10];b="Hello!

";

  C.charb[10];strcpy(b,"Hello!

");

  D.charb[10]="Hello!

";

  19、在C程序中有如下语句:

char*func(intx,inty);它是()。

  A.对函数func的定义。

  B.对函数func的调用。

  C.对函数func的原型说明。

  D.不合法的。

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

  charstr[15]=”hello!

”;

  printf(“%d\n”,strlen(str));

  A.15

  B.14

  C.7

  D.6

  三、阅读程序题

  1、intx=6,y=7;

  printf(“%d,”,x++);printf(“%d\n”,++y);

  程序的输出结果是__________。

  2、floatf=3.1415927;

  printf(“%f,%5.4f,%3.3f”,f,f,f);

  则程序的输出结果是__________。

  3、a=3;

  a+=(a<1)?

a:

1;printf(“%d”,a);

  结果是__________。

  4、main()

  {inta[5]={2,4,6,8,10},*P,**k;

  p=a;k=&p;

  printf("%d,",*(p++));

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

  程序的输出结果是__________。

  5、main()

  {inta,b;

  for(a=1,b=1;a<=100;a++)

  {if(b>=20)break;

  if(b%3==1)

  {b+=3;continue;}

  b-=5;}}

  程序的输出结果a的值为__________。

 D)aa数组的两个元素中各自存放了字符'a'和'A'的地址

四、程序填空题

  1、求主次对角线之和。

  main()

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

  intI,j,s1=0,s2=0;

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

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

  {if(__________)

  s1=s1+a[I][j];

  if(__________)

  s2=s2+a[I][j];

  }

  printf(“%d\n%d\n”,s1,s2);

  }

  2、从键盘上输入10个数,求其平均值。

  main()

  {inti;

  floatf,sum;

  for(i=1,sum=0.0;i<11;i++)

  {__________;

  __________;

  }

  printf(“average=%f\n”,sum/10);

  }

  3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

  #include

  main()

  {

  FILE*fp;

  charc;

  fp=__________;

  do

  {

  c=getchar();

  fputs(c,fp);

  }while(c!

=EOF);

  __________;;

  }

  五、编程题

  1、三个整数a、b、c,由键盘输入,输出其中最大的数。

  2、从键盘输入的10个整数中,找出第一个能被7整除的数。

若找到,打印此数后退出循环;若未找到,打印“notexist”。

  3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。

  4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

  参考答案

  一、填空题

  1、int,2个字节,-32768~+32767。

  2、整型、实型、字符型。

  3、-4。

  4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。

  5、a=1,b=3,c=2

  7、”a”是字符串常量,而’a’是字符常量。

  8、7,1。

  二、选择题

  1、B2、C3、D4、C5、C

  6、D7、C8、D9、C10、D

  11、D12、D13、B14、B15、A

  16、D17、B18、B19、C20、D

  三、阅读程序题

  

(1)6,8

(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8

  四、程序填空题

  1、I==jI+j==22、scanf(“%f”,&f);sum+=f;

  3、fopen(“myfile”,w)fclose(fp);

  五、编程题

  1、main()

  {inta,b,c;

  printf(“请输入三个整数:

”);scanf(“%d,%d,%d”,&a,&b,&c);

  if(aif(belseprintf(“max=%d\n”,b);

  elseif(aelseprintf(“max=%d\n”,a);}

  2、#include”stdio.h”

  main()

  {intI,a;

  for(I=1;I<=10;I++)

  {scanf(“%d”,&a);

  {if(a%7==0)

  printf(“%d”,a);break;}}

  if(I==11)

  printf(“notexist”);}

  3、floataverage(floatarray[],intn)

  {intI;

  floataver,sum=array[0];

  for(I=1;Isum=sum+array[I];

  aver=sum/n;

  return(aver);}

  main()

  {floatave,score[10];

  intI;

  for(I=0;I<10;I++)

  scanf("%f",&score[I]);

  ave=average(score,10);

  printf("%f\n",ave);}

  4、#include"stdio.h"

  #defineN3

  structstudent

  {longstu_num;

  charsex;

  charname[15];

  intscore[4];

  floataverage;};

  main()

  {intI,j,index;

  floatsum,max;

  structstudentstuarr[N];

  for(I=0;I{printf("pleaseinput%dstudentinformation:

\n",I+1);

  scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);

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

  scanf("%d",&stuarr[I].score[j]);}

  for(I=0;I{sum=0.0;

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

  sum+=stuarr[I].score[j];

  stuarr[I].average=sum/4.0;}

  max=stuarr[0].average;

  index=0;

  for(I=1;Iif(stuarr[I].average>max)

  {max=stuarr[I].average;index=I;}

  printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2