c语言复习1计算机二级.docx

上传人:b****5 文档编号:11848566 上传时间:2023-04-06 格式:DOCX 页数:11 大小:18.04KB
下载 相关 举报
c语言复习1计算机二级.docx_第1页
第1页 / 共11页
c语言复习1计算机二级.docx_第2页
第2页 / 共11页
c语言复习1计算机二级.docx_第3页
第3页 / 共11页
c语言复习1计算机二级.docx_第4页
第4页 / 共11页
c语言复习1计算机二级.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

c语言复习1计算机二级.docx

《c语言复习1计算机二级.docx》由会员分享,可在线阅读,更多相关《c语言复习1计算机二级.docx(11页珍藏版)》请在冰豆网上搜索。

c语言复习1计算机二级.docx

c语言复习1计算机二级

1.下面关于C语言的叙述中,正确的是()。

(A)每行只能写一条语句

(B)程序中必须包含有输入语句

(C)main函数必须位于文件的开头

(D)每条语句最后必须有一个分号

2.C语言的函数体由()括起来。

(A)()(B){}(C)[](D)/**/

3.下列不属于C语言关键字的是()。

(A)continue(B)integer(C)static(D)signed

4.下面关于C语言变量的叙述中,错误的是()。

(A)可以用const关键字定义变量

(B)在C程序中,SUM和sum是不同的变量

(C)变量名必须由字母或下划线开头

(D)变量的类型确定了变量的取值范围

5.若有定义:

inta=2;则正确的赋值表达式是()。

(A)a-=(a*3)(B)a=double(-a)(C)a*3(D)a*4=3

6.若已定义:

inta=2,b=2;则表达式(a+(b++),b)的值是()。

(A)2(B)3(C)4(D)6

7.若有定义:

inti=7,j=8;则表达式i>=j||i

(A)1(B)变量i的值(C)0(D)变量j的值

8.以下程序段的运行结果是()。

 inta=1;

printf("%d,%d,%d\n",a,++a,a++);

(A)3,3,1(B)1,2,2(C)1,2,3(D)3,2,1

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:

printf("error");

case'a':

case'b':

printf("good");break;

case'c':

printf("pass");

case'd':

printf("warn");

}

}

(A)error(B)good(C)errorgood(D)warn

11.以下程序的运行结果是()。

voidmain()

{intn=5;

if(n++>=6)

printf("%d\n",n);

else

printf("%d\n",++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

scanf("%d",&y);

(D)if(x

{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="string";

()是正确的。

(A)strcpy(str1,"China");

(B)str2="China";

(C)strcpy(*str3,"China");

(D)strcpy(str4[0],"China");

15.以下程序段运行后屏幕输出为()。

charstr[]="ab\\cd";

printf("%d",strlen(str));

(A)4(B)5(C)6(D)7

16.设有如下定义语句:

unionu_type

{inti;

doublex;

floatf;

};

structstr_type

{charstr[100];

unionu_typeu[2];

};

则语句“printf("%d",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

voidmain()

{

enumWeekday{sun=7,mon=1,tue,wed,thu,fri,sat};

enumWeekdayday=sat;

printf("%d\n",day);

}

(A)7(B)6(C)5(D)4

19.对下面程序正确的描述是()。

#include

#include

voidmain()

{

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.下面程序运行后的结果是()。

#include

main()

{FILE*fp;inti=10,j=20,k,n;

fp=fopen("d_f.dat","w");

fprintf(fp,"%d\n",i);

fprintf(fp,"%d\n",j);

fclose(fp);

fp=fopen("d_f.dat","r");

fscanf(fp,"%d%d",&k,&n);

printf("%d%d\n",k,n);

fclose(fp);

}

(A)1020(B)1030(C)2030(D)2010

21.下面语句错误的是()。

(A)int*p;*p=20;

(B)char*s="abcdef";printf("%s\n",s);

(C)char*str="abcdef";str++;

(D)char*str;str="abcdef";

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)

printf("%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;elsea=1;(D)if(a%3)a=1;elsea=0;

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担,问大、中、小马数可分别多少?

有多少种解决方案?

#include

#include

/**/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:

%d\n",n,large,middle,small);

}

}

returnn;

}

voidmain()

{

intnum;

num=fun();

printf("\nThereare%dsolutions.\n",num);

getch();

}

2.修改下列程序,其功能是交换两个变量的值。

/**/voidswap(intp1,intp2)/**/

{

inttemp;

temp=*p1;

/**/p1=p2;/**/

*p2=temp;

}

voidmain()

{

inta,b;

/**/scanf("%d%d",a,b);/**/

swap(&a,&b);

printf("\nResult:

a=%db=%d\n",a,b);

}

3.修改下列程序,实现计算1至100之间的奇数之和、偶数之和。

voidmain()

{

intb,i;

/**/inta=c=0;/**/

/**/for(i=0,i<=100,i+=2)/**/

{

a+=i;

b=i+1;

c+=b;

}

printf("totalofevennumbers:

%d\n",a);

printf("totalofoddnumbers:

%d\n",c-101);

}

4.修改程序,使其实现从键盘依次输入M个整数,输出其中所有的偶数。

如输入:

2362384526

输出:

623836

#include

#include

/**/#includeM5/**/

main()

{

inta[M],i;

printf("Pleaseinput5numbers:

\n");

for(i=0;i

/**/scanf("%d",a[i]);/**/

printf("Evennumbers:

\n");

for(i=0;i

/**/if(a[i]/2==0)/**/

printf("%d",a[i]);

printf("\n");

getch();

}

5.修改程序,使其将输入字符串中’0’~’8’的数字字符变为比它大1的数字字符,将’9’变为’0’。

如输入:

ab12cD56EF89GH4

输出:

ab23cD67EF90GH5

#include

#include

main()

{

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]='0';

else

str2[i]=str1[i];

}

/**/str2[i]='\n';/**/

puts(str2);

getch();

}

6.修改程序,使其实现从键盘输入一串字符,统计其英文字母、数字及其它字符的个数。

#include

#include

voidmain()

{

charc;

intletter,number,other;

/**/letter==number==other==0;/**/

printf("Pleaseinputstring:

");

while((c=getchar())!

='\n')

{

/**/if(c>='a'&&c<='z')/**/

letter++;

/**/elseif(c>=0&&c<=9)/**/

number++;

else

other++;

}

printf("letter=%d,number=%d,other=%d\n",letter,number,other);

getch();

}

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

当前位置:首页 > 人文社科 > 法律资料

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

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