| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1848 人关注过本帖
标题:[求助]帮小第做这份试题
只看楼主 加入收藏
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
 问题点数:0 回复次数:12 
[求助]帮小第做这份试题

有哪位好心人事,帮小第做这份试题,小第感激不尽!谢谢了!!!!!!!!!!!!
一、
选择题(20分,共20个小题)

1、C语言提供合法的数据类型关键字是( )

A)Double B)short C)integer D)Char

2、下列四组标识符中,全部是合法标识符的一组是______
A) name, t3, x_y, _n3y B) function1, g, c10, k.c7
C) *4, trin, mA, Ma D) r_, _r, i, st'

2、对于下列各字符串,请选取择正确的标识符( )。

A)Boo B)for C)5abc D)I like C

3、下列不属于字符型常量的是( )

A)‘A’ B)“B” C)‘\n’ D)‘D’

4、 若有定义:int a = 7; float x = 2.5 , y = 4.7 ;

则表达式 x + a % 3 * (int) (x + y) % 2/4 的值是

A) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000

5、已知ch是字符型变量,下面不正确的赋值语句是

A)ch = 5 + 9; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6';

6、设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是 ( b)

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

7、在一个C程序中
A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置

8、(1) 组成C语言程序的是( )

A) 子程序 B) 过程

C) 函数 D) 主程序和子程序

9、如果x为float类型变量,则以下语句输出为(D)

x=213.82631;

printf(“%4.2\n”,x);

A) 宽度不够,不能输出 B) 213.82 C) 213.82631 D) 213.83

10、对于条件表达式(m)?(a++):(a--),其中的表达式M等价于

A)M==0 B)M==1 C)M!=0 D)M!=1

11、如下定义:

int x=10,y=3,Z;

则语句

print("%d\n",z=(x%y,x/y));

的输出结果是

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

12以下程序的输出结果是D

main()

{inta=1,b=2,c=3,d=4,m=0,n=0,t;

t=(m=a<b)||(n=c<d);

printf(m=%d,n=%d,m,n);}

A.m=0,n=0B.m=1,n=1

C.m=0,n=1D.m=1,n=0

13下列程序的运行结果为A

main()

{inta=1,b=-1,z=0;

if(a<0)if(b<0)z=1;

elsez=-1;

if(b)--a;

else++a;

printf(a=%d,z=%d,a,z);}

A.a=0,z=0B.a=0,z=-1

C.a=2,z=-1D.a=2,z=1

14inti=5,j=8;则执行完以下语句后j的值为B

switch(i)

{case4:j++;

case5:j--;

case6:

case7:j++;

default:j-=2;}

A.3B.6C.7D.8

151.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为B

A. 20B.26C.40D.46

16、x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值为A

A.2.5B.2.75C.3.5D.4.25

17、以下程序的运行结果为C

main()

{inta=32767;

printf("%d",a+2);}

A. 32767B.32769C.-32767D.-32769

18、下面程序段的执行结果应该是C

intx,y;

x=y=0;

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

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

A. 20,7B.6,12C.20,8D.8,20

19、设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为B

A. 0B.1C.4D.6.5

20、下面程序的运行结果为A

main()

{inti,j,a=0;

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

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

{if(j%2)break;

a++;}

a++;}

printf("%d",a);}

A. 4B.6C.7D.8

搜索更多相关主题的帖子: 试题 
2005-12-23 22:13
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

21、.以下程序的输出结果是:A

main()

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

if(x>y)

if(y<0)z=0;

elsez+=1;

printf("%d",z);}

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

22、在C语言中,若对函数的返回值类型未加显式说明,则默认类型为A

A. intB.floatC.charD.void

23、若inti=10,j=2;则执行i/=j+8后,i的值为B

A. 0B.1C.10D.13

24、设x=7.9,y=2.1,a=1,b=2,则(float)(a+b)/2+(int)x%(int)y的值为C

A.1.5B.2C.2.5D.4.5

25以下程序的输出结果为C

main()

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

if(x<y)

if(y<0)z=0;

elsez+=1;

printf("%d",z);}

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

26、执行以下程序段后的输出结果为C

intw=3,z=7,x=10;

printf("%d",x>10?x+100:x-10);

printf("%d",w++||z++);

printf("%d",!w>z);

printf("%d",w&&z);

A.0111B.1111

c.0101D.0100

27、设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为B

A. 0B.1C.4D.6.5

28下面程序段的运行结果是A

main()

{inti=5,j=0;

if(j=0)i++;

elsej--;

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

A. 5,-1B.5,0C.6,-1D.6,0

29、已知: int a=16, b=3, x=2; : a%b/x 的运算结果是______
A2.666667 B2.5 C0.5 D0

30程序片断如下,执行程序后屏幕输出是______
int i;
if( i = 0 ) printf("1.");
if( i < 1 ) printf("2.");
else  printf("3.");
A) 1.1. B) 1.2. C) 1.3. D)
以上三种都不对

31程序片断如下,程序执行后, 变量i的值是______
int i=1;
while(i++<10) ;
A) 9 B) 10 C) 11 D) 12

32.已知: int a[2][3]={{1,2,3},{4,5,6}};执行语句printf("%d",a[1]);屏幕显示______
A1 B)数组元素a[1][0]在内存中的地址
C4 D)以上三个都不对

33.程序片断如下,执行程序后屏幕显示______
int i = 5, *ip = &i;
printf("%d",ip);
A) 5 B)
变量i在内存中的地址
C)
变量ip在内存中的地址 D) 程序片断中有语法错误

2005-12-23 22:24
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

34、已知 int a[2],*pa = &a[0]; 语句pa+=2;执行后, 指针变量pa指向数组元素______
Aa[0] Ba[1] Ca[2] D)以上三个都不对

35、已知以下定义,输入199771用语句______
struct date
{ int year, mouth, day;
}d1;
A
scanf("%d%d%d",&date.year,&date.mouth,&date.day)
B
scanf("%d%d%d",&d1.year,&d1.mouth,&d1.day)
C
scanf("%d%d%d",d1.&year,d1.&mouth,d1.&day)
D
)此题的语句中有语法错误

36下述函数的功能是______
yyy(char *s)
{ char *t; t=s; while(*t++); return(t-s);
}
A)
求串长度 B)比较串大小 C)串复制 D)以上三个答案都不对

37下面各选项组中,均是C语言关键字的组是______
A) autoenumdefine Bswitchtypedefcontinue
C) signedunionscanf Difstructtype

38将字符g赋给字符变量c,正确的表达式是______
A) c="g" B) c=101 C) c='\147' D) c='0147'

39、已知:char aint bfloat cdouble d;执行语句 c=a+b+c+d;后,
变量c的数据类型是______
A) int B) char C) float D) double

40已知 int ji=1;执行语句 j=-i++;后,j的值是______
A) 1 B) 2 C) -1 D) –2

41、已知 int ja;执行语句 i=(a=2*3a*5)a+6;后,变量 i 的值是______
A) 6 B) 12 C) 30 D) 36

42已知 int i=5;执行语句 i+=++i;以后,变量i的值是______
A) 10 B) 11 C) 12 D) A,B,C答案都不对

43现有 #define N 3;的宏定义,执行语句 i=N*3 后,i的值是______
A) 3 B) 6 C) 9 D) A,B,C答案都不对

44、已知 char str[]="OK!";对指针变量 ps 的说明和初始化是______
A) char ps=str B) char *ps=str
C) char ps=&str D) char *pa=&str

45已知 int a[3][4]*p=ap+=6;那么与 *p的值相同的是______
A) *(a+6) B) *(&a[0]+6) C) *(a[1]+=2) D) *(&a[0][0]+6)

46已知 struct{ int i
char c
float a
}test
sizeof(test) 的值是______
A) 6 B) 7 C) 8 D) 9

47、已知 int i=0j=1*p=&i*q=&j;错误的语句是______
A) i=*&j B) p=&*&i C) j=*p++ D) i=*&q

48

一、 填空

1、 C语言中程序的三种基本结构为顺序结构、选择结构、循环结构

2、以下程序判断输入的年份是否是闰年。

voidleapyear(intyear)

{intf;

if(year%4==0&&year%100!=0||year%400==0)f=1;

elsef=0;

if(f)printf("%disaleapyear",y);

elseprintf("%disn’taleapyear",y);

}

3.以下程序对数组中的元素实现逆序存放。

#defineN5

voidinverse(inta[N])

{inti,temp;

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

temp=a[i],a[i]=a[N-1-i],a[N-1-i]=temp;

}

4、以下函数用筛法求100以内的素数。

#include"math.h"

voidshaifa(inta[101])

{inti,j;

for(i=1;i<=100;i++)a[i]=i;

for(a[1]=0,i=2;i<=sqrt(100);i++)

if(a[i]!=0)

{j=i+1;

while(j<=100)

{if(a[j]!=0&&a[j]%a[i]==0)a[j]=0;

j=j+1;}

}

}

5、实现循环的四种语句有gotoif组合的语句、while语句、do-while语句、for语句

6、.以下程序的运行结果是*#*#*#$

main()

{inti;

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

{if(i%2)printf("*");

elsecontinue;

printf("#");}

printf("$");

}

7、以下函数在有序数组a中插入一个数num,使得插入后的数组仍然有序。

voidinsert(inta[N+1],intnum)

{inti,j;

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

if(a[i]>num)break;

for(j=N;j>i;j--)a[j]=a[j-1];

a[j]=num

2005-12-23 22:24
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

}

8、1.下述程序的输出是________________________
main()
{ int x=3;
while(x%3!=2) x+=2;
printf("x=%d\n",x); /*
*/
while(x%5!=4) x+=6;
printf("x=%d\n",x); /* */
while(x%6!=5) x+=30;
printf("x=%d\n",x); /* */
while(x%7!=0) x+=30;
printf("x=%d\n",x); /*
*/
}
Ax = 5 Bx = 7 Cx = 9 Dx = 11
Ax = 11 Bx = 30 Cx = 29 Dx = 17
Ax = 59 Bx = 29 Cx = 89 Dx = 47
Ax = 41 Bx = 119 Cx = 30 Dx = 71

2.下述程序的输出是________________________
#include "stdio.h"
main() 
{ static int a[][3] = {1,2,3,4,5,6,7,8,9};
int (*p)[2] = a;
printf("%d\n",*p[1]); /*
*/
printf("%d\n",**p++); /* */
printf("%d\n",**p); /* */
printf("%d\n",*p[1]); /* */
}
A1 B2 C3 D4
A1 B2 C3 D4
A2 B3 C4 D5
A2 B3 C4 D5

下述程序的输出是___①___、___②___、___③___。
swap(p1,p2)
int *p1,*p2;
{ int p;
p = *p1; *p1 = *p2; *p2 = p;
printf("\np=%d",p); /* 第一次调用①, 第二次调用② */

}

main()
{ int n1 = 34, n2 = 21, n3 = 25, *p1 = &n1, *p2 = &n2, *p3 = &n3;
if( n1 > n2 ) swap(p1,p2);
if( n1 > n3) swap(p1,p3);
if( n2 > n3) swap(p2,p3);
printf("\n%d,%d,%d",n1,n2,n3); /* ③ */

}
① A)p=21 B)p=25 C)p=34 D)以上三个都不对
② A)p=21 B)p=25 C)p=34 D)以上三个都不对
③ A)21 25 34 B)21,25,34 C)212534 D)以上三个都不对

4.下述程序的输出是___①___、___②___、___③___、___④___。
#include "stdio.h"
main()
{ int a;

2005-12-23 22:27
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

char b;
float c;
long int d;
unsigned int e;
a=0x12345678,b=a,c=a,d=a,e=a;
printf("\nb= %x",b); /* ① */

printf("\nc= %x",c); /* ② */
printf("\nd= %x",d); /* ③ */
printf("\ne= %x",e); /* ④ */
}
① A)b=1234 B)b=5678 C)b=78 D)以上三个都不对
② A)b=1234 B)b=5678 C)b=78 D)以上三个都不对
③ A)b=1234 B)b=5678 C)b=78 D)以上三个都不对
④ A)b=1234 B)b=5678 C)b=78 D)以上三个都不对

5.下述程序的输出是______________________________
#include <stdio.h>
char *pp[2][3]={ "abc", "defgh", "ijkl", "mnopqr", "stuvw", "xyz"}

main ( )
{ printf ( "%c\n", ***(pp+1))
/* */
printf ( "%c\n", **pp[0]) /* */
printf ( "%c\n", (*(*(pp+1)+1))[4]) /* */
printf ( "%c\n", *(pp[1][2]+2)) /* */
printf ( "%s\n", **(pp+1)) /* */
}
A) a B) d C) i D) m
A) a B) d C) i D) m
A) h B) l C) q D) w
A) k B) o C) u D) z
A) ijkl B) mnopqr C) stuvw D) xyz

下述程序的输出是______。
main( )
{ printf("%f"
,2.5+1*7%2/4);
}
A) 2.500000 B) 2.750000 C) 3.375000 D) 3.000000

2. 下述程序的输出是______。
main( )
{ int i=0
,j=0,k=0,m;
for(m=0;m<4;m++)
switch(m)
{ case 0: i=m++;

case 1: j=m++
case 2: k=m++
case 3: m++
}
printf("\n%d
,%d,%d,%d",i,j,k,m);
}
A) 0,0,2,4 B) 0,1,2,3 C) 0,1,2,4 D) 0,1,2,5

3. 下述程序的输出是______。
main( )
{ float a

a=1/100000000
printf("%g",a);
}
A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0

4. 下述程序的输出是______。
main( )
{ union
{ char c

int i
}t
t.c='A'; t.i=1;
printf("%d,%d",t.c,t.i);
}
A) 65,1 B) 65,65 C) 1,1 D) A,B,C
答案都不对



5. 下述程序的输出是______。
main( )
{ char c='A'

if('0'<= c <='9') printf("YES")
else printf("NO")
}
A) YES B) NO C) YESNO D)
语句错误

6. 下述程序的输出是 ① 、 ② 、 ③ 、 ④ 、 ⑤ 。
main( )
{ char *str="abcde";
printf("%c\n",*str); /* ① */
printf("%c\n",*str++); /* ② */
printf("%c\n",*++str); /* ③ */
printf("%c\n",(*str)++); /* ④ */
printf("%c\n",++*str); /* ⑤ */

2005-12-23 22:27
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

}
① A) a B) b C) c D) d
② A) a B) b C) c D) d
③ A) a B) b C) c D) d
④ A) b B) c C) d D) e

⑤ A) b B) c C) d D) e

7. 下述程序的输出是 ① 、 ② 、 ③ 。
#include <stdio.h>
struct s
{ int x
,*y;
}*p
int data[5]={10,20,30,40,50};
struct s array[5]={ 100,&data[0],200,&data[1],300,&data[2],
400,&data[3],500,&data[4]};
main( )
{ p=array

printf("%d\n",++p->x); /* ① */
printf("%d\n",++*p->y); /* ② */
printf("%d\n",*++p->y); /* ③ */
}
① A) 100 B) 200 C) 300 D) A,B,C答案都不对
② A) 10 B) 20 C) 30 D) A,B,C答案都不对
③ A) 10 B) 20 C) 30 D) A,B,C答案都不对

8.下述程序的输出是 ① 、 ② 、 ③ 。
int k=1
main( )
{ int i=4

fun(i)
printf("\n%d,%d",i,k); /* ① */
}

fun(int m)
{ m+=k;k+=m;

{ char k='A'
printf("\n%d",k-'A'); /* ② */
}
printf("\n%d,%d",m,k); /* ③ */
}
① A) 4,1 B) 5,6 C) 4,6 D) A,B,C答案都不对
② A) 1 B) -59 C) -64 D) A,B,C答案都不对
③ A) 5,66 B) 1,66 C) 5,6 D) A,B,C答案都不对

9.下述程序的输出是 ① 、 ② 。
main( )
{ int k=4
,m=1,p;
p=fun(k,m); printf("%d",p); /* ① */
p=fun(k,m); printf("%d",p); /* ② */
}

fun(int a,int b)
{ static int m=0,i=2;

i+=m++
m=i+a+b;

return(m)
}
① A) 7 B) 8 C) 9 D) 10
② A) 14 B) 15 C) 16 D) 17

10.下述程序的输出是
struct str1
{ char c[5]

char *s
}
main( )
{ struct str1 s1[2]={{"ABCD"
"EFGH"}{"IJK""LMN"}}
struct str2
{ struct str1 sr

int d
}s2={"OPQ""RST"32767}
struct str1 *p[2]
p[0]=&s1[0] p[1]=&s1[1]
printf("%s"++p[1]->s) /* */
printf("%c"s2.sr.c[2]) /* */
}
A) LMN B) MN C) N D) IJK
A) O B) P C) Q D) R

2005-12-23 22:32
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

三、改错题(2×5′)

说明:将程序中含有错误的语句写在答题纸上,并将改正后的语句也写上。

格式:错误1:语句;改正:语句;

错误2:语句;改正:语句;

······

注意:每小题中至少有一处错误,请纠正所有的错误语句!

1.输入两个数,求两个数之和。

main()

{floata,b,sum;

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

sum=a+b;

printf("sum=%d",sum);

}

错误1:scanf("%d%d,a,b");改正:scanf("%f%f",&a,&b);

错误2:printf("sum=%d",sum);改正:printf("sum=%f",sum);

2.求1!+2!+3!+4!=5!+6!+...+20!

main()

{floatn,s=0,t;

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

t=t*n;

s=s+t;

printf("1!+2!+3!+4!=5!+6!+...+20!=%e\n",s);

}

错误1:floatn,s=0,t;改正:floatn,s=0,t=1;

错误2:for(n=1;n<20;++n)改正:for(n=1;n<=20;++n)

错误3:t=t*n;改正:t=t*n,

3.输入华氏温度,求摄氏温度,公式为:c=5/9(F-32)。输出结果取2位小数。

main()

{floatc,F;

scanf(“%d”,F);

c=5/9(F-32);

printf(“c=%2f”,c);

}

错误1:scanf(“%d”,F);改正:scanf(“%f”,&F);

错误2:c=5/9(F-32);改正:c=5.0/9*(F-32);

错误3:printf(“c=%2f”,c);改正:printf(“c=%.2f”,c);

4.比较两个字符的大小,按由小到大输出。

include<stdio.h>

main()

{chart,c1,c2;

getchar(c1,c2);

if(c1>c2)t=c1;c1=c2;c2=t;

printf(“%c,%c”,c1,c2);

}

错误1:include<stdio.h>改正:#include<stdio.h>

错误2:getchar(c1,c2);改正:c1=getchar(),c2=getchar();

错误3:if(c1>c2)t=c1;c1=c2;c2=t;改正:if(c1>c2)t=c1,c1=c2,c2=t;

一、 程序运行结果选择填空(每空1分,共20分)

二、 程序选择填空(每空2分,共30分)

三、 程序填空(每空2分,共30分)

1.以下程序的输出结果为

main()

{intx=12;

floata=3.14159;

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

printf("%-5d##\n",x);

printf("%10.6f##\n",a);

printf("%-10.6f##\n",a);

}

输出结果:

___12##

12___##

__3.141590##

3.141590__##

2.以下程序输入一个字母,并将它转换为密码。转换规则:将‘a’变成‘z’,将‘b’变成‘y’......,将‘Z’变成‘A’,将‘Y’变成‘B’......。

#include"stdio.h"

main()

{charc;

c=getchar();

if(c>=‘A’&&c<=‘Z’)c=‘A’+26-(c-‘A’+1);

elseif(c>=‘a’&&c<=‘z’)c=‘a’+26-(c-‘a’+1);

putchar(c);

}

3、以下程序使用递归的方法求两个数的最大公约数。

intGYS(intm,intn)

{if(n==0)returnm;

elsereturnGYS(n,m%n));

}

voidmain()

{intm,n;

printf("PleaseenterNumbermandn:(m、n>0))\n");

scanf("%d,%d",&m,&n);

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

}

2005-12-23 22:33
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 

四、 编程题

1.输入n个数(1<n<10),求它们的最小公倍数。(15’

参考程序:

main()

{intn,i,gbs,a[10];

printf("\nPleaseinputn:(1<n<10)\n");

scanf("%d",&n);

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

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

scanf("%d",&a[i]);}

gbs=a[0];

do

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

if(gbs%a[i]!=0)

{gbs=gbs+a[0];break;}

while(i<n);

printf("Themaxgbsis%d",gbs);

}

1.输入一个字符串,将其中的元音字母复制到另一个字符串。

参考程序

#defineN50

main()

{inti,j;

charstr1[N],str2[N],c;

printf("\nPleaseinputastring\n");

gets(str1);

printf("\ntheoriginalstringis:\n");

puts(str1);

i=0,j=0;

while((c=str1[i++])!='\0')

if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'

||c=='o'||c=='O'||c=='u'||c=='U')

str2[j++]=c;

str2[j]='\0';

printf("\nthecopyedstringis:\n");

puts(str2);

getche();

}

2005-12-23 22:34
白杨树
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-12-23
收藏
得分:0 
哪位好心人帮我一下呀
2005-12-23 22:35
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
收藏
得分:0 
是不是你考试的题目啊

自强不息:)
2005-12-24 19:41
快速回复:[求助]帮小第做这份试题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084600 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved