《C程序设计》样卷2Word文件下载.docx

上传人:b****6 文档编号:21695030 上传时间:2023-01-31 格式:DOCX 页数:13 大小:18.64KB
下载 相关 举报
《C程序设计》样卷2Word文件下载.docx_第1页
第1页 / 共13页
《C程序设计》样卷2Word文件下载.docx_第2页
第2页 / 共13页
《C程序设计》样卷2Word文件下载.docx_第3页
第3页 / 共13页
《C程序设计》样卷2Word文件下载.docx_第4页
第4页 / 共13页
《C程序设计》样卷2Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

《C程序设计》样卷2Word文件下载.docx

《《C程序设计》样卷2Word文件下载.docx》由会员分享,可在线阅读,更多相关《《C程序设计》样卷2Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

《C程序设计》样卷2Word文件下载.docx

if(i>

100)

break;

(B)for(;

);

(C)intk=1000;

do

++k;

}while(k>

=10000);

(D)ints=36;

while(s);

--s;

6.假定a和b为int型变量,则执行下述语句组后,b的值为()。

a=1;

b=10;

b-=a;

a++;

}while(b--<

0);

(A)9(B)-2(C)-1(D)8

7.设有变量说明语句

inta=1,b=0;

则执行以下程序段的输出结果为()。

switch(a)

case1:

switch(b)

case0:

printf("

**0**"

break;

**1**"

case2:

**2**"

\n"

(A)**0**(B)**0****2**(C)**0****1****2**(D)有语法错误

8.以下合法的数组说明是()。

(A)chara[6]="

string"

(B)inta[5]={0,1,2,3,4,5};

(C)chara="

(D)INTa[]={0,12,3,4,5};

9.下述程序代码中有语法错误的行是()。

inti,ia[10],ib[10];

/*第一行*/

for(i=0;

=9;

i++)/*第2行*/

ia[i]=0;

/*第3行*/

ib=ia;

/第4行*/

(A)第1行(B)第2行(C)第3行(D)第4行

10.若已定义

inta[9],*p=a;

并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是()。

(A)p+1(B)a+1(C)a++(D)++p

11.若有下述说明和语句

int**pp,*p,a=10,b=20;

pp=&

p;

p=&

a;

b;

%d,%d\n"

*p,**pp);

则输出结果是()。

(A)10,10(B)10,20(C)20,10(D)20,20

12.执行下述程序后的输出结果是()。

#include<

func(inta)

intb=0;

staticintc=3;

a=c++,b++;

return(a);

inta=2,i,k;

2;

i++)

k=func(a++);

k);

(A)3(B)0(C)5(D)4

13.执行下述程序的输出结果是()。

intaa[3][3]={{2},{4},{6}};

inti,*p=&

aa[0][0];

if(i==0)

aa[i][i+1]=*p+1;

else

++p;

%d"

*p);

(A)23(B)26(C)33(D)36

14.读下面的程序,正确的输出结果是()。

staticinta=50;

f1(inta)

%d,"

a+=10);

f2(void)

a+=3);

inta=10;

f1(a);

f2();

a);

(A)60,63,60(B)20,23,23(C)20,13,10(D)20,53,10

15.执行下述程序的输出结果是()。

intpower(intx,inty);

floata=2.6,b=3.4;

intp;

p=power((int)a,(int)b);

p);

intpower(intx,inty)

inti,p=1;

for(i=y;

i>

0;

i--)

p=p*x;

return(p);

(A)8(B)9(C)27(D)81

16.已知函数scopy的定义如下

voidscopy(char*s,char*t)

while(*s++=*t++);

则该函数的功能是()。

(A)串复制(B)求串长度(C)串比较(D)串反向

17.执行下述程序的输出是()。

structcomplex

intre;

intim;

};

structcomplexcp[3]={2,5,4,7};

cp[2].re=cp[0].re+cp[1].re;

cp[2].im=im=cp[0].im+cp[1].im;

%d%d\n"

cp[2].re,cp[2].im;

(A)711(B)612(C)99(D)126

18.执行下述程序的输出结果是()。

union

intk;

chari[2];

}*s,a;

s=&

s->

i[0]=0x39;

i[1]=0x38;

%x\n"

s->

k);

(A)3839(B)3938(C)380039(D)390038

19.有以下程序

/*filename:

file.c*/

stdlib.h>

main(intargc,char*argv[])

FILE*fp1,*fp2;

if(argc<

3)

Usage:

filefilename1filename2\n"

exit(0);

fp1=fopen(argv[1],"

r"

fp2=fopen(argv[2],"

w"

while(!

feof(fp1))

fputc(fgetc(fp1),fp2);

fclose(fp1);

fclose(fp2);

若在DOS提示符下输入如下的命令行

fileabc.filxyz.fil

且程序正常执行完毕。

那么,该程序所实现的功能是()。

(A)将文件xyz.fil的内容复制到文件abc.fil

(B)将文件abc.fil的内容复制到文件夹xyz.fil

(C)读取文件xyz.fil的内容并在屏幕上显示出来

(D)读取文件abc.fil的内容并在屏幕上显示出来

20.以下程序for语句循环体中printf语句执行次数是()。

#defineN2

#defineMN+1

#defineNUM(M+1)*m/2

inti;

for(i=1;

=NUM;

(A)5(B)6(C)8(D)9

解答:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

二、程序阅读题

1.以下程序输出的结果是________。

#include<

voidmain()

{intn;

for(n=1;

n<

=10;

n++)

{if(n%2)continue;

printf("

%d\t"

n);

}

}

2,4,6,8,10

2.阅读以下函数,写出此函数的功能。

floatfun1(floata[],intn)

{inti=1;

floatresult=a[0];

for(;

i<

n;

i++)

if(result>

a[i])result=a[i];

returnresult;

求具有n个元素的float数组中的最小元素值,并返回该值。

3.以下程序的运行结果是。

inta=8,b=5;

intmax(inta,intb)

{intc;

c=a>

b?

a:

return(c);

{inta=2;

max(a,b));

4.运行以下程序,若输入:

57<

回车>

时,写出程序的输出结果。

voidfun(int*p1,int*p2)

{intt;

t=*p1;

*p1=*p2;

*p2=t;

{intx,y;

int*p1,*p2;

scanf("

%d%d"

&

x,&

y);

p1=&

x;

p2=&

y;

if(x<

y)fun(p1,p2);

x=%d,y=%d"

x,y);

x=7,y=5

5.写出以下程序的功能。

{inta[5]={1,5,2,4,3},i,j,t;

for(j=1;

j<

=4;

j++)

for(i=0;

=4-j;

if(a[i]<

a[i+1])

{t=a[i];

a[i]=a[i+1];

a[i+1]=t;

5;

i++)printf("

a[i]);

}

对数组元素按从大到小进行排序

三、程序填空题

1.以下函数的功能是返回b的e次幂。

例如,intPow(2,3)的值为2*2*2。

假定e是非0整数,b是整数。

请填空。

intintPow(intb,inte)

{intresult,n;

(1)

for(n=0;

e;

(2);

returnresult;

2.以下程序的功能是求出输入整数的个位数、十位数和百位数(1000以下的正整数)。

{intx,a,b,c;

do{printf("

输入一个1000以下的正整数:

"

(3);

}while((4));

0)x=-x;

a=x/100;

b=(x-a*100)/10;

c=(5);

%d的个位数是%d,十位数是%d,千位数是%d\n"

x,c,b,a);

四、编程题

1.计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。

例如,小张月收入为6000元,则她需缴税(6000-5000)×

20%+(5000-800)×

3%=326元。

编程,要求输入个人应发工资,计算并输出个人所得税。

解:

2、编写程序,从键盘输入一个字符序列(以字符'

#'

作为结束标志),将其中的英文小写字母全部转换成相应的英文大写字母,逐个字符写入一个名为test.dat的磁盘文本文件以保存。

然后,从该文件中读取所存入的字符序列,将它们输出在显示屏上。

请填空完善程序。

FILE*fp;

charstr[80];

inti=0;

if((fp=fopen("

test.dat"

"

))==NULL)

Can'

topenthisfile!

Enterastring,'

toend:

\n"

gets(str);

while(str[i]!

=______)

fputc((str[i]>

='

&

str[i]<

z'

)?

:

str[i],_________);

____________________;

fclose(fp);

fp=fopen("

text.dat"

___(str,strlen(str)+1,fp);

%s\n"

str);

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

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

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

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