中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx

上传人:b****7 文档编号:22162423 上传时间:2023-02-02 格式:DOCX 页数:22 大小:28.08KB
下载 相关 举报
中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx_第1页
第1页 / 共22页
中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx_第2页
第2页 / 共22页
中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx_第3页
第3页 / 共22页
中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx_第4页
第4页 / 共22页
中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx

《中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx》由会员分享,可在线阅读,更多相关《中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx(22页珍藏版)》请在冰豆网上搜索。

中国石油大学华东第二学期期末试题《C语言》综合复习Word格式.docx

66'

66"

B"

D)c=66;

A13.设a=3,b=4,c=-5,则逻辑表达式:

a||b+c&

b==c的值是

A)1B)0C)非0D)语法错

C14.以下能正确定义数组并正确赋初值的语句是

A)intN=5,b[N][N];

B)inta[1][2]={{1},{3}};

C)intc[2][]={{1,2},{3,4}};

D)intd[3][2]={{1,2},{34}};

A15.结构化程序设计的三种基本结构是

A)顺序结构、选择结构、循环结构B)if、switch、break

C)for、while、do-whileD)if、for、continue

B16.在一个C程序中

A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现

C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置

C17.以下合法的字符常量是

A)‘\084’B)‘ab’C)‘\x43’D)“\0”

C18.用8位无符号二进制数能表示的最大十进制数为

A)127B)128C)255D)256

D19.设有定义:

intx=0,y=1,z=1;

则运行表达式:

x=y++>

z--后,x,y,z的值分别是

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

A20.设有intx=11;

则表达式(x++*1/3)的值是

A)3B)4C)11D)12

D21.若有:

intx=1,n=5;

则执行语句x%=(n%2)后,x的值为

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

B22.结构化程序的3种基本控制结构是

A)if-else结构、while结构、for结构B)顺序结构、分支机构、循环结构

C)while结构、do-while结构、for结构D)以上三种都不对

C23.下面程序段的输出结果是

intk=11;

printf(“%d,%o,%x”,k,k,k);

A)11,12,11B)11,13,13C)11,013,0xbD)11,13,b

B24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是

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

C25.以下非法的赋值语句是

C26.语句:

printf("

%d"

(a=2)&

(b=-2));

的输出结果是

A)无输出B)结果不确定C)1D)2

C27.设有定义语句:

charstr[][20]={"

Hello"

"

Beijing"

},*p=str;

则printf("

%d\n"

strlen(p+20));

输出结果是

A)0B)5C)7D)20

B28.以下选项中,与k=++n完全等价的表达式是

A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1

二、读程序,写出程序执行结果

1.#include<

stdio.h>

voidmain()

{inta=10,b=0;

if(a==12)

{a++;

b++;

}

else

{a=a+3;

b=b+3;

}

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

答:

13,3

2.#include<

{ints,i;

for(s=0,i=1;

i<

5;

i++,s+=i);

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

14

3.#include“stdio.h”

{charn=‘c’;

switch(n++)

{default:

printf(“error!

”);

break;

case‘a’:

case‘A’:

case‘b’:

case‘B’:

printf(“good!

break;

case‘c’:

case‘C’:

printf(“pass!

case‘d’:

case‘D’:

printf(“warm!

pass!

warm!

4.#include<

{intk=4,n=0;

for(;

n<

k;

{n++;

if(n%3!

=0)continue;

k--;

%d,%d\n"

k,n);

3,3

5.#include<

intf(intb[],intm,intn)

{inti,s=0;

for(i=m;

=n;

i+=2)s+=b[i];

returns;

}

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

x=f(a,3,8);

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

18

6.#include<

voidcopy_str(charfrom[],charto[])

{intk=0;

while(from[k]!

=‘\0’)

{to[k]=from[k];

k++;

to[k]=‘\0’;

/*末尾加上串结束标志*/

{charstr1[80]=”red”,str2[80]=”green”;

copy_str(str1,str2);

puts(str2);

red

7.#include<

intd=1;

voidfun(intp)

{intd=5;

d+=p++;

printf(“%d”,d);

{inta=3;

fun(a);

d+=a++;

d);

84

8.#include<

{inti,j;

for(i=0;

i<

3;

i++)

{

for(j=0;

j<

=i;

j++)

*"

);

\n"

(空行)

*

**

9.#include<

{inti;

for(i=0;

3;

i++)

switch(i)

{case1:

printf("

%d"

i);

case2:

default:

011122

10.#include<

intws(intx)

{if(x/100>

0)

return(3);

elseif(x/10>

0)

return

(2);

return

(1);

{inta=123;

%d是%d位数\n"

a,ws(a));

123是3位数

11.#include<

#include<

string.h>

{chara[10]="

abc"

charb[]="

defg"

puts(a);

puts(b);

puts(strcat(a,b));

abc

defg

abcdefg

12.#include<

voidmain()

{inti,n[]={1,2,3,4,5};

2;

{n[i]=n[4-i]+1;

printf("

n[i]);

5;

6565345

13.#include<

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

inti,j,row=0,colum=0,max;

max=a[0][0];

for(i=0;

=2;

for(j=0;

j<

=3;

if(a[i][j]>

max)

{max=a[i][j];

row=i;

colum=j;

}

max=%d,row=%d,colum=%d"

max,row,colum);

max=10,row=1,colum=2

14.#include<

=‘\0’)

to[k]=‘\0’;

{charstr1[80]="

good"

str2[80]="

abcdef"

copy_str(str1,str2);

puts(str2);

good

15.#include<

{inta=0;

a+=(a=8);

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

16

16.#include<

{intx=4;

if(x++>

=5)

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

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

5

17.#include<

#defineMAX(a,b)(a>

b?

a:

b)+1

{inti=6,j=8;

printf(“%d\n”,MAX(i,j));

9

18.#include<

{inti,j,m=0,n=0,k=0;

for(i=6;

=9;

for(j=2;

switch(i%j)

{case0:

m++;

case1:

n++;

case2:

k++;

default:

n++;

m++;

%d%d%d\n"

m,n,k);

431

 

19.#include<

for(i=1;

{if(i%2)

putchar(‘<

’);

continue;

putchar(‘>

putchar(‘#’);

<

>

#

20.与12题重复

21.#include<

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

{inta=7,b=5;

fun(a,b)/m);

2

22.#include<

{intn=2;

printf(“%d,%d,%d\n”,++n,n+=2,--n);

4,3,1

23.#include<

{intx=1,a=0,b=0;

switch(x)

{case0:

case1:

a++;

b++;

printf(“a=%d,b=%d\n”,a,b);

a=2,b=1

24.#include<

{ints,t,a=-2,b=6;

s=t=1;

if(a>

0)s=s+1;

b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

t=%d"

t);

t=2

25.#include<

#defineS(a,b)(a)*(b)

{inta=3,area;

area=S(a,a+3);

area=%d\n"

area);

area=18

26.#include<

{inti=0,a=0;

while(i<

20)

{for(;

if((i%10)==0)break;

elsei--;

i+=11;

a+=i;

a);

32

27.#include<

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

inti,s=0;

for(i=0;

4;

i++)s+=aa[i][2];

29

28.#include<

fun(inta,intb)

{if(a>

b)return(a);

elsereturn(b);

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

r);

12

三、编程题

1.设有分段函数:

x(x<1)

Y=2x-1(1≤x<10)写一程序,输入x,输出y的值。

3x-11(x≥10)

intx,y;

printf(“输入x:

scanf(“%d\n”,&

x);

if(x<

1)

{y=x;

printf(“x=%3d,y=x=%d\n”,x,y);

elseif(x<

10)

{y=2*x-1;

printf(“x=%3d,y=2*x-1=%d\n”,x,y);

{y=3*x-11;

printf(“x=%3d,y=3*x-11=%d\n”,x,y);

2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值。

a-ba>

b

y=

a<

a*ba=b

floata,b,y;

scanf(“%f,%f”,&

a,&

b);

if(a<

b)

y=a/b;

if(a==b)y=a*b;

elsey=a-b;

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

3.编程序求如下分段函数的值

#include<

math.h>

voidmain()

{

floatx,y;

scanf(“%d”,&

=0)

y=fabs(x)+3;

1&

x>

=0)

{y=1+x*x;

{y=2*x+sqrt(x);

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

4.写一个判断素数的函数。

要求在主函数中输入一个整数并输出相应的判断信息。

{intn,i;

printf(“pleaseenteraintegernumber,n=?

n);

for(i=2;

=n-1;

if(n%i==0)break;

if(i<

n)printf(“%disnotaprimenumber.\n”,n);

elseprintf(“%disaprimenumber.\n”,n);

5.编程序计算s=1!

-2!

+3!

-4!

+……-10!

,并输出结果。

{inti,k=1,njie=1;

floatsum=0;

=10;

i++)

{njie=njie*i;

sum=sum+njie*k;

k=-1*k;

%f\n"

sum);

6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。

要求字符串的输入与输出在主函数中完成。

include<

inti;

chara[80];

gets(a);

puts(a);

80;

if(a[i]>

=65&

a[i]<

=90)

a[i]=a[i]+32;

7.编程计算:

s=1+12+123+1234+12345+123456(必须用循环控制语句实现)

longintt=0,s=0,i;

=6;

{t=i+t*10;

s=s+t;

printf(”s=%ld\n”,s);

8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。

例如输入是:

12345abcde,则输出为:

edcba54321

{

chara[100];

gets(a);

change(a);

puts(a);

voidchange(chara[])

inti,j,k;

chartemp;

k=strlen(a);

k;

for(j=i+1;

temp=a[i];

a[i]=a[j];

a[j]=temp;

9.编程,在N×

N矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。

#defineN10;

main()

inti,j;

inta[N][N];

intsum=0;

N;

for(j=0;

scanf("

&

a[i][j]);

if(i==j||(i+j==N))//i==j是判断是否主对角线的元素i+j==N是判断是否是次对角线的元素sum+=a[i][j];

10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分)

intmain()

inta[10],i,max,min;

floatsum;

10;

i++)

a[i]);

max=a[0];

min=a[0];

if(max<

a[i])

max=a[i];

elseif(min>

min=a[i];

{sum=sum+a[i];

sum=(sum-max-min)/8;

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

当前位置:首页 > 医药卫生 > 预防医学

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

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