C语言习题集练习含答案Word格式.docx

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

C语言习题集练习含答案Word格式.docx

《C语言习题集练习含答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言习题集练习含答案Word格式.docx(31页珍藏版)》请在冰豆网上搜索。

C语言习题集练习含答案Word格式.docx

,({等表示缺少;

,({

'

T'

:

undeclaredidentifierT没有定义(T要先定义然后才能使用)

sqrt'

undefined;

sqrt如果是函数名则表示它的头文件没有包含

redefinitionT重复定义(可能是多次定义了T)

Cannotopenincludefile头文件的拼写或路径的不对

第二章数据类型,运算符与表达式

C的数据类型(整型,字符型,浮点型)及其定义方法。

2. 

C运算符的种类、运算优先级和结合性。

3. 

不同类型数据间的转换与运算。

4. 

C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

1.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 

大小写字母和下划线 

2.字符常量使用一对单引号界定单个字符,而字符串常量使用一对双引号来界定若干个字符的序列。

3.浮点数有十进制小数形式;

(2)指数形式两种表示形式。

4.C语言%(取余的操作符)要求两个操作数是整型。

5.关系运算的值是整型。

6.Sizeof(int)的意义返回int型变量在内存中占的字节数 

7.假设所有变量均为整型:

a=b=5;

i=++a;

j=b++;

则i等于6j等于5。

8.假设所有变量均为整型:

a=3;

b=5;

a>

b&

&

++a;

a<

b||++b则a等于3b等于5。

9.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+B)的值为9。

提示:

a=2,b=5,a++,b++,i=a,j=b,a+b的值

10.a=(2,5,2+5)则a的值为7。

11.表达式:

(int)(7.2/2)的值是3。

12.C语言中,不同运算符之间运算次序存在先后的区别,同一运算符之间运算次序存在结合性的规则。

13.32与八进制数40相等,75与十六进制数4b相等

14.已知x=2.5,a=7,y=4.7则x+a%3*(int)(x+y)%2/4的值是2.5

15.下列关于C语言用户标识符的叙述中正确的是(C)

A)用户标识符中可以出现下划线和字母,可以和关键字同名

B)用户标识符中不可以出现中划线,但可以出现下划线

C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

16.有以下程序

#include<

stdio.h>

{charc1,c2;

c1='

A'

+'

8'

-'

4'

;

c2='

5'

printf("

%c,%d\n"

c1,c2);

}已知字母A的ASCII码为65,程序运行输出后的结果是(A)

A)E,68B)D,69C)E,DD)输出无定值

17.以下各组标识符中,合法的用户标识符是(D)

A)B01table_10_tk%

B)Fast_voidpblbook

C)xy_longdouble*pCHAR

D)sjInt_xyw_y23

18.在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码

19.已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

执行语句printf("

%d,%d"

c1,c2-2);

后,输出结果是C

A)A,BB)A,68C)65,66D)65,68

20.1MB等于(D)

A)1000字节B)1024字节C)1000*1000字节D)1024*1024字节

21.与十六进制数200等值得十进制数为(B)

A)256B)512C)1024D)2048

22.设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是(B)

A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

23.以下叙述中错误的是(D)

A)C程序中的#include和#define行均不是C语句

B)除逗号运算符外,赋值运算符的优先级最低

C)C程序中,j++;

是具有赋值功能的语句

D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算

24.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D)

A)均占4个字节B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义D)由C语言编译系统决定

25.已知x=10,y=20,则表达式y+=5+x的值为(C)

A)25B)-10C)35D)10

26.以下常量正确的是(D)

A)0X7a,078,6a,57L,

B)10.,-.5e3,1e0,0.0012e-101

C)‘’,‘\”’,‘\0127’,‘\xff’

D)56,-.3,.e2,1.2e2.1,”xy”

27.有以下定义语句,编译时会出现编译错误的是C

A)chara=’a’;

B)chara=’\n’;

C)chara=’aa’;

D)chara=’\x2d’;

第三章顺序结构

1. 

赋值

输入与输出函数的调用,正确输入数据并正确设计输出格式。

常见的编程题

1.已知x=1,y=2,则表达式y*=5+x的值为12。

2.putchar(getchar());

从键盘上输入A。

则最终的输出是A。

3.printf函数和scanf函数的格式说明都使用%字符开始。

4.printf(“%-m.nf”,A);

其中-m表示长度为m,左对齐,n表示小数位长度为n。

5.已知a=17则printf(“%o,%#o”,a,A);

输出的结果是。

(#输出0八进制标志)

6.已知a=17则printf(“%*d,%d”,-5,a);

输出的结果是170。

*表示跳过改项目,%d没有对应会输出0

7.scanf处理输入数据时,遇到下列情况时该数据认为结束:

空格,

Tab,回车。

8.一般地,调用标准字符或格式输入输出库函数时,程序开头应有包含头文件的预编译命令:

stdio。

9.下列符合语法的赋值语句是(cd)

A)a=7+b=8;

B)++a=7;

C)a=b,b++,a+7;

D)a+=2*b,c=++b;

10.关于赋值过程中类型转换叙述错误的是(d)

A)实数赋值给整数变量时,将小数位不会四舍五入,会直接截断

B)整数赋值给实数变量时,整数位不变,小数位补0

C)整型变量赋值给short时,则只保留2个低字节

D)Double变量赋值给float变量,则只保留前面的7位有效数字

E)长度相同的有符号整型变量和无符号整型变量可以直接赋值

11.putchar()函数可以向终端输出一个。

d

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

12.有以下程序

{printf("

%d\n"

NULL);

程序运行后的输出结果是(A)

A)0B)1C)-1D)NULL没定义,出错

13.执行下列程序片段时输出结果是(a)。

unsignedinta=65535;

A)65535B)-1C)-32767D)1

14.执行下列程序片段时输出结果是(B)。

floatx=-1023.012

printf(“\n%8.3f,”,x);

printf(“%10.3f”,x);

A)1023.012,-1023.012B)-1023.012,-1023.012

C)1023.012,-1023.012D)1023.012,1023.012

15.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按(D)方式输入数据。

intk1,k2,k3,k4;

scanf(“%d%d”,&

k1,&

k2);

scanf(“%d,%d”,&

k3,&

k4);

A)1020↙B)1020↙C)10,20↙D)1020↙

1020↙1020↙10,20↙10,20↙

16.若运行时输入:

12345678↙,则下列程序运行结果为(d)。

main()

{inta,b;

scanf(“%2d%2d%3d”,&

a,&

b);

可以在后面加&

c就对了a

printf(“%d\n”,a+b);

}//按照教育部考试中心教材标准

A)46B)579C)5690D)出错

17.有定义语句:

intx,y;

scanf("

x=%d,y=%d"

&

x,&

y);

若想让x值为11,y值为12,下面四组键盘输入正确的是(D)

A)1112<

回车>

B)11,12<

C)a=11,b=12<

D)x=11,y=12<

18.阅读以下程序

{intcase;

floatprintF;

printf(“请输入2个数:

”);

scanf(“%d%f”,&

case,&

printF);

printf(“%d%f\n”,case,printF);

该程序在编译时产生错误,其出错原因是A

A)定义语句出错,case是关键字,不能用作用户自定义标识符

B)定义语句出错,printF不能用作用户自定义标识符

C)定义语句无错,scanf不能作为输入函数使用

D)定义语句无错,printf不能输出case的值

19.有以下程序

#include<

main()

{inta=1,b=0;

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

printf(“%d\n”,a=2+B);

程序运行后的输出结果是D

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

20.有以下程序段

intm=0,n=0;

charc='

a'

scanf("

%d%c%d"

m,&

c,&

n);

%d,%c,%d\n"

m,c,n);

若从键盘上输入:

10A10<

,则输出结果是:

A

A)10,A,10B)10,a,10C)10,a,0D)10,A,0

21.在屏幕中显示如下字符(提示:

用printf)

****Hello*****

World

============

22.从键盘输入一个小写字母,将其变成大写字母输出?

(提示:

1.假定输入的字母一定符合要求2.大小写字母ASCII码相差32)

23.从键盘输入一个100—999之间的数,将该数的个,十,百位数字相加的和输出?

1.假定输入的数一定符合要求2.可以通过%,/实现)

inta,b,c,num,sum;

scanf(“%d”,&

num);

a=num%10;

b=num/10%10;

c=num/100;

sum=a+b+c;

printf(“%d”,sum);

第四章选择结构

1.逻辑关系的表示。

2.条件运算符。

3.用if语句实现选择结构。

4.用switch语句实现多分支选择结构。

5.选择结构的嵌套。

1.下面各逻辑表达式的值,设a=3,b=4,c=5。

(1)a>

b<

c:

1

(2)!

(a>

B)&

!

c||1:

(3)!

(x=A)&

(y=B)&

0:

0

2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求(B)。

A)x%2==0B)!

x%2!

=0C)(x/2*2-x)==0D)!

(x%2)

3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是(C)。

A)(x>

=1)&

(x<

=10)&

(x>

=200)&

=210)

B)(x>

=1)||(x<

=10)||(x>

=200)||(x<

C)(x>

D)(x>

4.以下程序段中与语句k=a>

b?

(b>

c?

1:

0):

0;

功能等价的是(A)

A)if((a>

C))k=1;

B)if((a>

B)||(b>

C))k=1

elsek=0;

C)if(a<

=B)k=0;

D)if(a>

B)k=1;

elseif(b<

=C)k=1;

elseif(b>

C)k=1;

5.对if语句的理解错误的是:

(C)

A)if结构,将判断表达式的值视为逻辑值B)系统将if---else结构视为一条语句

C)else总是与其之前最近的且尚未配对的if配对D)else可以独立出现

(以下6到12题必须掌握)

6.有如下程序。

#include<

voidmain()

{

intn=20;

if(n<

10);

printf("

n<

10"

);

if(n=10)printf("

n=10"

else

if(n>

10)printf("

n>

elseprintf("

}

程序执行后输出的结果是:

7.有如下程序。

intn;

%d"

switch(n/10)

{

default:

printf("

E"

case6:

D"

case10:

case9:

A"

case8:

B"

case7:

C"

从键盘上输入的数是:

999,输出的结果是

100,输出的结果是

8.有如下程序。

intx,y;

charop;

x=20;

y=10;

%c"

op);

switch(op)

{case'

:

y+=x;

break;

case'

y-=x;

*'

y*=x;

/'

y/=x;

default:

y);

从键盘上输入的字符是:

’+’,输出的结果是

9.以下if嵌套中实现的逻辑意义不同的是

(1)voidmain()

scanf("

if(n==10)printf("

(2)#include<

if(n!

=10)

elseprintf("

n=10"

(3)

10.下面程序的输出结果是:

#include<

intx=100,a=20,b=10;

intv1=5,v2=0;

if(a<

B)

if(b!

=15)if(!

v1)

x=1;

else

if(v2)x=10;

x=-1;

x);

11.有如下程序段。

if(a<

if(c<

D)x=1;

else

C)

if(b<

D)x=2;

elsex=3;

elsex=6;

elsex=7;

当a=1,b=3,c=5,d=4时执行完下面一段程序后x的值是

当a=4,b=3,c=5,d=4时执行完下面一段程序后x的值是

当a=1,b=3,c=4,d=3时执行完下面一段程序后x的值是

当a=1,b=3,c=1,d=1时执行完下面一段程序后x的值是

12.有三个整数a,b,c,由键盘输入,输出其中最大的数。

13.某商店推出打折活动,要求购物达到或超过2000元的打八折,购物达到或超过1000元不到2000元的打八五折,购物达到或超过500元不到1000元的减50元,购物不到500元的原价,请写出相应的程序(分别用switch和if—else结构)

13.随机给出一个不多于5位的数,计算出他的位数,按个十百千的顺序输出。

第五章循环结构

for循环结构。

while和do-while循环结构。

continue语句和break语句。

循环的嵌套。

1.C语言三个循环语句分别是while语句,do-while语句和for语句。

2.至少执行一次循环体的循环语句是do-while。

3.以下对循环结构相关知识描述错误的(E)。

A)循环结构需要包含结束循环的条件,否则循环结构将陷入死循环

B)break的意义是直接跳出循环结构,continue的意义是结束本次循环进入下次循环

C)死循环是指无限循环下去,永远不结束,所以死循环一定是有害的

D)for循环结构的表达式1,只执行一次

E)for循环结构的表达式1,2,3都可以省略,所以表达式1,2,3之间的分号可以省略

F)for循环结构如表达式2省略,则系统认为表达式2的值永远为真

4.下面程序段

intn=2;

while(n=0){printf(“%d”,n);

n--;

则下面描述中正确的是(C)。

A)while循环执行2次B)循环是无限循环

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

5.下述程序段中,(C输出5150)与其他程序段的作用不同。

A)s=0;

k=1;

B)s=0;

while

(1){Repeat:

 

s+=k;

s+=k;

k=k+1;

if(++k<

=100)

if(k>

100)break;

gotoRepeat;

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

输出5050

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

输出5050

C)k,s=0;

D)s=0;

for(k=1;

k<

=100;

s+=++k);

do

s+=k;

while(++k<

=100);

6.以下程序段的循环次数是(B)。

for(i=2;

i==0;

)printf(“%d”,i--);

A)无限次B)0次C)1次D)2次

7.有以下程序

main()

{inti,n=0;

for(i=2;

i<

5;

i++)

{do

{if(i%3)continue;

n++;

}while(!

i);

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

}程序执行后的输出结果是(D)

A)n=5B)n=2C)n=3D)n=4

8.下面程序的输出结果是。

{intx=9;

for(;

x>

0;

x--){

if(x%3==0){

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

continue;

9.有以下程序

{intx=0,y=5,z=3;

while(z-->

0&

++x<

5)y=y-1;

printf(“%d,%d,%d\n”,x,y,z);

}程序执行后的输出结果是

10.下面程序的功能是输出以下形式的金字塔图案是:

*

***

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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