C语言综合模拟题.docx

上传人:b****7 文档编号:15812302 上传时间:2023-07-08 格式:DOCX 页数:32 大小:35.44KB
下载 相关 举报
C语言综合模拟题.docx_第1页
第1页 / 共32页
C语言综合模拟题.docx_第2页
第2页 / 共32页
C语言综合模拟题.docx_第3页
第3页 / 共32页
C语言综合模拟题.docx_第4页
第4页 / 共32页
C语言综合模拟题.docx_第5页
第5页 / 共32页
C语言综合模拟题.docx_第6页
第6页 / 共32页
C语言综合模拟题.docx_第7页
第7页 / 共32页
C语言综合模拟题.docx_第8页
第8页 / 共32页
C语言综合模拟题.docx_第9页
第9页 / 共32页
C语言综合模拟题.docx_第10页
第10页 / 共32页
C语言综合模拟题.docx_第11页
第11页 / 共32页
C语言综合模拟题.docx_第12页
第12页 / 共32页
C语言综合模拟题.docx_第13页
第13页 / 共32页
C语言综合模拟题.docx_第14页
第14页 / 共32页
C语言综合模拟题.docx_第15页
第15页 / 共32页
C语言综合模拟题.docx_第16页
第16页 / 共32页
C语言综合模拟题.docx_第17页
第17页 / 共32页
C语言综合模拟题.docx_第18页
第18页 / 共32页
C语言综合模拟题.docx_第19页
第19页 / 共32页
C语言综合模拟题.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言综合模拟题.docx

《C语言综合模拟题.docx》由会员分享,可在线阅读,更多相关《C语言综合模拟题.docx(32页珍藏版)》请在冰点文库上搜索。

C语言综合模拟题.docx

C语言综合模拟题

C语言综合模拟题

(一)

一、选择题

1.在C语言程序中( )

A)函数的定义可以嵌套,但函数的调用不可以嵌套

B)函数的定义不可以嵌套,但函数的调用可以嵌套

C)函数的嵌套和函数的调用均不可以嵌套

D)函数的嵌套和函数的调用均可以嵌套

2.下面程序段的输出结果是( )

inta=011;

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

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

3.若k为整型,则while循环( )

k=2;

while(k==0)

 printf("%d",k);

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

A)0  B)123456789       C)0123456789    D)10

5.以下对二维数组a进行正确初始化的是______

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

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

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

D)inta[2][]={{1,2},{3,4}};

6.若有定义:

inta[4][10],则以下选项中对数组元素a[i][j]的错误引用是(此处0<=i<4,0<=j<10)

A)(&a[0][0]+10i+j)    B)*(a+i)[j]

C)*(*(a+i)+j)          D)*(a[i]+j)

7.以下程序段的输出结果

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

p=a;*(p+3)+=2;

printf("%d,%d\n",*p,

*(p+3));

A)0,5    B)1,5         C)0,6    D)1,6

8.下面各语句中,能正确进行赋字符串操作的是____

A)chars[5]={'a','b','c','d','e'}

B)char*s;get(s)

C)char*s;s=“ADFA”;

D)chars[5];scanf(“%s”,&s);

9.下列程序段的运行结果

#definep3

#defineS(a)p*a*a

main()

{intar;

ar=S(3+5);

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

A)192 B)29  C)27 D)25

10.下面程序段的运行结果

x=y=0;

while(x<15)y++,,x+=++y;

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

A)20,7B)6,12

C)20,8D)8,20

11.有以下说明和语句:

structworker

{intno;

char*name;

}work,*p=&work;则以下引用方式不正确的是_______

A)work.no B)(*p).no   C)p->no  D)work->no

12.在说明一个联合体变量时,系统分配给它的存储空间是_____

A)该联合体中第一个成员需存储空间

B)该联合体中最后一个成员所需存储空间

C)该联合体中占用最大存储空间的成员所需存储空间

D)该联合体中所有成员所需存储空间的总和

二.填空题

1.设n=10,i=4,则赋值运算n%=i+1执行后n的值是___

2.若intx=1,y=2,z=3;则表达式z+=x>y?

++x,++y的值是_____

3.若a=3,b=4,c=5,则表达式!

(a+b)+c-1&&b+c/2的值是______

4.当a=1,b=2,c=3时,执行以下语句后a=______,b=_________

if(a>c)  b=a;a=c;c=b;

5.若所用变量都已正确定义,请填写以下程序段的输出结果_____ 

s=7;

dos-=2;while(s=0);

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

6.定义inta[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是___

7.设a=000101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数应为_____

8.C语言中的文件类型有______和________两种。

三.程序分析题

1.若输入b,以下程序的运行结果为_________

main()

{chargrade;scanf("%c",&grade);

 switch(grade)

{case'A':

printf(">=85");

 case'B':

printf(">=75");

 case'C':

printf(">=60");

case'D':

printf("<60default:

printf("errror");}}2.程序运行结果是______

main()

{inti=1;

   while(i<10)

     if(++i%3!

=1)continute;

     elseprintf("%d",i);}

3.程序输出结果是_______

#include

sub1(chara,charb)

{charc;c=a;a=b;b=c;}

sub2(chara,charb)

{charc;c=a;*a=b;b=c;}

sub3(chara,charb)

{charc;c=*a;*a=*b;*b=c;}

main()

{chara,b;

 a='A';b='B';sub1(a,b);putchar(a);putchar(b);

a='A';b='B';sub2(&a,b);putchar(a);putchar(b);

a='A';b='B';sub1(&a,&b);putchar(a);putchar(b);

}

4.程序输出结果是_______

intfact(intn)

{staticintf=1;

    f=f*n;

     return(f);}

main()

{inti;

  for(i=1;i<=5;i++)printf("%d1=%d\n",i,fact(i));}

5.程序输出结果是_______

#definen5

main()

{inta[N]={1,3,5,7,9},i,temp;

  for(i=0;i

   {temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}

     printf("\n");

     for(i=0;i

四.程序填空题

1.完善程序,将输入字符的大写转换成小写后显示出来

#include

main()

{intc;

   c=getchar9);

   if(_________)______________;

   putchar(c);}

2.下面程序的功能是调用max()函数,求两个数中较大者,请填空

max(x,y)

intx,y;

{intz;if(x>y)z=x;elsez=y;returnz;}

Main{

    inta=8,b=12,c;

    p=max;c=______;

printf("%d",c);}

3.以下程序实现将三个数中的大数输出在前,小数输出在后,请填空。

#include

swap(int*p1,int*p2)

{int*t;

  __________;

  t=p1;*p1=*p2;*p2=*t;}

chang(int*q1,int*q2int*q3)

{if(*q1>*q2)swap(q1,q2);

 if(*q1>*q3)swap(q1,q3);

if(*q2>*q3)swap(q2,q3);}

main()

{inta=6,b=4,c=2;

   chang(_____________);

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

}

4.以下程序的功能是输出字符串。

main()

{char*a[]={"pasecal","Clanguage","dbase","Cobol"}

  char______________;

  intj=0;

  p=a;

  for(;j<4;j++)

  printf("%s\n",*___);}5.下面程序有终端键盘输入字符,存放到文件中,用#结束输入。

请填空

#inckude

main()

{FILE*fp;charch,fname[10];

gets(fname);

if((fp=fopen(fname,"w"))==NULL)

{printf("enterdata:

\n");

  while(_____!

='#')      fputc(____________);

    fclose(fp);

}

五.编程题(共2题)

1.判断输入的数是否为素数,是则输入yes,否则输出no,要求用函数调用完成。

2.编写程序。

用键盘输入10名学生的成绩,显示其中的最低分,最高分及平均成绩,要求利用指针

一、填空

1.执行a=10>8*2?

3+5:

3*2;后,a的值是

2.设inti=10;则执行j=++i;后j的值为

3.(!

x)==(x!

=0)的值为

4.能表示一个整数即是奇数又是3的倍数的表达式是

5.定义一指向整型数据的指针变量p的语句是

6.C语言中三种常用的循环控制结构是循环、do---while循环和循环。

7.inta[9];则a数组的下标范围是

8.对应scanf("a=%d,b=%d",&a,&b);语句的输入a为3,b为7的键盘输入格式是

二、选择

1.C语言中,要求运算数必须是整型的运算符是()

(A)%(B)/(C)<(D)!

2.表达式10!

=9的值是()

(A)0(B)1

(C)true(D)false

3.连接两个字符串的C语言库函数是()

(A)strcmp(B)strcpy

(C)strcat(D)strlen

4.以下定义整型3行4列的二维数组a并初始化不正确的是()

(A)inta[3][4]={0};

(B)inta[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12};

(C)inta[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12};

(D)inta[3][4]={{1,2},{1,2,3},{1,2,3,4}};

5.有如下程序,该程序的执行结果是()

main()

{inti,sum=0;

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

sum+=i++;

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

(A)6(B)3(C)死循环(D)4

6.有如下程序,该程序的输出的结果是()

intaddc(inta,intb,intc)

{c=a+b;

return(c);}

main()

{intx=4,y=2,z,r;

z=x+y;

r=addc(addc(x,y,z),addc(y,z,x),z);

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

(A)36(B)12(C)14(D)6

7.有如下程序,该程序的输出结果是()

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

else

if(n==2)return

(2);

elsereturn

(1);}

main()

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

(A)3(B)4(C)5(D)6

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

main()

{inta;

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

if(a%3==0)

a+=3;

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

A)100(B)101(C)102(D)103

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

voidfun(int*a,intb)

{*a=2;b=5;}

main()

{inta=3,b=7;

fun(&a,b);

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

A)25(B)37(C)35(D)27

10.以下程序的输出结果()

#defineMAX(x,y,z)x*(y)+z

main()

{inta=1,b=2,c=3;

printf("%d\n",MAX(a+b,b+c,c+a));}

A)12(B)15(C)19(D)22

11.以下程序输出结果是()

main()

{inti=5,j=0;

do

{j=j+(--i);}

while(i<2);

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

(A)4(B)5(C)6(D)9

12.以下程序输出结果是()

intf(intb[],intm,intn)

{inti,s=1;

for(i=m;i

{b[i]=b[i-2]+b[i+2];

s+=b[i];}

returns;}

main()

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

x=f(a,4,7);

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

A)22(B)26(C)42(D)64

13.以下程序输出结果是()

intfunc(intn)

{staticintm=0;

m=m+n;

return(m);}

main()

{inti,a=0;

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

a+=func(i);

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

A)10(B)15(C)20(D)22

14.下列程序输出结果是()

structstudent

{inta,b,c;};

main()

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

t=stu[0].a+stu[1].b%stu[0].c;

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

(A)0(B)1(C)3(D)5

15.以下程序输出结果是()

main()

{inta=0,i;

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

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;break;

default:

a+=5;}}

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

A)10(B)15(C)21(D)36

三、程序填空

1.下面程序的功能是:

输出100以内能被3整除且个位数为6的所有整数,请填空。

main()

{inti,j;

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

{①

if(②)continue;

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

2.打印出[19002050]之间的所有的闰年,程序如下,请填空:

main()

{inti;

for(i=1900;i<=2050;i++)

if(③)

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

3.下面程序的功能是将数组中的数据按逆序存放,请填空使程序完整。

#defineN12

main()

{intk,j,t,a[N];

for(k=0;k

scanf("%d",④);

k=0;

while(k

{t=a[k];

a[j]=t;

k++;

⑦}

for(k=0;k

printf("%4d",a[k]);

printf("\n");}

四、读程序题

1.读程序从键盘输入1080,则程序的输出结果是:

intf(intn)

{intm=0,c;

while(n!

=0)

{c=n%10;

m=m*10+c;

n=n/10;}

return(m);}

main()

{intm;

scanf("%d",&m);

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

2.写当运行程序输入5时程序输出的结果:

main()

{inti,j,n;

scanf("%d",&n);

for(i=0;i<=n-1;i++)

{

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

if((i+j>=n/2&&i+j<=n/2+n-1)&&(i-j>=-n/2&&i-j<=n/2))

printf("*");

else

printf("");/*注释:

引号内空白处为一个空格*/

printf("\n");}}

3.写出程序的执行结果:

#defineM3

#defineN3

main()

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

inti,j,t;

for(i=0;i

for(j=i+1;j

{t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;}

for(i=0;i

{for(j=0;j

printf("%d",a[i][j]);

printf("\n");}}

4.写出程序的执行结果:

voidswap(int*a,int*b)

{int*tmp;

tmp=a;

a=b;

b=tmp;

*tmp=4;}

main()

{inta=3,b=5;

swap(&a,&b);

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

五、编程序

1.用公式

求∏的近似值,直到最后一项的绝对值小于

为止,请编程实现。

2.编程从键盘输入一个5行5列的二维数组数据,并找出数组中的最大值及其所在的行下标和列下标;最小值及其所在的行下标和列下标。

要求打印格式,例如最大值形式:

Max=最大值,row=行标,col=列

C语言综合模拟题

(二)

1、设x为整型变量,值为1,则表达式(x&&1)==(x%2)的值为____

2、与二进制数101等值的十进制数为______

3、若已知a=10,b=20,则表达式!

a

4、结构化程序设计所规定的三种基本控制结构是___结构___结构和___结构

5、定义inti=1;执行语句while(i++<5);后,i的值为6、定义3行4列的整型二维数组a的语句是________

7、int*p,a;则语句p=&a;中的运算符&是______符号

8、设y是int型变量,请写出判断y为奇数的关系表达式

二、选择

1、下列优先级最低的是()

A&&B&C||D=

2、已知intj,i=1;执行语句“j=i++;”后,变量i的值是()

A1B2C–1D-2

3、已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是()

A6B12C30D36

4、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()

Aa<>0B!

aCa=0Da

5、以下错误的if语句是()

Aif(x>y);

Bif(x==y)x+=y;

Cif(x!

=y)scanf(“%d”,&x)elsescanf(“%d”,&y);

Dif(x

6、为了判断两个字符串s1和s2是否相等,应当使用()

Aif(s1==s2)

Bif(s1=s2)

Cif(strcpy(s1,s2))

Dif(strcmp(s1,s2)==0)

7、若有说明intx,y;不能实现以下函数关系的程序段是()

y=-1(x<0)

y=0(x=0)

y=1(x>0)

A.if(x<0)y=-1;

B.y=-1;

elseif(x==0)y=0;

if(x!

=0)

elsey=1;

if(x>0)y=1;

elsey=0;

C.y=0;

D.if(x>=0)

if(x>=0)if(x>0)y=1;

{if(x>0)y=1;}elsey=0;

elsey=-1;elsey=-1;

8、以下错误的描述是()

Abreak语句不能用于循环语句和switch语句外的任何其他语句

B在switch语句中使用break语句或continue语句的作用相同

C在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环

D在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

9、若inti=10;执行下列程序后,变量i的正确结果是()

switch(i)

{case0:

i+=1;

case10:

i+=1;

case11:

i+=1;

default:

i+=1;

}A10B11C12D13

10、下列程序是求1到100的累加和,其中有1个不能够完成规定的功能,是()

A.s=0;i=0;

while(i<=100)s+=i++;

B.s=0;i=1;while(i++<100)

s+=i;

Cs=0;i=0;

while(i<100)s+=++i;

D)s=0;i=0;while(++i<=100)s+=i;

11、选择程序输出结果()

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i

s+=b[i];

returns;

}

main()

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

x=f(a,3,7);

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

}

A30B15C18D22

12、C语言中函数返回值的类型由()决定的。

Areturn语句中的表达式类型

B调用该函数的主调函数的类型

C调用函数时临时决定

D定义函数时所指定的函数类型

13、选择下列程序的运行结果()

fun(int*p)

{inta=10;

p=&a;

++*p;

}

main()

{inta=5;

fun(&a);

printf(“%d\n”,a);

}

A5B6C10D11

14、执行后y的值是()

main()

{inta[]={1,2,3,4},y,*p=a;

y=*p++;

}

A1B2C3D4

15、下列程序输出结果是()

structabc

{i

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

当前位置:首页 > 人文社科 > 法律资料

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

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