c语言复习1计算机二级Word格式文档下载.docx
《c语言复习1计算机二级Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言复习1计算机二级Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。
9.若有定义:
inta=20,b=28,c;
则执行语句c=(a^b)<
<
2;
后c的值为()。
(A)2(B)5(C)32(D)92
10.以下程序的运行结果是()。
voidmain()
{intn='
e'
;
switch(n--)
{default:
error"
);
case'
a'
:
b'
good"
break;
c'
pass"
d'
warn"
}
}
(A)error(B)good(C)errorgood(D)warn
11.以下程序的运行结果是()。
voidmain()
{intn=5;
if(n++>
=6)
%d\n"
n);
else
++n);
(A)4(B)5(C)6(D)7
12.以下的if语句中,x的值一定被重新赋值的是()。
(A)if(x==y)x+=y;
(B)if(x>
y&
&
x!
=y);
x+=y;
(C)if(x!
=y)
scanf("
%d"
&
x);
else
y);
(D)if(x<
y)
{x++;
y++;
13.若有定义inta[][3]={1,2,3,4,5,6,7,8,9};
则表达式sizeof(a)/sizeof(a[0])的值为()。
(A)3(B)4(C)5(D)9
14.设有以下变量定义:
charstr1[]="
string"
str2[8],*str3,*str4="
()是正确的。
(A)strcpy(str1,"
China"
(B)str2="
(C)strcpy(*str3,"
(D)strcpy(str4[0],"
15.以下程序段运行后屏幕输出为()。
charstr[]="
ab\\cd"
strlen(str));
16.设有如下定义语句:
unionu_type
{inti;
doublex;
floatf;
};
structstr_type
{charstr[100];
unionu_typeu[2];
则语句“printf("
sizeof(structstr_type));
”的输出结果是()。
(A)100(B)116(C)120(D)200
17.若有定义:
inta[3][3];
则表达式&
a[2][1]-a的值为()。
(A)7(B)8(C)6(D)9
18.下面程序的输出结果为()。
#include<
stdio.h>
{
enumWeekday{sun=7,mon=1,tue,wed,thu,fri,sat};
enumWeekdayday=sat;
day);
(A)7(B)6(C)5(D)4
19.对下面程序正确的描述是()。
stdlib.h>
FILE*in,*out;
in=fopen("
infile.txt"
"
r"
)
out=fopen("
outfile.txt"
w"
))==NULL)
while(!
feof(in))
fputc(fgetc(in),out);
fclose(in);
fclose(out);
(A)程序实现在屏幕上显示磁盘文件infile.txt的内容
(B)程序实现将文件infile.txt和outfile.txt的内容合二为一
(C)程序实现将磁盘文件infile.txt复制到磁盘文件outfile.txt
(D)程序实现将两个磁盘文件合并并在屏幕上输出
20.下面程序运行后的结果是()。
main()
{FILE*fp;
inti=10,j=20,k,n;
fp=fopen("
d_f.dat"
fprintf(fp,"
i);
j);
fclose(fp);
fscanf(fp,"
%d%d"
k,&
n);
%d%d\n"
k,n);
}
(A)1020(B)1030(C)2030(D)2010
21.下面语句错误的是()。
(A)int*p;
*p=20;
(B)char*s="
abcdef"
%s\n"
s);
(C)char*str="
str++;
(D)char*str;
str="
22.若有以下程序段,则叙述正确的是()。
chars[]="
computer"
char*p;
p=s;
(A)s和p完全相同
(B)数组s的长度和p所指向的字符串长度相等
(C)*p与s[0]相等
(D)数组s中的内容和指针变量p中的内容相等
23.下面程序的运行结果是()。
#defineN10
#defineK(x)x*x
#defineT(x)(x*x)
main()
{inta,b;
a=9%K(N);
9%10*10
b=9%T(N);
9%(10*10)
%d,%d\n"
a,b);
(A)9,9(B)9,90(C)90,9(D)90,90
24.对于整型变量a,赋值语句a=(a%3==0?
1:
0);
与()语句不等价。
(A)if(a%3==0)a=1;
elsea=0;
(B)if(a%3!
=0)a=0;
elsea=1;
(C)if(a%3)a=0;
(D)if(a%3)a=1;
25.若已定义inta=3,b=2,c=1;
则语句++a||++b&
++c;
运行后b的值为()。
(注意这里是不完全运算)
(A)0(B)3(C)1(D)2
1.
修改下面程序,其功能是求解百马百担问题.:
有100匹马,驮100担货,大马驮3担,中马驼2担,两匹小马驮1担,问大、中、小马数可分别多少?
有多少种解决方案?
conio.h>
/**/voidfun()/**/
intlarge,middle,small,n=0;
clrscr();
for(large=0;
large<
=33;
large++)
for(middle=0;
middle<
=50;
middle++)
{
small=2*(100-3*large-2*middle);
/**/if(large+middle+small=100)/**/
n++;
printf("
%d-->
large:
%d,middle:
%d,small:
n,large,middle,small);
returnn;
intnum;
num=fun();
\nThereare%dsolutions.\n"
num);
getch();
2.修改下列程序,其功能是交换两个变量的值。
/**/voidswap(intp1,intp2)/**/
inttemp;
temp=*p1;
/**/p1=p2;
/**/
*p2=temp;
inta,b;
/**/scanf("
swap(&
a,&
b);
\nResult:
a=%db=%d\n"
3.修改下列程序,实现计算1至100之间的奇数之和、偶数之和。
intb,i;
/**/inta=c=0;
/**/for(i=0,i<
=100,i+=2)/**/
a+=i;
b=i+1;
c+=b;
totalofevennumbers:
%d\n"
a);
totalofoddnumbers:
c-101);
4.修改程序,使其实现从键盘依次输入M个整数,输出其中所有的偶数。
如输入:
2362384526
输出:
623836
math.h>
/**/#includeM5/**/
inta[M],i;
Pleaseinput5numbers:
\n"
for(i=0;
i<
M;
i++)
/**/scanf("
a[i]);
Evennumbers:
);
i++)
/**/if(a[i]/2==0)/**/
printf("
%d"
5.修改程序,使其将输入字符串中’0’~’8’的数字字符变为比它大1的数字字符,将’9’变为’0’。
如输入:
ab12cD56EF89GH4
输出:
ab23cD67EF90GH5
string.h>
charstr1[128],str2[128];
inti,len;
gets(str1);
len=strlen(str1);
/**/for(i=0;
i>
len;
i++)/**/
/**/if(str1[i]>
='
0'
||str1[i]<
8'
)/**/
str2[i]=str1[i]+1;
elseif(str1[i]=='
9'
str2[i]='
str2[i]=str1[i];
/**/str2[i]='
\n'
puts(str2);
6.修改程序,使其实现从键盘输入一串字符,统计其英文字母、数字及其它字符的个数。
charc;
intletter,number,other;
/**/letter==number==other==0;
Pleaseinputstring:
"
while((c=getchar())!
='
/**/if(c>
&
c<
z'
letter++;
/**/elseif(c>
=0&
=9)/**/
number++;
other++;
letter=%d,number=%d,other=%d\n"
letter,number,other);