青岛科技大学c语言期末考试题.docx

上传人:b****5 文档编号:6163863 上传时间:2023-01-04 格式:DOCX 页数:10 大小:17.50KB
下载 相关 举报
青岛科技大学c语言期末考试题.docx_第1页
第1页 / 共10页
青岛科技大学c语言期末考试题.docx_第2页
第2页 / 共10页
青岛科技大学c语言期末考试题.docx_第3页
第3页 / 共10页
青岛科技大学c语言期末考试题.docx_第4页
第4页 / 共10页
青岛科技大学c语言期末考试题.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

青岛科技大学c语言期末考试题.docx

《青岛科技大学c语言期末考试题.docx》由会员分享,可在线阅读,更多相关《青岛科技大学c语言期末考试题.docx(10页珍藏版)》请在冰豆网上搜索。

青岛科技大学c语言期末考试题.docx

青岛科技大学c语言期末考试题

文件管理序列号:

[K8UY-K9IO69-O6M243-OL889-F88688]

 

青岛科技大学c语言期末考试题

第四套试题

一、选择题(20个小题,每小题2分,共40分):

1、以下不正确的C语言标识符是____。

A.ABCB.abcC.a_bcD.ab.c

2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是____。

A.‘a’&&‘b’B.a<=bC.a||b+c&&b-cD.!

((a

c||1)

3、若有以下定义和语句:

charc1=‘b’,c2=‘e’;

printf(“%d,%c\n”,c2-c1,c2-‘a’+‘A’);则输出结果是____。

A.2,MB.3,E

C.2,eD.输入项与对应的格式控制不一致,输出结果不确定

main()

{inta;floatb,c;

scanf(“%2d%3f%4f”,&a,&b,&c);

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

}

A.a=98,b=765,c=4321B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0

5、设有如下函数定义:

intf(char*s)

{char*p=s;

while(*p!

=‘\0’)p++;

return(p-s);

}

如果在主程序中用下面的语句调用上述函数,则输出结果为____。

printf(“%d\n”,f(“goodbye!

”));

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

6、以下程序的输出结果是____。

main()

{intw=4,x=3,y=2,z=1;

printf(“%d\n”,(w

z

x));

}

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

7、以下程序段的输出结果是____。

intk,j,s;

for(k=2;k<6;k++,k++)

{s=1;

for(j=k;j<6;j++)s+=j;

}

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

A.9B.1C.11D.10

8、以下叙述正确的是____。

A.do_while语句构成的循环不能用其它语句构成的循环来代替

B.do_while语句构成的循环只能用break语句退出

C.用do_while语句构成循环时,只有在while后的表达式为非零时结束循环

D.用do_while语句构成循环时,只有在while后的表达式为零时结束循环

9、以下函数调用语句中,含有的实参个数是____。

func((exp1,exp2),(exp3,exp4,exp5));

A.1B.2C.4D.5

10、以下程序的输出结果是____。

doublef(intn)

{inti;

doubles=1.0;

for(i=1;i<=n;i++)s+=1.0/i;

returns;

}

main()

{inti,m=3;

floata=0.0;

for(i=0;i

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

}

A.5.500000B.3.000000C.4.000000D.8.25

11、以下程序段的输出结果是____。

inti,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)m++;

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

A.12B.15C.20D.25

12、以下程序中若第一个printf语句输出的是194,则第二个printf语句输出结果是____。

main()

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

p=a;

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

printf(“%x\n”,p+9);

}

A.212B.204C.1a4D.1a6

13、若有定义:

inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是____。

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

14、以下程序的输出结果是____。

main()

{intaa[3][3]={{2},{4},{6}},i,*p=&aa[0][0];

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

{if(i==0)aa[i][i+1]=*p+1;

else++p;

printf(“%d”,*p);

}

printf(“\n”);

}

A.23B.26C.33D.36

15、执行下列程序后,y的值是____。

main()

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

inty=1,*p,x;

p=&a[1];

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

y+=*(p+x);

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

}

A.17B.18C.19D.20

16、以下程序的输出结果是____。

voidsub(floatx,float*y,float*z)

{*y=*y-1.0;

*z=*z+x;

}

main()

{floata=2.5,b=9.0,*pa,*pb;

pa=&a;pb=&b;

sub(b-a,pa,pa);

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

}

A.9.000000B.1.500000C.8.000000D.10.500000

17、下面程序的输出结果是____。

#include“stdio.h”

main()

{staticcharb[]=“Goodbye”;

char*chp=&b[7];

while(--chp>=&b[0])putchar(*chp);

putchar(‘\n’);

}

A.GoodbyeB.gOODBYEC.无任何输出D.eybdooG

18、若有如下说明,则____的叙述是正确的。

structst

{inta;

intb[2];

}a;

A.结构体变量a与结构体成员a同名,定义是非法的

B.程序只有在执行到该定义时才为结构体st分配存储单元

C.程序运行时为结构体变量a分配6个字节存储单元

D.不能将结构体类型说明与变量定义紧凑写在一起

19、设有如下定义:

structstd

{inta;

floatb;

}data,*p;

若有p=&data;则对data中的成员变量a的正确引用是____。

A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a

20、以下程序的输出结果是____。

main()

{charx=040;

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

}

A.100B.160C.120D.64

二、填空题(10个小题,每小题2分,共20分):

1、若a是int型变量,则执行表达式a=25/3%3后,a的值为____。

2、C语言中用____表示逻辑值“真”。

3、用在循环结构中,可以结束本次循环的语句是____。

4、用数组名作为函数参数是地址传递方式。

地址传递是____(单向/双向)传递。

5、在二维数组初始化时,可以省略数组的____(行下标/列下标),系统会根据初值的个数,算出该下标的大小。

6、若输入字符‘A’,在以下while语句执行后ch的值为____。

while(ch=getchar()==‘A’);

7、所谓“指针”,就是____。

8、设有宏定义:

#defineMUL(z)(z)*(z),则执行以下语句后,输出结果为____。

printf(“%d\n”,MUL(1+2)+3);

9、若有定义和语句:

charstr[]=“ABCD”,*p=str;

printf(“%d\n”,*(p+4));则输出结果是____。

10、能够实现局部翻转(0变1,1变0)的位运算是____。

三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):

1、若运行以下程序时,从第一列开始输入数据:

2473代表Enter),写出程序的执行结果。

#include“stdio.h”

main()

{charc;

while((c=getchar())!

=‘\n’)

switch(c-‘2’)

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

printf(“\n”);

}

2、main()

{intx=2,y=3,z=0;

try(x,y,z);

printf(“

(2)x=%d,y=%d,z=%d\n”,x,y,z);

}

try(intx,inty,intz)

{z=x+y;x=x*x;y=y*y;

printf(“

(1)x=%d,y=%d,z=%d\n”,x,y,z);

}

3、#include“stdio.h”

#include“string.h”

main()

{char*p1=“abc”,*p2=“ABC”,str[50]=“xyz”;

strcpy(str+2,strcat(p1,p2));

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

}

4、#include“stdio.h”

#defineNUM8

voidinvert(int*a,intn);

main()

{inta[NUM]={10,20,30,40,50,60,70,80},i;

invert(a,NUM);

for(i=0;i

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

printf(“\n”);

}

voidinvert(int*a,intn)

{inti,j,t;

i=0;j=n-1;

while(i

{t=a[i];a[i]=a[j];a[j]=t;

i++;j--;

}

}

四、编程题(2个小题,每小题10分,共20分):

1、编写程序,计算如下公式的值:

t=1-1/(2*2)-1/(3*3)-…-1/(m*m)。

例如,若m=5,则应输出0.536389。

要求:

利用scanf函数输入m的值。

利用子函数形式,m充当参数,不能只利用main函数形式实现。

2、编写程序,从输入的10个字符串中通过比较,找出最小和最大的字符串进行输出。

要求:

利用二维字符数组。

利用gets函数进行输入,puts函数进行输出。

第四套试题

一、选择题(20个小题,每小题2分,共40分):

1、D2、D3、B4、C5、C6、A7、D8、D9、B10、A

11、C12、D13、D14、A15、C16、B17、D18、C19、B20、D

二、填空题(10个小题,每小题2分,共20分):

1、22、非零值3、continue4、双向5、行下标

6、17、地址8、129、010、^(异或)

三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):

1、668977

2、

(1)x=4,y=9,z=5

(2)x=2,y=3,z=0

3、xyabcABC

4、8070605040302010

四、编程题(2个小题,每小题10分,共20分):

1、main()

{floatfun(intm),t;

intm;

scanf(“%d”,&m);

t=fun(m);

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

}

floatfun(intm)

{floatt=1,s;

inti;

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

{s=1.0/(i*i);

t=t-s;

}

returnt;

}

2、#include“stdio.h”

#include“string.h”

main()

{charstr[10][20],s[20];

inti;

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

gets(str[i]);

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

if(strcmp(str[0],str[i])>0)

{strcpy(s,str[0]);

strcpy(str[0],str[i]);

strcpy(str[i],s);

}

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

if(strcmp(str[i],str[9])>0)

{strcpy(s,str[i]);

strcpy(str[i],str[9]);

strcpy(str[9],s);

}

puts(str[0]);

puts(str[9]);

}

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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