C语言程序设计模拟试题5(附答案)

更新时间:2024-01-03 07:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计》模拟试题五

一、 填空题(40分)

1.计算机软件分为 和 ;C语言适合编写 .

2.十进制数35=( )2 =( )8 =( )16 3.已知一个数[X]补=11111001,求[X]原= 及X= . 4.设x=2.5,a=7,y=4.7.求下列算术表达式的值.

x+a%3*(int)(x+y)%2/3= .

x

5.将算式|3-eln(1+Y)|写成C语言表达式 . 6.设a=5,b=9.则printf(“a=%d,b=M”,a,b)输出为:

. 7.用C语句写出累加器 、累乘器 、计数器 .

8.上机操作时,CTRL+F9键的功能是 ,F2键的功能是 ALT+F5键的功能是 .

9.下列程序段对应的数学表达式是 int t,n,s=0;

scanf(“%d”,&n); for(i=1;i<=n;i++) { t=1;

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

t=t*j; s=s+t;}

10.以下程序用“顺序查找法”查找数组a中是否存在某一关键字. 请填空. main()

{int a[10]={25,57,48,38,12,92,88,48,16,25}; int i,x;

scanf(“%d”,&X); for(i=0;i<10;i++) if (x==a[i])

{printf(“Found!The index:%d\\n”a[i]);(1) ;} if (2) printf(“Can not found!”); }

二、单选题(15分)

1.一个C程序的执行是从 . A. 本程序的main()函数开始,到main函数结束.

B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. C. 本程序的main()函数开始,到本程序文件的最后一个函数结束.

D. 本程序文件的第一个函数开始,到本程序main函数结束.

2.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式为 .

main()

{ int a,b,c;

输入语句;

printf(“%c%c%c”,a,b,c); }

输入形式:A B C 输出形式:ABC

A.scanf(“%c%c%c”,&a,&b,&c); B.scanf(“%c,%c,%c”,&a,&b,&c); C.scanf(“%c %c %c”,&a,&b,&c); D.scanf(“%c%c”,&a,&b);

3.给出下列程序的运行结果 . main()

{int i,j,k,x=0; for(i=2;i<=5;i++) for(j=7;j>=3;j-=2)

for(k=4;k<=11;k+=4) x++;

printf(“x=%d”,x);}

A.x=64 B. x=36 C.x=60 D. x=24

4.若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值为 . x=(i=4,j=16,k=32)

A. 4 B. 16 C.32 D.52 5.以下不正确if语句形式是 .

A.if ( x>y && x!=y ); B.if ( x = = y ) x + = y;

C. if ( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y); D.if (x

三、改错题(14分)

1.从键盘输入20个整数,将大于-5与小于+5的数以2倍形式输出. main()

{int x,i,y;

for(i=1,i<=10,i++)

scanf(“%d”,x);

if (-5

}

2.求1-2+3-4+5-6+?-100的和. main()

{int n,f,i=0; -1=f; do

s=s+f*i;

i++; f=-f;

while(i>=100)

printf(“%d”;s); }

四、给出下列程序的运行结果(15分)

1. main()

{int a,b,c,s,w,t;

s = w = t = 0; a= -1; b= 3; c= 5; if (c>0) s=a+b; if (a<=0)

{ if (b>0)

if (c<=0) w=a-b;

}

else if (c>0) w=a-b;

else t=c;

printf(“%d %d %d”,s,w,t); }

2. #include

main()

{ int i=5;

char a[6]=“abcd”; do

{ a[i]=a[i-1];

--i;

}

while(i>0);

puts(a); }

3. main()

{ int i,a[50];

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

{i=i*i;a[i]=i;

printf(“%d ”,a[i]); } }

五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。(每空1分,共6分)

1.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、

列号之和为3的数组元素,请在____处填入正确内容。

A a f c B d e b c g f D main()

{ static char ss[4][3]={‘A',‘a',‘f',‘c',‘B',‘d',‘e',‘b',‘C',‘g',‘f',‘D'};

int x,y,z;

for(x=0; ;x++) for(y=0; ;y++) {z=x+y; if( ) printf(“%c\n”,ss[x][y]); } }

2.以下函数的功能是删除字符串s中的所有数字字符。请填空。 void dele(char *s) { int n=0,i;

 for(i= ,s[i];i++)  if( )  s[n++]=s[i];

 s[n]= ;  }

六、编写程序(10分)

1.用递归方式求n!

2.输入20个数,去掉两个最高分,两个最低分,输出其余数的平均值.

试题五参考答案

一.填空题

1.系统软件 应用软件 系统软件 2.100011 43 23 3.10000111 -7 4.2.5

5.abs(3-exp(x)*ln(1+y)) 6.a=5,b=

9

︺︺︺

7.s=0;s=s+x; p=1;p=p*x; n=0;n=n+1; 8.运行程序 保存程序 查看运行结果 9.s=1!+2!+…n! 10.break i>=10 二.单选题

1.A 2.C 3.D 4.C 5.C 三.改错题 1.

main()

{int x,i,y;

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

scanf(“%d”,&x);

if(x>-5 && x<5) printf(“%d”,y=2*x);

}

}

2.

main()

{int n,f,i=0,s=0; f=-1; do

{

s=s+f*i; i++; f=-f;

}while(i<=100);

printf(“%d”,s); }

四.给出下列程序的运行结果 1.2 0 0 2.Aabcd 3.1 4 25

五.按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。

1.

main()

{ static char ss[4][3]={‘A',‘a',‘f',‘c',‘B',‘d',‘e',‘b',‘C',‘g',‘f',‘D'};

int x,y,z;

for(x=0; x<4 ;x++) for(y=0; y<3 ;y++)

{z=x+y; if( z==3 ) printf(“%c\n”,ss[x][y]); } }

2.

void dele(char *s) { int n=0,i;

 for(i= 1 ,s[i];i++)

 if( !(s[i]>‘0’$$s[i]<‘9’) )  s[n++]=s[i];  s[n]= ‘\\0’ ;  }

六.编写程序 1.

int digui(int n) { int s; if(n==1) s=1; else

s=n*digui(n-1); return(s); } main() {

int n;

scanf(\ printf(\} 2. main()

{

int i,j;

float a[20],temp,s=0;

for(i=0;i<20;i++) scanf(\ for(i=0;i<19;i++) for(j=i+1;j<20;j++) if(a[i]>a[j]) {

temp=a[i]; a[i]=a[j]; a[j]=temp; }

for(i=2;i<18;i++) s+=a[i]; printf(\}

本文来源:https://www.bwwdw.com/article/bsox.html

Top