C语言模拟试题.docx

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

C语言模拟试题.docx

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

C语言模拟试题.docx

C语言模拟试题

(1)一:

选择题(本题共15小题,满分30分)

(1).以下叙述正确的是B

  A)C语言程序是由过程和函数组成的

  B)C语言函数可以嵌套调用,例如:

fun(fun(x))

  C)C语言函数不可以单独编译

  D)C语言中除了main函数,其他函数不可作为单独文件形式存在

  

(2)以下C语言用户标识符中,不合法的是D

  A)_1

  B)AaBc

  C)a_b

  D)a—b

 (3)若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是C

  A)a=a++,i++;

  B)i=(a+k)<=(i+k);

  C)i=a%11;

  D)i=!

a;

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

main()

{intx=2,y=-1,z=2;

if(x

if(y<0)z=0;

elsez=z+1;

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

}

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

(5).设inta=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是(C)

,,20

,,20

(6)有以下程序

#include""

main()

{inti,j,m=1;

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

{for(j=3;j>0;j--)

{if((i*j)>3)break;

m*=i*j;

}

}

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

}  

程序运行后的输出结果是A

  A)m=6

  B)m=2

  C)m=4

  D)m=5

(7)有以下程序D

#include""

main()

{inta=1;intb=2;

for(;a<8;a++){b+=a;a+=2;}

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

}

  程序运行后的输出结果是

  A)9,18

  B)8,11

  C)7,11

  D)10,14

(8)以下关于return语句的叙述中正确的是b

  A)一个自定义函数中必须有一条return语句

  B)一个自定义函数中可以根据不同情况设置多条return语句

  C)定义成void类型的函数中可以有带返回值的return语句

  D)没有return语句的自定义函数在执行结束时不能返回到调用处

(9)下列选项中,能正确定义数组的语句是D

  A)intnum[0..2008];

  B)intnum[];

  C)intN=2008;

  intnum[N];

  D)#defineN2008

  intnum[N];

(10).有以下程序段

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

p=&a[3];

b=p[5];

b中的值是(D)

B.6

  (11)有以下程序

#include""

  main()

  {inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;

  for(i=0;i<5;i++)s=s+a[b[i]];

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

  }

  程序运行后的输出结果是c

  A)6

  B)10

  C)11

  D)15

(12)有以下程序

  #include""

#defineSUB(a)(a)-(a)

  main()

  {inta=2,b=3,c=5,d;

  d=SUB(a+b)*c;

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

  }

  程序运行后的输出结果是C

  A)0

  B)-12

  C)-20

  D)10

 (13)有以下程序

  #include""

  main()

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

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

  }

  程序运行后的输出结果是a

  A)0

  B)1

  C)2

  D)3

(14)下面程序段的运行结果是(A)

#include<>

main()

{inta=1;intb=2;intc=2;intt;

while(a

{t=a;a=b;b=t;c--;

}

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

}

A)1,2,0B)2,1,0C)1,2,1D)2,1,1

(15)有以下程序

#include"" 

main()

{ int c=0,k;

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

    switch(k)

    { default:

c+=k;

      case 2:

c++;break;

      case 4:

c+=2;break;

    }

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

}

程序运行后的输出结果是A

A)3

B)5

C)7

D)9

二填空题(本题共4小题,满分20分)

1.(4分)以下程序运行结果是:

X=8

#include<>

main()

{

inti,j,X=0;

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

{

X++;

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

{

if(j%2)continue;

X++;

}

X++;

}

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

}

2.(4分)以下程序运行结果是:

x=10

0

1

2

3

#include<>

voidfun1(intx)

{

x=20;

}

voidfun2(intb[4])

{

intj;

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

{

b[j]=j;

}

}

main()

{

intx=10;

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

fun1(x);

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

fun2(a);

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

{

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

}

}

3.(4分)↙

则程序运行结果是:

66

#include<>

main()

{

intx,y;

scanf("%2d%*4s%2d",&x,&y);

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

}

4.(8分)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。

例如,输入整数5时(注意:

n不得大于10),程序运行结果如下:

ABCDE

FGHI

JKL

MN

O

请填空完成该程序。

#include<>

intmain()

{

inti,j,n;charch='A';

scanf("%d",&n);

if(n<11)

{for(i=1;i<=n;i++)

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

{printf("%2c",ch);

ch++;

}

printf("\n");

}

}

elseprintf("nistoolarge!

\n");

printf("\n");

return0;}

三:

判断题(本题共10小题,满分20分)

是结束本次循环,而continue是结束所有的循环×

2.在C语言中,变量不区分大小写×

3.不同的函数中可以使用相同的变量名。

(√)

4.形式参数是局部变量。

(√ )

5.若用数组名作为函数的实参,传递给形参的是数组第一个元素的值。

(×)

语言是低级语言×

语言中,每个函数都必须要有一个且只有一个main函数×

语言中,整形常数表示的方法有3种√

9.对于开辟一个静态变量,我们没有必要对它进行初始化×

10.假定x和y为double型,则表达式x=2,y=x+3/2的值是3×

四(本题共2小题,满分30分)

编程题

1.规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间(14分)。

参考答案:

入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。

.1f.1f5C以下语句:

intb;charc[10];则正确的输入c数组的语句是

A)scanf("%d%s",&b,&c);

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

C)scanf("%d%s",b,c);

D)scanf("%d%s",b,&c);

(B正确)

4.若变量c为char类型,能正确判断出c为小写字母的表达式是

A)'a'<=c<='z'

B)(c>='a')||(c<='z')

C)('a'<=c)and('z'>=c)

D)(c>='a')&&(c<='z')

(D正确)

5.凡是在函数中未指定存储类别的变量,其隐含的存储类别是

A)自动

B)静态

C)外部

D)寄存器

(A正确)

6.若要求从键盘读入含有空格字符的字符串,应使用函数

A)gets()

B)scanf()

C)getchar()

D)getch()

(A正确)

7.若有定义:

intaa[8];则以下表达式中不能代表数组元素aa[1]的地址的是

A)&aa[0]+1

B)&aa[1]

C)&aa[0]++

D)aa+1

(C正确)

8.若有以下的定义:

intt[3][2];则t数组最后一个元素是

A)&t[3][2]

B)t[3][2]

C)t[2]

D)t[2][1]

(D正确)

9.若有定义:

intx,*pb;以下正确的赋值表达式是

A)pb=&x

B)pb=x

C)*pb=&x

D)*pb=*x

(A正确)

10、若c,c1,c2均为字符型变量,下列语句执行后。

c='a';

c1=++c;

c2=c++;

c1,c2的值分别为

A)c1='b',c2='c'B)c1='a',c2='c'C)c1='b',c2='b'D)c1='a',c2='b'

(结果为C)

11.有如下语句

intx,y;

scanf("%d,%d",&x,&y);

若使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是

A)1112<回车>

B)11<回车>12<回车>

C)11,<回车>12<回车>

D)11,12<回车>

(D正确)

12、有如下程序段

inta=14,b=15,x;

charc='A';

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

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

A)ture

B)false

C)0

D)1

(D正确)

13、下列运算符中优先级最高的运算符是

A)!

B)%

C)-=

D)&&

(A正确)

14、在以下程序段中,输出值为

#defineP(x)3*x*x

printf("%d",P(2+3));

A)75

B)15

C)5

D)3

(B正确)

15、printf("%d,%d,%d,%d",6>5,6&&5,6||5,6<5);输出运行结果是

A)1,1,1,1

B)0,1,1,0

C)1,0,1,0

D)1,1,1,0

(D正确)

二、判断(本题共10小题,满分20分)。

1、charnn[][4]={‘abc’,’2’};×

2、在C语言中,如果想表示反斜杠符时要用到两个反斜杠。

3、判断字符串str1是否与字符串str2相等,应使用if((str1,str2)==0))。

×

4、设有数组定义:

chararray[]="China";则数组array实际所占的空间为5个字节。

×

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

×

6、在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型表达式√

7、用户定义的标识符中,大小写字母代表相同标识。

×

8、用数组名作为函数实参,其本质是通过实参数组名把实参数组的首地址传送给形参数组名;这样,两个数组共同占用一段内存空间。

9、在作用域内,全局变量和局部变量有重名现象。

若重名,则全局变量将被屏蔽而不起作用.√

10、gets()、puts()一次只能输入、输出一个字符串;scanf()、printf()可以输入、输出几个字符串。

三、填空(本题共5小题,满分20分)。

1、下列程序的运行结果是____________

#include<>

intmain(void)

{intn=0;

while(n++<=1)

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

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

return0;

}

答案:

123

2、下列程序的运行结果是____________

#include<>

intm=13;

intfun(intx,inty)

{intm=3;return(x*y-m);}

intmain(void)

{inta=7,b=5;

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

}

答案:

2

3、下列程序的运行结果是____________

#include<>

intmain(void)

{intx,y,z;

x=y=z=0;

++x||++y&&++z;

printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);

x=y=z=-1;

++x&&++y||++z;

printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);

return0;

}

答案:

x=1y=0z=0

x=0y=-1z=0

4、运行程序时,输入howdoyoudo程序输出结果是___________________

#include<>

intmain(void)

{chars[20],s1[20];

scanf("%s",s);

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

scanf("%s%s",s,s1);

printf("s=%s,sl=%s",s,s1);

puts("\n");

gets(s);

puts(s);

}

答案:

howdoyoudo

how

s=do,s1=you

do

5、以下程序为求2个数中较大者。

其中①_____________;②______________。

#include<>

intmain(void)

{intmax(intx,inty);

inta,b,c;

scanf("%d%d",&a,&b);

c=①_____________;

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

}

intmax(intx,inty)

{intz;

if(x>y)z=x;

elsez=y;

②______________;

}

答案:

①max(a,b);②return(z);

三、编程(本题共2小题,满分30分)。

1、求10~50之间被3整除的数及其和。

#include<>

intmain()

{

inti,sum=0;

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

if(i%3==0)

{

sum=sum+i;

printf("%3d",i);

}

printf("\n10-50之间被3整除的数的和是%d\n",sum);

}

2、随机生成10个100~200之间整数,采用数组的方法将数据按降序排列。

#include<>

#include<>

intmain()

{

inta[10],i,j,t;

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

a[i]=rand()%101+100;

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

for(j=0;j<=8-i;j++)

if(a[j]

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

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

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

}

(3)一、本题共15小题,满分30分(每小题2分)。

1、以下合法的赋值语句是_B_

A)x=y=100B)d--;C)x+y;D)c=int(a+B);

2、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是_C_

A)INPUTx、y、z;B)scanf(“%d%d%d”,x,y,z);

C)scanf(“%d%d%d”,&x,&y,&z);D)read(“%d%d%d”,&x,&y,&z);

3、下面标识符中,不合法的用户标识符为D。

A)PkdB)k_90C)_924D)k#b

4、下面不是字符串常量的是A。

A)‘abc’B)“12’12”C)”0”D)“”

5、下面不属于C语言的数据类型是_C_。

A)整型B)实型C)逻辑型D)双精度实型

6、若定义:

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

A)7B)2.50000C)

7、设有以下定义:

#defineg2

inta=0;doubleb=;charq=’A’;

则下面语句中错误的是D。

A)a++;B)b++;C)q++;D)g++;

8、设有程序段:

intk=10;while(k==0)k=k-1;则下面描述中正确的是C。

A)while循环执行10次B)循环是无限循环

C)循环语句一次也不执行D)循环体语句执行一次

9、假定a和b为int型变量,则执行以下语句后b的值为_D_

a=1;

b=10;

do{

b-=a;

a++;

}while(b--<0);

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

10、设j为int型变量,则下面for循环语句的执行结果是_B_

for(j=10;j>3;j--)

{

if(j%3)

j--;

--j;

--j;

printf("%d",j);

}

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

11、以下只有在使用时才为该类型变量分配内存的存储类说明是_B_

A)auto和staticB)auto和register

C)register和staticD)extern和register

12、有如下程序

#include<>

intfunc(intk,intq)

{return(k+q);}

voidmain()

{intx=2,y=5,z=8,r;

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

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

}

该程序的输出的结果是_D_

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

13、在定义inta[10];之后,对a的引用正确的是C。

A)a[10]B)a[]C)a[10-10]D)a(6)

14、为了判断两个字符串s1和s2是否相等,应当使用D。

A)if(s1==s2)

B)if(s1=s2)

C)if(strcpy(s1,s2))

D)if(strcmp(s1,s2)==0)

15、若有如下定义语句:

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

则对数组正确的引用是_B_。

A)a[10]B)a[a[4]+4]C)a[a[9]]D)a[a[3]5]

得分

评卷人

二、本题共10小题,满分20分(每小题2分)。

1、C语句末尾必须有分号。

2、不同的函数中可以使用相同的变量名。

3、运算符“%”只能用于整数运算。

×

4、乘除运算符优先级高于加减运算符。

5、C语句前面必须有行号。

×

6、C程序中每行只能写一条语句。

×

7、C语言本身没有输入输出语句。

8、注释必须跟在一行语句的后面。

×

9、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

×

10、在C程序中,main函数必须位于子程序的最前面。

×

得分

评卷人

三、本题共4小题,满分20分(每空4分)。

1、下面程序的运行结果是x=__,y=_4_。

voidmain()

{floatx=;inty;

y=(int)x;

printf("x=%f,y=%d",x,y);}

2、有如下程序

voidmain()

{floatx=,y;

if(x

elseif(x

elsey=;

printf(“%f\n”,y);

}

该程序的输出结果是___

3、下面程序段功能从键盘输入两个数并将较大者输出。

voidmain()

{

floata,b,max;

printf("input2realsplease:

");

scanf("%f%f",&a,&b);

__max=a>ba:

b;__________

printf("Themaxis%f\n",max);

}

4、以下程序的输出结果是__15_

 #include<>

intf()

{staticinti=0;

ints=1;

s+=i;i++;

returns;

}

voidmain()

{inti,q=0;

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

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

}

四、本题共2小题,满分30分。

1、编写程序,求1!

+2!

+3!

+……+n!

n从键盘输入。

#include<>

intmain()

{

intsum=0,p=1,i,n;

printf("请输入一个整数");

scanf("%d",&n);

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

{

p=p*i;

sum=sum+p;

}

printf("%d的阶乘和是%d",n,sum);

}

2、请编写C程序求出二维数组中,主对角线上的所有奇数,表格中用灰色底纹标记的区域为主对角线。

11

6

4

7

3

6

3

5

6

1

7

9

9

2

3

4

#include<>

intmain()

{

inti,j;

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

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

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

if(i==j&&a[i][j]%2!

=0)

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

}

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

当前位置:首页 > 表格模板

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

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