C语言复习题最好.docx

上传人:b****3 文档编号:4934854 上传时间:2022-12-11 格式:DOCX 页数:9 大小:18.08KB
下载 相关 举报
C语言复习题最好.docx_第1页
第1页 / 共9页
C语言复习题最好.docx_第2页
第2页 / 共9页
C语言复习题最好.docx_第3页
第3页 / 共9页
C语言复习题最好.docx_第4页
第4页 / 共9页
C语言复习题最好.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言复习题最好.docx

《C语言复习题最好.docx》由会员分享,可在线阅读,更多相关《C语言复习题最好.docx(9页珍藏版)》请在冰豆网上搜索。

C语言复习题最好.docx

C语言复习题最好

期末复习练习一

一.单项选择题(每小题1分,共20分)

1、假设定义:

intx=3,y=3;则复合赋值表达式x/=1+y的值为A因为定型为整形

(A)0(B)0.75(C)6(D)以上都错

2、表达式:

3>5&&-1||6<3-!

-1的值是A

(A)0(B)1(C)表达式不合法(D)均不对

3、语句if(3/4>1/2)a=1;elsea=0;运行后,a的值是B

(A)1(B)0(C)与机器有关(D)语法有错

4、执行下列程序段后,a值为A

a=1;b=0;

if((a++>++b)?

a++:

b--)a+=b;

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

5、下列程序段执行后s值为C

inti=1,s=0;

do{if(!

(i%2))continue;s+=i;}while(++i<10);

(A)1(B)45(C)25(D)以上均不是

6、对于inta,则表达式1<=a<=5值是B

(A)0(B)1(C)不定(D)表达式语法有错

7.C语言源程序的基本单位是(B)。

(A)过程(B)函数(C)子程序(D)标识符

8.下列程序的输出结果是(C)。

main()

{inta=7,b=5;

printf("%d\n",b=b/a);

}

(A)5(B)1(C)0(D)不确定值

11.假设变量a,b均为整型,表达式(a=5,b=2,a>b?

a++:

b++,a+b)的值是(B)。

(A)7(B)8(C)9(D)2

12.设a为int型变量,执行下列赋值语句后,a的取值分别是(B)。

a=125.534;a=(int)125.521%4;a=5<<2;

(A)125,31,1(B)125,1,20(C)125,31,20(D)125.534,2,20

13.设有如下程序段,下面描述中正确的是(C)。

intk=10;while(k=0)k=k-1;

(A)循环执行一次(B)循环是无限循环

(C)循环体语句一次也不执行(D)循环体语句执行一次

14.以下程序的输出结果为(A)。

inti;

voidprt()

{for(i=5;i<8;i++)printf("%c",'*');

printf("\t");

}

main()

{for(i=5;i<=8;i++)prt();

}

(A)***(B)************(C)******(D)***

15.在C语言程序中,以下说法正确的是(B )。

(A)函数的定义可以嵌套,但函数的调用不可以嵌套

(B)函数的定义不可以嵌套,但函数的调用可以嵌套

(C)函数的定义和函数的调用都不可以嵌套

(D)函数的定义和函数的调用都可以嵌套

16.以下函数调用语句中含有(A)个实参。

func((e1,e2),(e3,e4,e5));

(A)2(B)3(C)5(D)语法错误

17.以下程序的输出结果为(A)。

#defineADD(x)x*x

main()

{inta=4,b=6,c=7,d=ADD(a+b)*c;

printf("d=%d",d);

}

(A)d=70(B)d=80(C)d=140(D)d=700

18.已知职工记录描述如下,在TurboC中,系统为变量w分配(C)字节的空间。

structworker

{intno;

charname[20];

charsex;

union

{intday;intmonth;intyear;}birth;

}w;

(A)29(B)20(C)25(D)6

19.设有以下定义,值为5的枚举常量是(A)。

enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;

(A)tue(B)sat(C)fri(D)thu1

20.正确的赋值语句是(设chara[5],*p=a;)(A)。

(A)p="abcd";(B)a="abcd";(C)*p="abcd";(D)*a="abcd";

二、填空题(每空1分,共10分)

1、判断一个字符x是否是小写字母或数字的逻辑判断表达式是:

(x>=48&&x<=57||x>=97&&x<=122

2、用下列for循环将大写字母逆序输出(即从Z到A),其语句应为:

for(i=0;i<26;i++)printf(“%c”,90-i);;

3、5<<3十进制的值是40。

4、若有定义:

intm=5,y=2;则执行表达式y+=y-=m*=y后的y值是-16

5、在C语言中,表示逻辑“真”值用1表示。

6、x,y,z均为整型变量,请写出描述“x或y等于z”的表达式

_x==z||y==z___。

7、continue只能出现在循环语句中。

8、若已知a=1,b=2,则表达式!

a

9、C语言的基本数据类型分为_int__、float____、_char___。

10、已知字母'A'的ASCII码值为十进制数65,且ch为字符型,则执行语句ch='A'+'6'-'0’后,ch的值为___G_。

三、程序分析题

[阅读下述程序,写出执行结果

1、#defineX5

#defineYX+1

#defineZY*X/2

main()

{inta;a=Y;

printf("Z=%d,a=%d\n",Z,a);

}

执行结果为:

Z=7,a=6

2.unsignedfun6(unsignednum)

{unsignedk=1;

do

{k*=num%10;num/=10;}

while(num);

returnk;

}

main()

{unsignedn=26;

printf("fun=%d\n",fun6(n));

}

执行结果为:

___fun=12.

13.main()

{intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

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

}执行结果为:

4.main()

{inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},

{15,16,17,18}};

inti=0,j=0,s=0;

while(i++<4)

{if(i==2||i==4)continue;

j=0;

do{s+=a[i][j];}while(j<4);

}

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

}执行结果为:

n=24

5.#definePRINTABprintf("%d,%d\n",a,b);

#definePRINTXYprintf("%d,%d\n",x,y);

voidswap(intx,inty)

{intt;

PRINTXY

t=x;x=y;y=t;

PRINTXY

}

main()

{inta=3,b=4;

PRINTAB

swap(a,b);

PRINTAB

}执行结果为:

3.4

3,4

4,3

3,4

 

.

6.main()

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

int*p=a;

printf("%d\n",*++p);

printf("%d\n",*p++);

printf("%d\n",(*p)++);

printf("%d\n",++*p);

}

执行结果为:

2

2

3

5

四、程序填充题

(每空1分,共10分)

[阅读下列程序,在处填入适当内容,使程序完整]

1.试求出1000以内的“完全数”。

(提示:

如果一个数恰好等于它的因子之和(因子包括1,不包括数本身),则称该数为“完全数”。

如:

6的因子是1、2、3,而6=1+2+3,则6是个“完全数”。

main()

{

intn,s;

(1)inta;

for(n=1;

(2)n<1000;n++)

{

for(s=0,a=l;a<=n/2;(3)a++)

if(!

(n%a))(4)s+=a;

if((5)n==s)printf("%4d",n);

}

}

 

2.用“冒泡法”对输入的10个字符排序后按从小到大的次序输出。

#defineN10

charstr[N];

main()

{

inti,flag;

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

scanf("%c",&str[i]);

sort(

(1)_str_);

for(i=0;

(2)i

printf("%c",str[i]);

printf("\n");

}

sort(str)

charstr[N];

{inti,j;

chart;

for(j=1;j

for(i=0;i

if(str[i]>(3)str[i+1])

{t=str[i];

(4)str[i]=str[i+1]______;

(5)str[i+1]=t______;

}

}

 

五、编程题(每题10分,共30分)

1.打印具有abcd=(ab+cd)2性质的全部四位数。

(参考答案)

main()

{intn,x,y;

for(n=1000;n<=9999;n++)

{x=n/100;y=n%100;

if(n==(x+y)*(x+y))

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

}

}

2.编写主函数,实现输入两个一般整数,完成两个数交换后再输出。

(参考答案)

voidmain()

{

intx,y,z;

printf(“Entertwonumbersxy:

”);

scanf(“%d%d”,&x,&y);

z=x;

x=y;

y=z;

printf(“x=%d,y=%d”,x,y);

}

3.写一个程序,输入n,输出n行数字三角图形,例如,输入n=4时,输出以下图形:

1

121

12321

1234321

(参考答案)

Voidmain()

{

inti,j,n;

printf(“Entern:

”);

scanf(“%d”,n);

for(i=0;i

{

for(j=0;j

printf(“”);

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

printf(‘%5d’,j+1);

for(j=0;j

printf(“%5d”,i-j)

printf(“\n”);

}

}

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

当前位置:首页 > 法律文书 > 调解书

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

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