C语言习题全集+答案.docx

上传人:b****2 文档编号:3505980 上传时间:2023-05-05 格式:DOCX 页数:50 大小:27.59KB
下载 相关 举报
C语言习题全集+答案.docx_第1页
第1页 / 共50页
C语言习题全集+答案.docx_第2页
第2页 / 共50页
C语言习题全集+答案.docx_第3页
第3页 / 共50页
C语言习题全集+答案.docx_第4页
第4页 / 共50页
C语言习题全集+答案.docx_第5页
第5页 / 共50页
C语言习题全集+答案.docx_第6页
第6页 / 共50页
C语言习题全集+答案.docx_第7页
第7页 / 共50页
C语言习题全集+答案.docx_第8页
第8页 / 共50页
C语言习题全集+答案.docx_第9页
第9页 / 共50页
C语言习题全集+答案.docx_第10页
第10页 / 共50页
C语言习题全集+答案.docx_第11页
第11页 / 共50页
C语言习题全集+答案.docx_第12页
第12页 / 共50页
C语言习题全集+答案.docx_第13页
第13页 / 共50页
C语言习题全集+答案.docx_第14页
第14页 / 共50页
C语言习题全集+答案.docx_第15页
第15页 / 共50页
C语言习题全集+答案.docx_第16页
第16页 / 共50页
C语言习题全集+答案.docx_第17页
第17页 / 共50页
C语言习题全集+答案.docx_第18页
第18页 / 共50页
C语言习题全集+答案.docx_第19页
第19页 / 共50页
C语言习题全集+答案.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言习题全集+答案.docx

《C语言习题全集+答案.docx》由会员分享,可在线阅读,更多相关《C语言习题全集+答案.docx(50页珍藏版)》请在冰点文库上搜索。

C语言习题全集+答案.docx

C语言习题全集+答案

第一单元程序设计和C语言

一、选择题

1.C语言的基本构成单位是:

A.函数B.函数和过程C.超文本过程D.子程序

2.一个C语言程序总是从开始执行。

A.主过程B.主函数C.子程序D.主程序

3.C语言的程序一行写不下时,可以。

A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行

4.以下叙述不正确的是:

A.在C程序中,语句之间必须要用分号";"分隔

B.若a是实型变量,C程序中10是正确的,因为实型变量中允许存放整型数

C.在C程序中,无论是整数还是实数都能正确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

5.以下不正确的C语言标识符是。

A.B.C.D.

6.下列字符串是标识符的是:

A.B.9C.D.1

7.以下说法中正确的是:

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用的函数必须放在()函数中定义

C.C语言程序总是从()函数开始执行

D.C语言程序中的()函数必须放在程序的开始部分

8.不合法的常量是:

A.‘\2’B.""C.‘3’D.‘\483’

9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:

;

5;

1.422;

A.(-3)B.2C.(23)D.(4)*(3)

10.在C语言中,字符型数据在内存中以形式存放。

A.原码B.码C.反码D.码

11.若有定义:

7;2.5;4.7;

则表达式3*()()%2/4的值是:

A.2.500000B.2.750000C.3.500000D.0.000000

12.设有说明:

w;x;y;z;

则表达式w*值的数据类型为:

A.B.C.D.

13.以下是不正确的转义字符。

A.'\\'B.'\'C.'081'D.'\0'

14.若x为型变量,则执行以下语句后的值为。

6;*x;

A.36B.-60C.60D.-24

15.字符串"\\\"\"\\"的长度是。

A.11B.7C.5D.3

二、填空题

1.一个函数由两部分组成,它们是和。

2.一个C源程序至少包含一个,即。

3.设12;则表达式的值是。

4.表达式(3,6*a)和表达式3,6*a分别是表达式和表达式,两个表达式执行完的结果分别是和,x值分别是和。

5.在C语言中,实数有两种表示形式,即和。

6.在C语言中,运算符的优先级最小的是运算符。

第二单元顺序程序设计

一、选择题

1.若m为型变量,则执行以下语句后的输出为。

1234.123;

("8.3f\n");

("%10.3f\n");

A.1234.123B.1234.123C.1234.123D.-1234.123

1234.1231234.1231234.123001234.123

2.若均为型变量,则执行以下语句后的输出为。

((10)+5)-5;

("\n");

(010);

("\n");

A.101510B.101010

010001010

C.101510D.101010

101000100

3.若x是型变量是型变量,所用的调用语句格式为:

("");

则为了将数据10和66.6分别赋给x和y,正确的输入应是:

A.1066.6<回车>B.1066.6<回车>

C.10<回车>66.6<回车>D.10<回车>66.6<回车>

4.已知有变量定义:

c;用(“”);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:

A.30’b’<回车>B.30b<回车>

C.30<回车>b<回车>D.30b<回车>

5.已知有变量定义:

a;要给a和x输入数据,正确的输入语句是。

若要输出a和x的值,正确的输出语句。

A.(“”);B.(“”);

(“”);(“”);

C.(“”);D.(“”);

(“”);(“”);

6.若有定义1,y;则以下的语句执行的结果是。

3/2;(“”);

A.2.500000B.2.5C.2.000000D.2

7.若a为整型变量,则以下语句。

2L;("\n");

A.赋值不合法B.输出为不确定的值C.输出值为-2D.输出值为2

二、读程序写结果

1.()

{;

("%2*2");

("\n");

}

执行时输入:

1234567

2.()

{40;

x*=3+2;

("");

x*4;

("");

}

3.()

{x;i;

3.6;()x;

("");

}

4.()

{2;

4-1;(",");

**=3;("");

}

5.()

{023;

("");

}

6.()

{c1=’6’2=’0’;

("\n"121212);

}

7.()

{;

1;1;

("\n");

;

("\n");

}

三、填空题

1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以输出,也能以输出。

2.""表示如果串长小于m,则在m列范围内,字符串向靠,补空格。

3.函数的“格式控制”包括两部分,它们是和。

4.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。

<>

()

{;

(“\n”);

(“”);

;

;

}

5.编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的整数存入n,如:

字符‘0’所对应的整数就是0。

请填空。

()

{c;

;

(“a:

\n”);

;

;

();

}

第三单元分支程序设计

一、选择题

1.若0,3,3,以下表达式值为0的是

A.

1:

0C.2D.3

2.以下运算符中优先级最低的运算符为,优先级最高的为。

A.B.!

C.D.E.?

:

F.

3.若1234,则条件表达式w<<的结果为。

A.4B.3C.2D.1

4.若均为型变量,则执行以下语句后的输出为。

3710;

("\n">1010010);

("\n");

("\n">z);

("\n");

A.0B.1C.0D.0

1111

1100

1110

5.分析以下程序,下列说法正确的是。

()

{500;

()("****\n");

("####\n");

}

A.有语法错,不能通过编译B.通过编译,但不能连接

C.输出****D.输出####

6.分析以下程序,下列说法正确的是。

()

{503;

()("****\n");

("####\n");

}

A.有语法错,不能通过编译B.通过编译,但不能连接

C.输出****D.输出####

7.分析以下程序,下列说法正确的是。

()

{000;

()("****\n");

("####\n");

}

A.有语法错,不能通过编译B.通过编译,但不能连接

C.输出****D.输出####

8.分析以下程序,下列说法正确的是。

()

{000;

()("****\n");

("####\n");

}

A.有语法错,不能通过编译B.通过编译,但不能连接

C.输出****D.输出####

二、读程序写结果

1.<>

()

{14;

(<=0)(!

(<=0));

("\n");

}

2.()

{40;

x*=3+2;

("");

x*=((4));

("");

}

3.()

{;

3;4;

("",(x>>)?

1:

0);

("">y>);

}

4.()

{1110;

(z<0)

(y>0)3;

5;

("\t");

(<0)3;

(0)5;

7;

("\t");

("\t");

}

5.()

{‘B’;

(x)

{‘A’:

(“A.”);

‘B’:

(“B.”);

‘C’:

(“C.”);

:

(“.”);

}

}

6.()

{1000;

(x)

{1:

(y)

{0:

;

1:

;

}

2:

;

3:

;

}

("\n");

}

三、填空题

1.若5,6,7,8,则表达式2的值为

2.定义10;执行后,变量x的值为。

3.分段函数:

输入x,计算y值,输出y,其中:

x<023

00

x>0(7)/3

<>

()

{

;

("");

(x<0)

(1);

(2)0;

(3)(7)/3;

(“”);

}

4.由键盘输入三个数,计算以这三个数为边长的三角形面积。

(1)

()

{

(2);

("3:

\n");

("");

((3))

{()*0.5;

s1*()*()*();

(4);

("\\n");

}

(5)

("!

\n");

}

5.有一方程0的值由键盘输入,请编程序,打印出以下情况时方程的解。

(1)0≠0

(2)000

(3)00≠0

(4)a≠04≥0

(5)a≠04≤0

""

()

{12;

("");

("\n");

(0)

{(

(1))

("\n");

(2))("\n");

("x\n");

}

{*4*a*c;

((3))

{x1=((d))/(4);

x2=((d))/(5);

("x16.2f,x26.2f\n"12);

}

{(2*a);(6);

("x16.2f6.2\n");

("x26.2f6.2\n");

}

}

}

6.投票表决器:

–输入Y、y,打印

–输入N、n,打印

–输入其他,打印

()

{

c;

("");

(1)

{

‘Y’:

‘y’:

(“”);

(2);

‘N’:

‘n’:

(“”);(3);

(4)(“”);

}

}

第四单元循环程序设计

一、选择题

1.程序段如下:

则以下说法中正确的是:

A。

5;

{

;

}(k<=0);

A.循环执行5次B.循环是无限循环

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

2.设i和x都是类型,则循环语句B。

(00<=9876)("");

A.最多执行10次B.最多执行9次

C.是无限循环D.循环体一次也不执行

3.下述循环语句B。

;

(011)("****");

A.判断循环结束的条件非法B.是无限循环

C.只循环一次D.一次也不循环

4.程序段如下:

则以下说法中正确的是:

C。

20;

(0)1;

A.循环执行20次B.循环是无限循环

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

5.下列程序段执行后k值为A。

0;

(0<5)

(0<3)

1;

A.15B.3C.5D.8

6.程序段如下:

则以下说法中不正确的是:

D。

<>

()

{

2,;

(k<7)

{

(2){3;(“\n”);}

1;

(“\n”);

}

}

A.3;执行一次B.1;执行2次

C.执行后k值为7D.循环体只执行一次

二、读程序写结果

1.()

{0;

(<=2)

{;("\n");}

}

1

1

3

2.()

{00;

{*2+1;("\n");;}

(s<10);

}

01

14

29

316

3.<>

()

{1;

(5>=1)

{

(1)*2;

("\n");

}

}

4

10

22

46

94

4.指出下面三个程序的功能,当输入为:

"?

"时,它们的执行结果是什么?

⑴<>

()

{c;

();

('?

')

{(c);();}

}

⑵<>

()

{c;

((())'?

')();

}

⑶<>

()

{((())'?

');

}

5.<>

()

{i;

(1<=5)

{

(2)

(‘<’);

;

(‘>’);

}

(‘#’);

}

6.()

{;

(11<=100)

{(b>10);

(31)

{3;;}

}

("\n");

}

7.()

{1;

(i<=15)

(32);

("");

("\n");

}

8.<>

()

{;

(0<=3)

{(0<)

("(),");

("\n");

}

}

9.()

{;

'';

(0<=5)

{(1<)("");

(0<=5)("",'*');

("\n");

}

}

10.<>

()

{0;

(11<=30)

{(100)

("\n");

(2<)

{(!

());

(i>1)

{("\t");}

}

}

}

三、填空题

1.语句只能用于语句和语句中。

2.计算2+4+6+898+100

()

{

i,

(1);

(2<=100;

(2))

;

}

3.求满足下式的

XYZ

+YZZ

──────

532

()

{532;

(1;

(1))

(1;

(2))

((3);(4))

{(5)+(100*10*);

()(",,\n");

}

}

4.求=之值,其中a是一个数字。

例如2+22+222+2222(此时n=4),n由键盘输入。

()

{100;

("请输入a和n的值:

\n");

("");

(<=

(1))

{

(2);

(3);

*10;

(4);

}

("\n");

}

5.一球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下,求它在第十次落地时,共经过多少米?

第十次反弹多高?

()

{100.02;

n;

(2<=

(1))

{

(2);(3);}

("第10次落地时共经过米\n");

("第10次反弹米\n");

}

6.打印出以下图形

*

***

*****

*******

*****

***

*

()

{;

(0<=

(1))

{(0<=2)("");

(0<=

(2))("*");

(3)

}

(0<=2)

{(0<=(4))

("");

(0<=(5))

("*");

("\n");

}

}

7.准备客票。

某铁路线上共10个车站,问需要准备几种车票?

()

{0;

("输入车站数:

");

("");

(1<

(1))

(2)<)

(3);

("车票种类\n");

}

第五单元数组

一、选择题

1.以下关于数组的描述正确的是。

A.数组的大小是固定的,但可以有不同的类型的数组元素。

B.数组的大小是可变的,但所有数组元素的类型必须相同。

C.数组的大小是固定的,但所有数组元素的类型必须相同。

D.数组的大小是可变的,但可以有不同的类型的数组元素。

2.在定义a[10];之后,对a的引用正确的是。

A.a[10]B.a[6.3]C.a(6)D.a[10-10]

3.以下能正确定义数组并正确赋初值的语句是。

A.5[n][n];B.a[1][2]={{1},{3}};

C.c[2][]={{1,2},{3,4}}D.a[3][2]={{1,2},{3,4}}

4.以下不能正确赋值的是。

A.s1[10]1="";B.s2[]={’t’,’e’,’s’,’t’}

C.s3[20]="";D.s4[4]={’t’,’e’,’s’,’t’}

5.下面程序段运行时输出结果是。

s[18]="a!

";

("%.4s");

A.a!

B.a!

C.aD.格式描述不正确,没有确定输出

6.下面程序段运行时输出结果是。

s[12]="A";

("\n"(s));

A.12B.8C.7D.6

7.在执行a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是。

A.4B.1C.2D.5

二、读程序写结果

1.<>

()

{

a[8]={1,0,1,0,1,0,1,0};

(2<8)

a[i]a[1]+a[2];

(0<8)

(“%5d”[i]);

}

2.<>

()

{

b[6]={1.1,2.2,3.3,4.4,5.5,6.6};

i;

[0];

(0<5)

b[i][1];

b[5];

(0<6)

(“%6.2f”[i]);

}

3.<>

()

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

(i<7p[i]%2)

{[i];;}

("\n");

}

4.()

{a[3][3]={1,3,5,7,9,11,13,15,17};

0;

(0<3)

(0<3)

{a[i][j];

()

[i][j];

}

("");

}

5.()

{a[4][4];

(0<4)

(0<4)

a[i][j];

(0<4)

{(0<)

("%4d"[i][j]);

("\n");

}

}

6.<>

()

{;

s1[100]2[100];

("1:

\n");(s1);

("2:

\n");(s2);

0;

((s1[i]2[i])(s1[i]'\0'))

;

((s1[i]'\0')(s2[i]'\0'))0;

1[i]2[i];

("\n");

}

输入数据

7.()

{

[3][5]={"","",""};

("\"\"\n"[1]);

}

8.<>

<>

()

{

[10][80][80];

i;

(0<10)

([i]);

([0]);

(1<10)

((c)<([i]))

([i]);

(c);

}

三、填空题

1.构成数组的各个元素必须具有相同的。

2.下面的程序是输出数组中最大元素的下标(p表示最大元素的下标)。

()

{

s[]={13,09,8,520,3};

(00<8)

(s[i]>s[p]);

}

3.输入20个数,输出他们的平均值,输出与平均值之差的绝对值最小的数组元素。

<>

()

{

a[20]0;

;

(0<20)

{

(“”[i]);

}

(a[0]);

[0];

(1<20)

((a[i])

{

[i];

}

}

4.输出行、列号之和为3的数组元素。

()

{[4][3]={'A','a','f','c','B','d','e','b',

'C','g','f','D'};

;

(0;

(1))

(0;

(2))

{;

((3))("\n"[x][y]);

}

}

5.将一个数组中的元素按逆序重新存放。

例如原来的顺序为:

8,5,7,4,1,要求改为:

1,4,7,5,8。

N7

()

{a[N]={12,9,16,5,7,2,1};

("\n初始数组:

\n");

(0<)

("%4d"[k]);

(0<

(1))

{[k];a[k]=

(2);(3);}

("\n交换后的数组:

\n");

(0;(4))

("%4d"[k]);

}

6.有一行文字,要求删去某一个字符。

此行文字和要删去的字符均由键盘输入,要删去的字符以字符形式输入(如输入a表示要删去所有的a字符)。

<>

()

{/*1表示原来的一行文字,2表示删除指定字符后的文字*/

1[100]2[100];

;

00;

(“:

\n”);

(1);

("");

(0;

(2))

(1[i])

{2[(3)]1[i];;}

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2