安徽大学学年c语言期末卷子Word下载.docx

上传人:b****4 文档编号:6915834 上传时间:2023-05-07 格式:DOCX 页数:18 大小:23.19KB
下载 相关 举报
安徽大学学年c语言期末卷子Word下载.docx_第1页
第1页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第2页
第2页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第3页
第3页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第4页
第4页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第5页
第5页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第6页
第6页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第7页
第7页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第8页
第8页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第9页
第9页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第10页
第10页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第11页
第11页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第12页
第12页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第13页
第13页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第14页
第14页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第15页
第15页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第16页
第16页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第17页
第17页 / 共18页
安徽大学学年c语言期末卷子Word下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

安徽大学学年c语言期末卷子Word下载.docx

《安徽大学学年c语言期末卷子Word下载.docx》由会员分享,可在线阅读,更多相关《安徽大学学年c语言期末卷子Word下载.docx(18页珍藏版)》请在冰点文库上搜索。

安徽大学学年c语言期末卷子Word下载.docx

6.下列程序段的执行结果是______。

inti,x;

for(i=1,x=1;

i<

=20;

i++)

if(x>

=10)break;

if(x%2==1)

x+=5;

continue;

x-=3;

}printf("

%d,%d\n"

x,i);

A)6,4B)7,5C)10,6D)14,7

7.下列程序的执行结果是______。

#include"

stdio.h"

string.h"

main()

staticchars[10]={'

C'

'

h'

i'

n'

a'

};

%d\n"

strlen(s));

A)6B)5C)11D)10

8.函数的数据类型是______决定的。

A)调用该函数时临时B)调用函数的实参

C)return语句的表达式类型D)函数的形参

9.执行下列程序段后,*(p+5)的值是______。

staticchars[]="

Hello"

;

char*p;

p=s;

A)'

o'

B)'

\0'

C)'

的地址D)不确定的值

10.以下程序的输出结果是______。

staticinta[]={1,2,3,4,5,6},*p;

p=a;

*(p+3)+=2;

*p,*(p+3));

A)0,5B)1,5C)0,6D)1,6

11.在以下定义中,标识符P______。

int(*p)[3];

A)定义不合法。

B)是一个指针数组名,每个元素是一个指向整型变量的指针。

C)是一个指针,它指向一个具有三个元素的一维数组。

D)是一个指向整型变量的指针。

12.sizeof(int)是______。

A)一个整型表达式B)一个不合法的表达式

C)一种函数调用D)一条语句

13.有宏定义:

#defineMULT1(a,b)a*b

#defineMULT2(a,b)(a)*(b)

在后面的程序中有宏引用:

y=MULT1(3+2,5+8);

z=MULT2(3+2,5+8);

则y和z的值是______。

A)y=65,z=65B)y=21,z=65C)y=65,z=21D)y=21,z=21

14.设有程序段:

unionMYTYPE{longx;

inty[4];

charz[6];

}them;

main(){printf(“%d\n”,sizeof(them));

则程序的输出结果是______。

A)18B)6C)8D)4

15.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式

是______。

A)FILE*fp;

B)FILE*fp;

fp=fopen("

file1"

"

r"

);

r+"

C)FILE*fp;

D)FILE*fp;

rb"

rb+"

16.设有如下定义:

structsk{inta;

floatb;

}data,*p;

且p=&

data;

则对data中a域的正确引用是().

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

data.aD)p.data.a

17.若fun(intx){printf(“%d\n”,x);

},则fun_______。

A)返回值为void类型B)返回值无法确定

C)返回值为int类型D)没有返回值

18.实参和和形参之间的数据传送是_______。

A)地址传送B)实参传给形参,再由形参传给实参

C)值传送D)由用户指定传送方式

19.以下程序的输出结果是______。

char*s=”ABCD”,*p;

for(p=s;

*p;

p++)

%s\n"

p);

A)ABCDB)AC)DD)ABCD

BCDBCABC

CDCBAB

DDAA

20.下列程序段的输出是______。

intfun(intx)

{

staticinta=3;

a+=x;

returna;

}

voidmain(void)

intk=2,m=1,n;

n=fun(k);

n=fun(m);

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

A)3B)4C)6D)9

得分

二.填空题:

(每空1分,共20分)。

1.C语言有⑴、⑵、⑶、⑷和⑸五种常量。

2.C程序的变量不仅要事先⑹,而且还必须⑺后才能使用。

3.C语言在给出逻辑运算结果时,以⑻代表“真”,以⑼代表“假”;

在判断一个量是否为“真”时,以⑽代表“假”,以⑾代表“真”。

4.C语言规定只有⑿数组和⒀数组才能初始化;

这种数组不赋初值,系统会对所有数组元素自动赋以⒁值。

5.对两个指针变量进行关系运算的条件是⒂,其结果表示⒃。

6.一个C文件是一个⒄或⒅,它把数据看成是⒆,对文件的存取是以⒇为单位。

三.程序设计题(每空2分,共40分)

阅读下列程序,在横线上填入适当的内容使程序完整。

请将正确答案填在答题卡相应题目的横线上。

1.下列程序是求Fibonacci数列:

1,1,2,3,5,8……的前40个数,要求每行输出4个数。

longintf1,f2;

inti;

f1=1;

f2=1;

for(i=1;

=⑴;

%12ld%12ld"

f1,f2);

if(⑵)printf("

\n"

f1=⑶;

f2=⑷;

2.下列程序是求一个3×

4矩阵中值最小元素。

min_value(⑸)

{inti,j,k,min;

⑹=array[0][0];

for(i=0;

3;

for(j=0;

j<

4;

j++)

if(⑺)min=⑻;

⑼;

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

minvalueis%d\n"

min_value(⑽));

3.下列程序的功能是:

将字符串a复制到字符串b中。

voidcopy_string(char*from,⑾)

;

for(;

*from;

⑿)

⒀;

*to=⒁;

{char*a="

Iamaboy!

"

char*b="

Thisisatest!

⒂;

a=%s\a=%s\n"

a,b);

4.有一个班,3个学生,各学四门棵。

下列程序的功能是:

查找有一门以上课程不及格的学生,打印出他们的全部课程的成绩。

{⒃;

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

search(score,3);

voidsearch(float(*p)[4],intn)

{inti,j,flag;

n;

{flag=0;

if(⒄)flag=1;

if(⒅)

{printf("

No.%disfail\n"

j+i);

⒆;

%5.1f"

⒇);

}

参考答案:

CBDBBCBCBDCABBBBCCAC

(每题2分,共20分)

1常数2字符3字符串4、转义序列5符号常量

6定义7赋值819010非0

11012static13extern14015指向同一数组

16位置的前后17字节流18二进制流19一连串的字符20字符(字节)

三.程序归纳题(每题2分,共40分)

1202i%5==0

3f1+f24f1+f2

5intarray[3][4]6min

7min<

array[i][j]8array[i][j]

9returnmin10a

11char*to12from++,to++

13*to=*from14‘\0’

15copy_string(a,b)16voidsearch(float(*p)[4],intn)

17p[j][i]<

6018flag==1

19i<

420p[j][i]

安徽大学2008-2009学年第学期

《C语言程序设计》期末考试试卷(B卷120分钟)

1.执行程序:

后,a的值是______。

A)60B)20C)15D)10

2.程序段:

intx=023;

的输出是______。

3.程序段:

staticchars[10]={'

A)6B)5C)11D)10

4.若fun(intx){printf(“%d\n”,x);

A)返回值为void类型B)返回值类型无法确定

5.有宏定义:

且引用宏:

6.程序段chars[]="

*p;

执行后,*(p+5)的值是______。

7.程序段:

char*s=”ABCD”,*p;

p++)printf("

A)ABCDB)AC)DD)ABCD

8.若定义:

int(*p)[3];

则标识符p______。

9.定义:

则正确引用成员a的方式是______。

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

data.aD)(*p).data.a

10.以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。

B)FILE*fp;

C)FILE*fp;

D)FILE*fp;

(每空1分,共20分)

7.C程序一个函数的定义由__________和____________两部分组成。

8.C语言的整型变量可分为基本型、短整型、________和________。

9.C语言在判断一个量是否为“真”时,以____代表“假”,以____代表“真”。

10.C语言中的break语句只能用于______和______语句。

11.对________和________型数组不赋初值,系统会对所有元素自动赋以0值。

12.C语言中“文件包含”是通过____________命令完成的,而符号常量是通过____________命令定义的。

13.对于数组x[5][5],*(x+2)+3表示__________,*(x[3]+2)表示__________。

14.若定义:

struct{inty,m,d;

}today,*pdata;

则为today分配内存____字节,为pdata分配内存____字节。

15.C语言文件按数据的存放形式可分为________文件和_________文件。

16.C语言文件是一个________序列,这类文件称为_________文件。

三.程序归纳题(每题2分,共10分)

阅读下列函数,总结其主要功能填在答题卡相应的横线上。

1.intfun1(char*str){char*ptr=str;

while(*ptr++);

returnptr-str-1;

2.doublefun2(doublex,doubley,doublez){

returnx>

(y>

z?

y:

z)?

x:

z);

3.voidfuns3(intnum[],intsize){inti=0,tmp;

while(i<

size/2)tmp=num[i],num[i]=num[size-i-1],num[size-i-1]=tmp,i++;

4.voidfun4(char*f,char*t)

{for(;

*f!

='

f++,t++)*t=*f;

*t='

5.voidfun5(char*ps){inta1=0,a2=0;

while(*ps!

='

{if(*ps>

&

*ps<

z'

)a1++;

elseif(*ps>

0'

9'

)a2++;

p++;

%d,%d\n"

a1,a2);

四.程序分析题(每题2分,共10分)

阅读程序,将其运行结果填在答题卡相应题目的横线上。

1.#include"

voidmain(){

2.#include"

voidmain(){intx=1;

{intx=2;

{intx=3;

%2d"

x);

3.#include<

stdio.h>

#include<

string.h>

voidsort(char**str,intn){

char*tmp;

inti,j;

for(i=0;

i<

n-1;

i++)

for(j=0;

j<

n-i-1;

j++)

if(strcmp(str[j],str[j+1])>

0)

tmp=str[j],str[j]=str[j+1],str[j+1]=tmp;

voidmain(){

char**ps,*str[3]={"

BOOK"

,"

COMPUTER"

CHINA"

};

ps=str;

sort(ps,3);

i++)printf("

%d%s"

i+1,str[i]);

4.#include<

intleap_year(intyear){

returnyear%4==0&

year%100!

=0||year%400==0;

voidmain(){

intmonth_day[]={31,28,31,30,31,30,31,31,30,31,30,31},days,i;

structdate{

intyear;

intmonth;

intday;

}mdate={2008,5,1};

if(leap_year(mdate.year))

month_day[1]++;

for(i=1,days=mdate.day;

mdate.month;

days+=month_day[i-1];

%d-%disthe%dthdayin%d"

mdate.month,mdate.day,days,mdate.year);

5.#include<

voidadd(int*x,int*y,intn){

while(n--)*x+++=*y++;

inti=5;

staticints1[]={2,1,0,3,2},s2[5];

add(s2,s1,5);

while(i--)printf("

s2[i]);

五.程序设计题(每题10分,共40分)

阅读下列程序,在指定位置上填入适当的内容使程序完整。

请勿改动其它内容。

请将正确答案填在答题卡上。

1.函数insert将一个指定的单精度数按递减规律插入数组num中,注:

数组num中已有12个按照递减顺序排好序的单精度数。

voidinsert(floatnum[13],floatnew)

{inti=11;

/***answerbegin***/

……

/***answerend***/}

2.编写函数mycmp实现库函数strcmp的功能:

两个字符串的比较。

intmycmp(char*p1,char*p2)

{/***answerbegin***/

3.设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。

structperson

{charname[20];

intcount;

}leader[3]={“Li”,0,“Zhang”,0,”Wang“,0};

main()

{inti,j;

charleader_name[20];

=10;

{/***answerbegin***/

/***answerend***/}

%5s:

leader[i].name,leader[i].count);

4.从键盘上输入一个字符串,将其中的小写字母转换成大写字母,然后输出到名为“test”的文本文件中保存。

输入字符串以“!

”结束。

voidmain()

charstr[80];

FILE*fp;

if((fp=fopen("

test"

w"

))==NULL)

cannotopenfile\n"

exit(0);

Inputastring(endwith!

):

gets(str);

/***answerbegin***/

……

/***answerend***/

CBBCBBACBA

1函数说明2函数体3长整型4无符号型50

6非07switch8循环9extern10static

11#include12#define13&

x[2][3]14x[3][2]156

16217文本18二进制19字符(

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2