c语言运行结果试题及答案,2011年全国计算机二级C语言模拟试题及答案(13)

一、单项选择题。(每题1分,共20分)1.C程序的基本单位是:()

A.子程序

B.程序

C.子过程

D.函数

2.在C语言中,非法的八进制是:()

A.016

B.018

C.017

D.02

3.不是C语言实型常量的是:()

A.55.0

B.0.0

C.55.5

D.55e2.5

4.字符串“xyzw”在内存中占用的字节数是:()

A.6

B.5

C.4

D.3

5.若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()

A.2.0

B.2.25

C.2.1

D.1.5

6.若有语句charc1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:()

(a的ASCII码值为97)

A.M,2

B.G,3

C.G,2

D.D,g

7.使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:()

A.a=2.2,b=3

B.a=2.2b=3

C.2.23

D.2.2,3

8.表示关系12<=x<=y的C语言表达式为:()

A.(12<=x)&(x<=y)

B.(12<=x)&&(x<=y)

C.(12<=x)|(x<=y)

D.(12<=x)||(x<=y)

9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m

10.若有说明和语句:inta=5,b=6;b*=a+1;则b的值为:()

A.5

B.6

C.31

D.36

11.设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3>c4)后,s,t的值为:()

A.1,2

B.1,1

C.0,1

D.1,0

12.语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b);scanf最多可执行次数为:()

A.4

B.6

C.5

D.1

13.对于for(s=2;;s++)可以理解为:()

A.for(s=2;0;s++)

B.for(s=2;1;s++)

C.for(s=2;s<2;s++)

D.for(s=2;s>2;s++)

14.若有charh=`a`,g=`f`;inta[6]={1,2,3,4,5,6};则数值为4的表达式为:()

A.a[g-h]

B.a[4]

C.a[`d`-`h`]

D.a[`h`-`c`]

15.设:chars[10]={“october”};则printf(“%d\n”,strlen(s));输出是:()

A.7

B.8

C.10

D.11

16.若有inta[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素:()

A.8

B.5

C.3

D.15

17.设inta=5,b,*p=&a,则使b不等于5的语句为:()

A.b=*&a

B.b=*a

C.b=*p

D.b=a

18.若有inta[7]={1,2,3,4,5,6,7},*p=a则不能表示数组元素的表达式是:()

A.*p

B.*a

C.a[7]

D.a[p-a]

19.若有intb[4]={0,1,2,3},*p则数值不为3的表达式是:()

A.p=s+2,*(p++)

B.p=s+3,*p++

C.p=s+2,*(++p)

D.s[3]

20.设有如下定义:structjan{inta;floatb;}c2,*p;若有p=&c2;则对c2中的成员a的正确引用是:()

A.(*p).c2.a

B.(*p).a

C.p->c2.a

D.p.c2.a

二、填空题。(每空1分,共15分)1.C语言标识符由_________、__________和___________来构造。

2.在C语言中,字符串常量是用__________一串字符。

3.若有说明和语句:inta=25,b=60;b=++a;则b的值是__________。

4.若intx=5;while(x>0)printf(“%d”,x--);的循环执行次数为__________。

5.若有inta[5],*p=a;则p+2表示第__________个元素的地址。

6.若有说明和语句:inta=5,b=6,y=6;b-=a;y=a++则b和y的值分别是__________、__________。

7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是__________。

8.C程序设计的三种基本结构是________、________和________。

9.数组是表示类型相同的数据,而结构体则是若干__________数据项的集合。

10.C语言中文件是指__________。

三、将下列程序补充完整。(每空2.5分,共30分)1.输入三角形的三条边a,b,c,求三角形的面积。

#include“math.h”

#include“stdio.h”

main()

{floata,b,c,d,t,s;

printf(“请输入三角形的三条边:”);

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

if(1)

printf(“%f%f%f不能构成三角形!”,a,b,c);

else{t=(a+b+c)/2;

s=(2)

printf(“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”,a,b,c,s);}}

(1)__________

(2)__________

2.输入两个整数,n1,n2(要求n1#include“stdio.h”

main()

{intn1,n2,j,n=0;

printf(“\n请输入两个数:”);

scanf((3));

if(n1>n2){(4)}

for(j=n1;j<=n2,j++)

if(5)n++;

printf(“a=],b=],n=]\n”n1,n2,n);}

(3)__________

(4)__________

(5)__________

3.输入两个整数,n1,n2(要求n1#include“math.h”

#include“stdio.h”

intprime(intx)

{intk;

for(6)

if(x%k==0)return(0);

return(1)}

main()

{inta,b,j,n=0;

printf(“\n请输入两个数:”);

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

if(a>b){(7)}

for(j=a;j<=b,j++)

if((8))n++;

printf(“a=M,b=M,n=M\n”a,b,n);}

(6)__________

(7)__________

(8)__________

4.编写程序,输入n个整数(n由键盘输入),统计其中正数、负数和零的个数。

#include“stdio.h”

main()

{intx,n,k,k1=0,k2=0,k3=0;

printf(“inputn=:”);

(9)

for(k=0;k{scanf(“%d”,&x);

if(x<0)k1++;

(10);

elsek3++;

printf(“k1=M,k2=M,k3=M\n”,k1,k2,k3)}}

(9)__________

(10)__________

5.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.]

#include“stdio.h”

main()

{charch;

do{ch=getchar();

if((11))break;

elseif((12))putchar(ch);

}while(1);}

(11)__________

(12)__________

四、按格式写出程序运行结果。每题4分,共16分。1.格式化输出函数]

main()

{inta=1,c=65,d=97;

printf(“a10=%d,a8=%o,a16=%x\n”,a,a,a);

printf(“c10=%d,c8=%o,c16=%x,cc=%c\n”c,c,c,c);

d++;

printf(“d10=%d,dc=%c\n”d,d);}

输出结果:

2.循环结构

main()

{inty=9,k=1;

for(;y>0;y--)

{if(y%3==0){printf(“M”--y);continue;}

k++;}

printf(“\nk=M,y=M\n”,k,y);}

输出结果:

3.数组

#include“stdio.h”

main()

{intk,j;

inta[]={3,-5,18,27,37,23,69,82,52,-15};

for(k=0,j=k;k<10;k++)

if(a[k]>a[j])j=k;

printf(“m=%d,j=%d\n”,a[j],j);}

输出结果为:

4.字符输出

main()

{char*p,s[]=“ABCD”;

for(p=s;pprintf(“%s\n”,p);}

输出结果:

五、按题目要求写出可运行程序:(19分)1.求元素个数为10的一维数组元素中的最大值和最小值。

2.将矩阵975倒置为934

312716

468528

3.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数。

编写程序如下:

参考答案

一、单项选择题:1.D2.B3.D4.B5.B

6.B7.A8.B9.B10.C

11.A12.C13.B14.C15.A

16.D17.B18.C19.A20.B

二、填空题:1.字母、数字和下划线2.双引号3.26

4.55.三(3)6.1,20

7.18.顺序结构、选择结构、循环结构9.类型不同

10.存储在外部介质上的相关数据集合。

三、将下列程序补充完整。

1.(1)((a+b3.(6)(k=2;k<=sqrt(x);k++)(7)j=a;a=b;b=j;(8)prime(j)

4.(9)scanf(“%s”,&n)(10)elseif(x==0)

5.(11)ch==`Q`||==`q`(12)ch>=`A`&&ch<=`Z`||ch>=`a`&&ch<=`z`

四、按格式写出程序运行结果。1.a10=1,a8=1,a16=1

c10=65,c8=101,c16=41,cc=A

d10=98,dc=b

2.852

k=4y=0

3.m=82,j=7

4.ABCD

BCD

CD

D

五、按题目要求写出可运行程序。1.#include“stdio.h”

main()

{intterm[10];

inti,max,min;

printf(“请输入10个整数:”);

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

scanf(“%d”,&term[i]);

(max=term[0];

min=term[0];

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

{if(term[i]if(term[i]>max)max=term[i];}

printf(“max=%d,min=%d”,max,min);}

2.main()

intj,k,x;

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

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

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

{x=a[j][k];a[j][k]=a[k][j];a[k][j]=x;}

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

{for(k=0,k<3;k++)

printf(“M”,a[j][k]);}}

3.#include“stdio.h”

intgcd(intm,int,n)

{if(n==0)return(m);

elsereturn(gcd(n,m%n));

inttim(intm,int,n)

return(m*n/gcd(m,n));}

main()

{intm,n,g,t;

printf(“entertwonumberplease:”);

scanf(“%d,%d”,&m,&n);

g=gcd(m,n);t=tim(m,n);

printf(“gcd(m,n)=%d\n”,g);

printf(“tim(m,n)=%d\n”,t);}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值