本科C语言模拟一含答案Word文档下载推荐.docx

上传人:b****5 文档编号:16201801 上传时间:2022-11-21 格式:DOCX 页数:16 大小:22.97KB
下载 相关 举报
本科C语言模拟一含答案Word文档下载推荐.docx_第1页
第1页 / 共16页
本科C语言模拟一含答案Word文档下载推荐.docx_第2页
第2页 / 共16页
本科C语言模拟一含答案Word文档下载推荐.docx_第3页
第3页 / 共16页
本科C语言模拟一含答案Word文档下载推荐.docx_第4页
第4页 / 共16页
本科C语言模拟一含答案Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

本科C语言模拟一含答案Word文档下载推荐.docx

《本科C语言模拟一含答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《本科C语言模拟一含答案Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

本科C语言模拟一含答案Word文档下载推荐.docx

C.&

&

D.!

=

11、若变量已正确定义并赋值,下面符合C语言语法的表达式是

A.a:

=b+1

B.a=b=c+2

C.int18.5%3

D.a=a+7:

c+b

12、设CH是字符型变量,其值为'

A'

下列表达式的值是

CH=(CH 

>

='

CH 

<

Z'

)?

(CH+32):

CH

A.A

B.a

C.z

D.Z

13、表达式18/4*sqrt(4.0)/8值的数据类型为

A.int

B.float

C.double

D.不确定

14、在C语言中,要求运算数必须是整型的运算符是

A./

B.%

C.!

D.>

15、以下说法中正确的是

A.#define和printf都是C语句

B.#define是C语句,而printf不是

C.printf是C语句,但#define不是

D.#define和printf都不是C语句

16、下面程序的输出是

main()

a=-1,b=4,k;

k=(a++<

=0)&

(!

(b--<

=0));

%d%d%d%\n"

k,a,b);

A.003

B.012

C.103

D.112

17、设有:

a=1,b=2,c=3,d=4,m=2,n=2;

执行 

(m=a 

b)&

(n=c 

d)后n的值是

A.1

B.2

C.3

D.4

18、若有条件表达式 

(exp)?

a++:

b--,则以下表达式中能完全等价于表达式(exp)的是

A.(exp==0

B.(exp!

=0)

C.(exp==1)

D.(exp!

=1)

19、为表示关系X≥Y≥Z应使用C语言表达式:

__

  

A.(X>

=Y)&

(Y>

=Z)

B.(X>

=Y)and(Y>

C.(X≥Y≥Z)

D.(X≥Y)&

(Y≥Z)

20、能正确表示逻辑关系:

"

≥ 

=10或a 

≤ 

0"

的C语言表达式是

A.a>

=10ora<

=0

B.a>

=0||a<

=10

C.a>

=10&

a<

D.a<

=0||a>

=10

21、下面的程序是______

  main()

  { 

x=3,y=0,z=0;

  if 

(x==y+z) 

****"

);

  else 

####"

  }

A.有语法错误不能过通过编译

B.输出****

C.可能通过编译,但是不能通过连接,因而不能运行

D.输出####

22、执行下面语句后的输出为( 

) 

i= 

-1;

if 

(i 

=0)printf("

****\n"

)逗号

else 

%%%%\n"

A.****

B.%%%%

C.%%%%C

D.有语法错,不能执行

23、若运行以下程序时,从键盘输入 

ADescriptor 

CR 

( 

表示回车),则下面程序的运行结果是

#include 

stdio.h>

{char 

c;

v0=0,v1=0,v2=0;

do{

  switch(c=getchar())

     

{case 

'

a'

:

case 

     case 

e'

E'

i'

I'

o'

O'

u'

U'

v1+=1;

     default:

v0+=1;

v2+=1;

      

}   

  }while(c!

\n'

v0=%d,v1=%d,v2=%d\n"

v0,v1,v2);

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=12,v1=4,v2=12

24、以下程序的输出结果是

  

   main( )

   {   int  

n=4;

       

while(n--)printf("

%d 

,--n);

   }

A.20

B.31

C.321

D.210

25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;

若分成7个零件一组,则多3个零件;

若分成9个零件一组,则多5个零件。

下面程序是求这堆零件总数,请选择填空。

{int 

i;

for(i=100;

i<

200;

i++)

  if((i-2)%4==0)

    

if(!

((i-3)%7))

     if( 

______ 

%d"

i);

A.i%9=5

B.i%9!

=5

C.(i-5)%9!

=0

D.i%9==5

26、以下程序的输出结果是

int  

i,j,x=0;

 for(i=0;

2;

   

x++;

for(j=0;

3;

j++)

     { 

if(j%2) 

continue;

      x++;

     }

x++

   }

printf("

x=%d\n"

,x);

A.x=4

B.x=8

C.x=6

D.x=12

27、以下程序的输出结果是

stdio.h 

string.h 

main() 

char 

b1[8]="

abcdefg"

b2[8],*pb=b1+3;

while 

(--pb 

b1) 

strcpy(b2,pb);

%d\n"

strlen(b2));

A.8

B.3

C.1

D.7

28、下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空

a,b,t;

scanf("

%d%d"

&

a,&

b);

while( 

___________ 

   {if(a 

b)

{t=a;

a=b;

b=t;

%d,%d\n"

a,b);

A.!

a=b

B.a!

=b

C.a==b

D.a=b

29、下面程序的输出结果是(  )。

 #include<

stdio.h>

 main()

 {int 

x=10,y=10,i;

  for(i=0;

x>

8;

y=++i)

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

A.10192

B.9876

C.10990

D.101091

30、以下程序的输出结果是

main( )

{  

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

for(i=0;

4;

i+=2)printf("

%d "

,x[i][i]);

A.52

B.91

C.53

D.97

31、若有说明:

a[3][4]={0};

则下面正确的叙述是

A.只有元素a[0][0]可得到初值0

B.此说明语句不正确

C.数组a中各元素都可得到初值,但其值不一定为0

D.数组a中每个元素均可得到初值0

32、以下程序的输出结果是

a[10]={'

1'

,'

2'

3'

4'

5'

6'

7'

8'

9'

,0},*p;

i;

i=8;

p=a+i;

%s\n"

,p-3);

A.6

B.6789

D.789

33、以下程序的输出结果是

#define  f(x)   

x*x

a=6,b=2,c;

c=f(a) 

f(b);

,c);

A.9

B.6

C.36

D.18

34、若有说明语句

a[]="

It 

is 

mine"

;

*p="

则以下不正确的叙述是

A.a+1表示的是字符t的地址

B.p指向另外的字符串时,字符串的长度不受限制

C.p变量中存放的地址值可以改变

D.a中只能存放10个字符

35、请选出正确的程序段

A) 

*p;

      B) 

*s, 

k;

p);

    *s=100;

…          …

C) 

D) 

*p, 

      

e;

s=&

         

p=&

A.

B.

C.

D.

36、在位运算中,操作数每右移一位,其结果相当于

A.操作数乘以2

B.操作数除以2

C.操作数乘以4

D.操作数除以4

37、请读程序:

#include<

void 

FUN(int 

S[])

static int 

J=0;

do

{ 

S[J] 

+=S[J+1];

++J<

2);

int K, 

A[10]={ 

1,2,3,4,5};

for( 

K=1;

K<

K++) 

FUN(A);

for 

(K=0;

5;

K++) printf("

A[K]);

上面程序输出结果是

A.34756

B.23445

C.35745

D.12345

38、下列程序段的输出结果是(  )。

 void 

fun(int 

*x,int 

*Y)

 {printf(”%d%d”,*X,*Y);

*X=3;

*Y=4;

X=1,Y=2;

  fun(&y,&

x);

  prinff(”%d%d”,x,Y);

 }

A.2143

B.1212

C.2121

D.2134

39、下面程序的输出结果是(  )。

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

  P=a:

  printf(”%d\n”,*P+9);

A.0

B.1

C.10

D.9

40、分析以下程序的运行结果(  )。

  #include<

  func(int 

a,int 

  {

  int 

c;

  c=a+b;

  return 

  main()  。

x=6,r;

  r=func(x,x+=2);

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

A.14

B.15

C.16

D.17

填空题:

(每题1.5分,共24分)

1、在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为_______;

一个int型数据在内存中所占的字节数为_______

1,2

2、设有以下变量定义,并已赋确定的值

charw;

intx;

floaty;

doublez;

则表达式:

w*x+z-y所求得的数据类型为__________。

double

3、若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为________,n的值为_________

x+=n++

10,6

4、若有定义:

intb=7;

floata=2.5,c=4.7;

则下面表达式的值为______

a+(int)(b/3*(int)(a+c)/2)%4

5.500000

5、若有定义:

inta=8,b=5,C;

,执行语句C=a/b+0.4;

后,c的值为

1

6、以下程序不用第三个变量,实现将两个数进行对调操作:

#include

main()

{inta,b;

scanf("

&

a,&

a=%db=%d\n"

a,b);

a=a+b;

b=(________);

a=a-b;

a-b

7、直接使用printf()的格式符输出十六进制数。

本题程序如下:

﹟include﹤stdio.h﹥

voidmain()

{

intI;

,&

I);

%d(10)﹤=﹥%x(16)﹨n"

I,I);

}

输入100的执行结果为__________。

100(10)<

=>

64(16)

8、在c语言中,关系运算符的优先级别是——。

<

,>

,<

=,>

=,==,!

9、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是——。

x>

5||x<

-5

10、下列程序段的输出结果是_____________。

intn='

c'

switch(n++)

{default:

error"

break;

case'

b'

B'

good"

C'

pass"

d'

D'

warm"

passwarm

11、设有以下程序:

{intn1,n2;

n2);

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

n1);

程序运行后,如果从键盘上输入1298;

则输出结果为_________。

8921

12、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

请填空

intn=0,c;

c=getchar();

while(_______)

{if(______)n++;

c!

,c>

='

0'

c<

13、以下程序的运行结果是__________________

{staticchara[]={'

*'

'

};

inti,j,k;

for(i=0;

i<

5;

i++)

j<

i;

j++)printf("

%c"

'

for(k=0;

k<

k++)printf("

a[k]);

****

****

****

14、若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};

则初始化后,a[1][2]得到的初值是____,a[2][1]得到的初值是______。

0

6

15、若有定义语句:

chars[100],d[100];

intj=0,i=0;

,且s中已赋字符串,请填空以实现字符串拷贝。

(注:

不得使用逗号表达式)

while([i]){d[j]=_____________;

j++;

i++;

d[j]=0;

s[i++]

16、以下函数用以求x的y次方,请填空。

doublefun(doublex,inty)

inti:

doublez=1.0:

for(i-1;

i_________;

z=________;

returnz:

=yz*x

程序设计题:

(请在以下3题中任选2题作答,若3道全部解答,以前2道为准,每题8分,共16分)

1、设某国今年的国民生产总值为45600亿元,若今后每年以8%的增长率增长,计算多少年后能实现国民生产总值翻两番?

main()

intn;

floata,s;

for(s=0,n=0,a=45600.0;

s<

=3*45600.0;

n++)

a=a+a*0.08;

s=a;

n);

}_

本题参考答案:

15

2、编程序求1+3+5+7+9+…这样的数之和。

如果累加数大于900时,则程序终止并输出结果。

inti=1,sum=0;

while(sum<

=900)

sum=sum+i;

i=i+2;

\n%d"

sum);

参考答案:

936

3、编程序求1~125的平方根的和并输出结果。

(保留小数点两位)

include"

math.h"

{floata,s=0;

clrscr();

for(a=1;

a<

=125;

a++)

{s=s+sqrt(a);

%.2f"

s);

本题答案:

937.08

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

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1