c语言练习题Word格式文档下载.docx

上传人:b****6 文档编号:21043976 上传时间:2023-01-27 格式:DOCX 页数:25 大小:29.53KB
下载 相关 举报
c语言练习题Word格式文档下载.docx_第1页
第1页 / 共25页
c语言练习题Word格式文档下载.docx_第2页
第2页 / 共25页
c语言练习题Word格式文档下载.docx_第3页
第3页 / 共25页
c语言练习题Word格式文档下载.docx_第4页
第4页 / 共25页
c语言练习题Word格式文档下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

c语言练习题Word格式文档下载.docx

《c语言练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言练习题Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。

c语言练习题Word格式文档下载.docx

printf(“%d%dn”,x-,-y);

A)1010B)99C)910D)10921、以下程序运行后的输出结果是()。

main()charm;

m=B+32;

printf(%cn,m);

A、BB、bC、98D、a22、若有以下程序main()chara;

a=H-A+0;

print(%cn,a);

执行后的输出结果是()23、若有以下定义和语句charc1=b,c2=e;

printf(%d,%cn,c2-c1,c2-a+A);

则输出结果是:

()A、2,MB、3,EC、2,ED、3,M24、若x,i,j和k都是int型变量,则执行下面表达式后x的值为()x=(i=4,j=16,k=32)A、4B、16C、32D、52025、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是()。

inta;

floatb;

scanf(a=%d,b=%f,&

a,&

b);

A)252.5B)25,2.5C)a=25,b=5.5D)a=25b=2.526、若有inta,b;

scanf(“%d%d”,&

语句,输入数据时,不可以用()作为输入的分隔符。

A)TAB键B)空格C)回车D),27、.以下程序的输出结果是_main()inta=2,b=5;

printf(“a=%d,b=%d”,a,b);

A)a=%2,b=%5B)a=2,b=5C)a=%d,b=%dD)a=%d,b=%d28、以下程序的运行结果是。

#includemain()floata=3.1415;

printf(|%06.0f|n,a);

29、以下程序的运行结果是。

#includemain()intx=0177;

printf(%3d,%6d,%6o,%6x,%6un,x,x,x,x,x);

30、以下程序的运行结果是。

#includemain()chara,b;

a=a;

b=b;

a=a-32;

b=b-32;

printf(%c,%c,%d,%dn,a,b,a,b);

31、为表示关系x=y=z,应使用C语言表达式()A、.(y=z)B、(x=y)AND(y=z)C、(x=y=z)D、(x=y)&

(y=z)32、C语言中,逻辑“真“等价于()。

A、大于零的数B、大于零的整数C、非零的数D、非零的整数33、表达式0|6&

2&

1的值是(D)A、3B、0C、9D、134、表达式_是满足:

当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式A、(c=1)|(c=3)|(c=5)B、(c!

=1)&

(c!

=3)&

=5)C、(c=1)&

(c=3)&

(c=5)D、(c=1)|(c=3)|(c=5)35、判断char型变量c1是否为小写字母正确表达式为:

()A、a=cl=a)&

(cl=cl)|(z=a)&

(cl=z)36、设x,y和z是int型变量,且x=3,y=4,z=5则下面表达式中值为0的是()。

A、!

(xy)&

!

z|1)B、x&

yC、x|y+z&

y-zD、x=y=x)?

1:

0z=y&

y=xA、01B、11C、00D、101、C语言程序是由构成的,一个C源程序至少且仅包含一个函数,也可以包含一个main函数和若干个其他函数。

2、结构化程序设计方法规定程序或程序段的结构有三种:

、和。

3、C语言中基本的数据类型有:

、。

4、执行下列语句inta=8;

a+=a-=a*a;

后,a的值是。

5、用把一些语句括起来称为语句。

7、整型变量的类型说明符有:

_、_、_。

8、实型变量的类型说明符有:

_、_。

9、符号”a”和a的区别是”a”是_,而a是_。

10、赋值表达式和赋值语句的区别在于有无。

11、有如下输入语句:

scanf(“a=%d,b=%d,c=%d”,&

b,&

c);

为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。

12、在printf函数的格式说明符为”%-m.nf”,其中m表示_,n表示_,-表示_。

13、C语言中getchar()函数的功能是_。

14、语言中putchar(c)函数的功能是___。

15、C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以代表“真”。

1、从键盘上出入一个大写字母,要求改成小写字母输出。

第三章第三章程序的控制结构程序的控制结构1、分析以下程序:

main()intx=5,a=1,b=0;

if(x=a+b)printf(“*n”);

elseprintf(“#n”);

以上程序()A、有语法错,不能通过编译B、通过编译,但不能连接C、输出*D、输出#2、分析以下程序:

以上程序()A、有语法错,不能通过编译B、通过编译,但不能连接C、输出*D、输出#3、分析以下程序:

main()intx=5,a=0,b=0;

以上程序()A、有语法错,不能通过编译B、通过编译,但不能连接C、输出*D、输出#4、执行下面的程序后,输出m为()。

main()intm=20;

swith(m)case19:

m+=1;

case20:

case21:

case22:

printf(%dn,m);

A.20B.21C.22D.235、.多重if_else语句嵌套使用时,寻找与else配套的if方法是()。

A.缩排位置相同的ifB.其上最近的ifC.下面最近的ifD.同行上的if6、当a=1,b=3,c=5,d=4时,则执行完下面一段程序后,x的值是()。

if(ab)if(cd)x=1;

elseif(ac)if(bb)a=b;

b=c;

c=a;

printf(“%d,%d,%d”a,b,c);

A、20,30,20B、20,40,20C、30,20,40D、20,30,408、设有说明语句:

inta=1,b=0;

则执行以下语句后输出为()。

switch(a)case1:

switch(b)case0:

printf(“*0*”);

break;

case1:

printf(“*1*”);

case2:

printf(“*2*”);

A.*0*B.*0*2*C.*0*1*2*D.有语法错误9、以下程序运行后的输出结果是。

main()inta=1,b=3,c=5;

if(c=a+b)printf(yesn);

elseprintf(non);

11、以下程序运行后的输出结果是。

12、有以下程序,执行后输出结果是。

main()intn=0,m=1,x=2;

if(!

n)x-=1;

if(m)x-=2;

if(x)x-=3;

printf(“%dn”,x);

13、有以下程序,执行后输出结果是()main()inti;

for(i=0;

i3;

i+)switch(i)case1:

printf(%d,i);

default:

A、011122B、012C、012020D、)12014、以下程序运行后的输出结果是。

main()inti,m=0,n=0,k=0;

for(i=9;

ibc)printf(%dn,d);

elseif(c-1=d)=1)printf(%dn,d+1);

elseprintf(%dn,d+2)A、2B、3C、4D、编译时有错,无结果17、语句while(!

x);

中的表达式!

x为真等价于()。

A、x=0B、x!

=1C、x!

=0D、x=118、对于循环语句while

(1);

下面()是正确的A、死循环B、循环一次C、不进入循环体D、编译有错19、设有程序段intk=10;

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

以下描述正确的是()。

A.循环体语句一次也不执行。

B.循环是无限循环。

C.while循环语句执行十次。

D.循环体语句执行一次。

20、以下程序执行之后sum的值是()。

main()inti,sum;

for(i=1;

i6;

i+)sum+=i;

printf(%dn,sum);

A、15B、14C、不确定D、021、有以下程序,执行后输出结果是()main()inti=0,s=0;

doif(i%2)i+;

continue;

i+;

s+=i;

while(iy)

(1);

(2);

(3);

if((4))t=z;

z=x;

x=t;

if((5))t=y;

y=z;

z=t;

printf(smalltobig:

%d,%d,%dn,x,y,z);

2、以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。

请填空。

#includemain()intk;

printf(“Enteraintnumber:

”);

scanf(“%d”,&

k);

if_printf(“yesn”);

elseprintf(“_”);

3、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。

用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。

main()_n,i,j;

printf(“EnterINTnumbers,with0toendn”);

i=j=0;

n);

while_if(n0)i=_;

if(n0)j=_;

_;

printf(“i=%4dj=%4dn”,i,j);

4、以下程序的运行结果是。

#includemain()inta=11,i;

i5;

i+)printf(%d,a+i);

5、执行以下程序后,输出#号的个数是。

#includemain()inti,j;

i+)for(j=2;

j=i;

j+)putchar(#);

6、填充下列程序,找出100200之间的全部素数#includemain()intm,k,i,n=0;

for(m=101;

m=200;

m=m+2)k=sqrt(m);

for(i=2;

(6)_;

i+)if(7)_)break;

if(8)_)printf(“%d”,m);

n=n+1;

if(n%10=0)printf(“n”);

printf(“n”);

7、有以下程序,程序运行后的输出结果是()#include#defineF(X,Y)(X)*(Y)main()inta=3,b=4;

printf(%dn,F(a+,b+);

A、12B、15C、16D、208、对下面程序段正确的判断()。

#defineA3#defineB(a)(A+1)*a)x=3*(A+B(7);

A.程序错误,不许嵌套宏定义B.x=21C.x=93D.程序错误,宏定义不许有参数9、在“文件包含“预处理语句的使用形式中,当#include后面的文件名用”“(双引号)括起时,寻找被包含文件的方式为()A、直接按系统设定的标准方式搜索目录B、仅仅搜索源程序所在的目录C、先在源程序所在目录搜索,再按系统设定的标准方式搜索D、仅仅搜索当前目录1、C语言共提供了三种用于实现循环结构的流程控制语句,它们、和。

2、在循环中,continue语句与break语句的区别是:

continue语句是语句的区别是:

continue语句是,break是。

3、while和dowhile的区别是。

4、求1到100所有奇数的和。

5、编写程序输出所有的水仙花数。

6、编写程序,输入一个整数,打印出它是奇数还是偶数。

第四章第四章数组数组1、若有说明:

inta10;

则对a数组元素的正确引用是()。

A.a10B.a10-10C.a(5)D.a3.52、合法的数组定义是()A、inta=string;

B、inta5=0,1,2,3,4,5;

C、vhsts=string;

D、chara=0,1,2,3,4,5;

3、以下程序运行后的输出结果是()main()inti,n=0,0,0,0,0;

i=4;

i+)ni=ni-1*2+1;

printf(%d,ni);

4、有以下程序,执行后输出结果是()main()intp7=11,13,14,15,16,17,18,i=0,k=0;

while(i7&

pi%2)k=k+pi;

printf(%dn,k);

A、58B、56C、45D、245、定义如下变量和数组:

inti;

intx33=1,2,3,4,5,6,7,8,9;

i+)printf(%d,xi2-i);

则下面语句的输出结果是()A.159B.147C.357D.3696、若有说明:

inta34=0;

则下面正确的叙述是()A、只有元素a00可得到初值0B、此说明语句不正确。

C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值07、对以下说明的正确理解是()。

inta10=6,7,8,9,10A.将5个初值依此赋给a1至a5B.将5个初值依此赋给a0至a4C.将5个初值依此赋给a6至a10D.因长度与初值个数不同,故语句错误8、若有说明:

inta34;

则对a数组元素的正确引用是()A、a24B、a1,3C、a1+10D、a

(2)

(1)9、若有说明语句:

inta3=1,2,3,4,5,6,7,8,9;

则a数组的行数为()。

A、不确定B、1C、2D、310、有以下程序()main()intm3=1,4,7,2,5,8,3,6,9;

inti,j,k=2;

i+)printf(%d,mki);

执行后输出结果是A、456B、258C、369D、78911、对两个数组a和b进行如下初始化chara=ABCDEF;

charb=A,B,C,D,E,F;

则以下叙述正确的是()A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长12、若有定义和语句:

chars10;

s=abcd;

printf(%sn,s);

则结果是(以下u代表空格)()A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过13、下列语句的执行结果是()charstr10=“china”;

printf(“%d”,strlen(str);

A.10B.6C.5D.014、下面程序段的运行结果是()。

chara7=”abcdef”;

charb4=”ABC”;

strcpy(a,b);

printf(“%c”,a5);

A、空格B、.0C、eD、f15、有两个字符数组a,b,则以下正确的输入格式是()。

A.scanf(%s%s,&

b)B.gets(a,b)C.scanf(%s%s,a,b)D.gets(a);

gets(b)16、以下程序段运行的结果是()。

Charc5=a,b,0,c,0;

printf(%s,c);

A、abB、abcC、abcD、ab17、若有定义和语句:

则结果是(以下u代表空格)A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过18、函数调用:

strcat(strcpy(str1,str2),str3)的功能是()A、将串str1复制到串str2中后再连接到串str3之后;

B、将串str1连接到串str2之后再复制到串str3之后;

C、将串str2复制到串str1中后再将串str3连接到串str1之后;

D、将串str2连接到串str1之后再将串str1复制到串str3中;

19、执行如下程序段,当输入为Iam时,输出的结果是()。

charstr80;

scanf(“%s”,str);

strcat(str,”sad!

printf(“%s”,str);

A、Iamsad!

B、Isad!

C、Isad!

D、sad!

20、数组inta34;

共定义了_个数组元素。

21、C语言中数组的下标下限为_。

22、能够构成一个数组的元素需满足的特点是_;

那么,构成结构体的成员可以是_。

23、若在程序中用到“putchar”,应在程序开头写上包含命令,若在程序中用到“strlen()”函数时,应在程序开头写上包含命令。

24、符号”a”和a的区别是”a”是,而a是。

第五章第五章指针指针1、变量I的值为3,I的地址为1000,使p为指向I的指针变量,则下列赋值正确的是()A.&

I=3B.*p=3C.*p=1000D.p=&

I2、下列说法中不正确的是()A.指针是一个变量B.指针中存放的是地址值C.指针可以进行加、减等算术运算D.指针变量不占用存储空3、若有定义:

int*p4;

则标识符p是()A.是一个指向整型变量的指针B.是一个指针数组名C.是一个指针,它指向一个含有四个整型元素的一维数组D.说明不合法4、以下程序中调用scanf函数给变量a输入数值的方法是错误的,因为()。

main()int*p,*q,a,b;

p=&

a;

printf(inputa:

);

scanf(%d,*p);

A.*p表示的是变量a的值,而不是变量a的地址。

B.*p表示的是指针变量p的地址。

C.*p表示的是指针变量p的值。

D*p只能用来说明p是一个指针变量。

5、已有定义intk=2;

int*p1,*p2,且p1和p2均已指向变量k,下面不能正确执行的赋值语句是()。

A.k=*p1+*p2;

B.p1=p2;

C.p2=k;

D.k=*p1*(*p2);

6、若有定义:

则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为()。

A.*(*(a+i)+j)B.(a+j)jC.*(a+i+j)D.*(a+i)+j7、若有以下定义,且0=i6,则正确的赋值语句是()。

ints46,t64,(*p)6;

A.p=t;

B.p=si;

C.p=s;

D.p=ti;

8、若有定义:

inta23则对a数值的第i行,第j列元素地址的正确引用为()。

A)*(ai+j)B.ai+jC.*(a+j)D.(a+i)9、下面选项中正确的赋值语句是(设chara5,*pa;

)()。

Ap=abcd;

Ba=abcd;

C*p=abcd;

D*a=abcd;

10、以下函数定义正确的形式是()。

A)fun(intx,int*y)B)fun(intx;

int*y)C)fun(intx,int*y=0);

D)fun(intx,*y)11、有如下程序,运行后的输出结果是。

main()chara10=“123456789”;

char*p;

inti=8;

p=a+i;

printf(“%sn”,p-3);

12、以下程序的输出结果是main()inti=3,j=2;

char*a=DCBA;

printf(%c%cn,ai,aj);

14、inty=1,x,*p,a=2,4,6,8,10;

a1;

for(x=0;

x3;

x+)y+=*(p+x);

printf(%dn,y);

程序的输出结果y的值是。

15、main()inta5=2,4,6,8,10,*P,*k;

p=a;

k=&

p;

printf(%d,*(p+);

printf(%dn,*k);

程序的输出结果是。

16写出下列程序的运行结果。

#include“stdio.h”Main()inta=1,2,3,-4,5;

intm,n,*p;

a0;

m=*(p+1);

n=*(p+4);

printf(“%d%d%d”,*p,m,n);

该程序的运行结果是__。

17.#include“stdio.h”main()inta=8,2,9,4,1,*p;

*(p+2)+=2;

printf(“

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

当前位置:首页 > PPT模板 > 其它模板

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

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