C语言程序设计精彩试题集及其问题详解.docx

上传人:b****7 文档编号:16538961 上传时间:2023-07-14 格式:DOCX 页数:46 大小:26.48KB
下载 相关 举报
C语言程序设计精彩试题集及其问题详解.docx_第1页
第1页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第2页
第2页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第3页
第3页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第4页
第4页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第5页
第5页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第6页
第6页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第7页
第7页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第8页
第8页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第9页
第9页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第10页
第10页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第11页
第11页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第12页
第12页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第13页
第13页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第14页
第14页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第15页
第15页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第16页
第16页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第17页
第17页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第18页
第18页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第19页
第19页 / 共46页
C语言程序设计精彩试题集及其问题详解.docx_第20页
第20页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计精彩试题集及其问题详解.docx

《C语言程序设计精彩试题集及其问题详解.docx》由会员分享,可在线阅读,更多相关《C语言程序设计精彩试题集及其问题详解.docx(46页珍藏版)》请在冰点文库上搜索。

C语言程序设计精彩试题集及其问题详解.docx

C语言程序设计精彩试题集及其问题详解

第一章基础知识

一.填空

1.

每个C程序都必须有且仅有一个________函数。

2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载

和执行。

3.软件是程序,以及______、使用和维护所需要的所有文档。

4.国标中规定:

“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6.C语言是由________组成的。

7.C语言的函数可分为主函数main、标准库函数和_________。

8.一个函数是由两部分组成的,即:

________和函数体。

9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作

的要求。

不同的任务功能,就会需求不同的软件程序,如:

控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对

象,也可以用标号和符号来代替地址、常量和变量。

13.

在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14.C程序的执行均是由执行_________开始。

15.

函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C语句

组成的执行部分。

16.

C语言程序中一条简单语句是以________字符作为结束符的。

17.

C语言是结构化、________的程序设计语言。

18.

由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。

19.

用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。

所以

说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

20.

第一个系统体现结构化程序设计思想的教学工具语言是_______语言。

解答:

1.main()

2.编译

3.开发

4.指令序列

5.高级语言

6.函数

7.自定义函数

8.函数首部

9.翻译

10.应用软件

11.二进制代码

12.助记符

13.#

14.main函数

15.声明部分

16.;(或分号)

17.模块化

18.翻译

19.执行速度

20.PASCAL

二.阅读程序写结果

解答:

三.补充程序

解答:

四.改错题

解答:

五.编程一

解答:

六.编程二

解答:

第二章常量、变量和表达式

一.填空

1.以16位计算机为例,若定义longinta;则变量a占______个字节的内存空间。

2.以16位计算机为例,若定义doublea;则变量a占______个字节的内存空间。

3.以16位计算机为例,若定义longdouble;则变量a占______个字节的内存空间。

4.在______位机,int型占4个字节。

5.C语言的数据类型有:

基本数据类型、构造数据类型、枚举类型、______、空类型

6.在C语言中,基本数据类型有:

______。

7.整型常量046转换为十进制数等于______。

8.整型常量054转换为十进制数等于______。

9.整型常量0x125转换为十进制数等于______。

10.整型常量0x7C转换为十进制数等于______。

11.整型常量39转换为八进制等于______。

12.实数473.468写成规范化指数形式,则应为______。

13.实数0.0453写成规范化指数形式,则应为______。

14.将0x123转换为二进制等于______。

15.字符’A’表示成十六进制等于______。

16.在C语言中,称代表常量的标识符为______。

17.C语言中是用编译预处理命令______来定义符号常量

18.在C语言中,以反斜杠符(\)开头,后跟字符的字符序列,称之为______,主

要用来表示控制及不可见的字符或者一些图形符号

19.语句printf("\106")执行的结果输出是______。

20.语句printf(“b”)执行的结果输出是______。

21.语句printf(“\\b”)执行的结果输出是______。

22.语句printf("\102")执行的结果输出是______。

23.若有charch1;ch1='a'+4;则语句printf("%c",x)的输出结果为______。

24.字符串常量“Hello,everyone!

”占据的内存空间为______个字节

25.字符串常量“Hello,Bob!

”占据的内存空间为______个字节

26.十进制整型常量由0~9个数据组成,但不能以______开始,没有小数部分

27.十六进制常量由0~9和______组成

28.unsignedlong类型常量通常以______为后缀

29.实型常量通常有小数形式和______两种表达方式

30.C语言中是用编译预处理命令______来包含其他源文件

31.为了表示字符串的结束,系统自动在字符串的最后加一个______,但不被输出

32.C语言中,其值可被改变的量称为变量,它具有三个基本要素:

变量名、______和变量值

33.C语言规定,变量的标识符只能由字母、数字和下划线组成,且不能以______开

头。

34.在16位机中,sizeof(“hello\n”)等于______。

35.在16位机中,printf(“\“hello\””)等于______。

36.字符变量在内存中占用______个字节的存储空间。

37.若有定义intx=27,y=6;则表达式x/y的值为______。

38.若有定义intx=47,y=8;则表达式x%y的值为______。

39.若有定义charch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf("ch1=%c,ch2=%

c",ch1,ch2);则输出为______。

40.若有定义charch1='A',ch2,ch3;执行ch2=ch1++;ch3=++ch1;printf("ch2=%c,ch3=%

c",ch2,ch3);则输出为______。

41.若有定义inti=5,j,k;执行j=i--;k=--i;printf("i=%d,j=%d\n",i,j);则输

出为______。

42.表达式(int)(13.7+25.6)/4%5的值是______。

43.表达式3.6-5/2+1.2+5%3的值是______。

44.表达式54%10/2+4.0*(8/5)的值是______。

45.若定义intx;doubleb=5.45;执行x=b后,则x的值为______。

46.若定义inty;charc='A';执行y=c后,则y的值为______。

47.若定义inta=8;floatb=2.5;则a/(int)(b)的值为______。

48.若a=5,则执行a*=7-3语句后,a的值是______。

49.若inta=1,b=0,c=4,d=2;则表达式(a>b?

a:

b)&&(c-d)的值为______。

50.已知a=0,表达式a=1?

b=1:

b=0;执行后,b的值是______。

51.若定义intm=7,n=12;则表达式n%=m-m%5的值是______。

52.若定义inta=8;floatb=4.5;执行a*=a/=a-b后,a的值为______。

53.inta=2;!

a++的值为______。

54.inta=0;!

a++&++a的值为______。

55.inta=7;floatb=4.5;则printf(“%d”,a*=a/=a-b)的值为______。

56.intk=7;floata=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值为______。

57.#defineMax(a,b)(((a)-(b))&0x80000000)?

(a):

(b),inta=2,b=6;printf(“%d\n”,Max(a,b))的值为

______。

58.在32位机中,inta=4,b=7;printf(“%0x”,a-b)的值为:

______。

59.intx,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值为:

______。

60.inti=2,j;printf(“%d”,j=i<1)的值为:

______

解答:

1.0

2.4

3.10

4.32

5.指针类型

6.int、float、double、char

7.38

8.44

9.293

10.124

11.047

12.4.734680e+002

13.4.530000e-002

14.100100011

15.\x41/41H

16.符号常量

17.#define

18.转义字符常量

19.F

20.b

21.\b

22.B

23.e

24.16

25.11

26.0

27.A~F

28.U

29.指数形式

30.#include

31.“\0”

32.变量类型

33.数字

34.7

35.“hello”

36.1

37.4

38.7

39.ch1=C,ch2=A

40.ch2=A,ch3=C

41.i=3,j=5

42.4

43.4.800000

44.7.000000

45.5

46.65

47.4

48.20

49.1

50.1

51.2

52.4

53.0

54.0

55.4

56.2.500000

57.2

58.fffffffd

59.3,1

60.0

二.阅读程序写结果

解答:

三.补充程序

解答:

四.改错题

解答:

五.编程一

解答:

六.编程二

解答:

第三章顺序结构

一.填空

1.C语言的语句可分为5类,它们是:

控制语句、____________、函数语句、符合语句和空

语句。

2.常用于字符输入的函数为:

________________。

3.常用于字符输出的函数为:

________________。

4.常用于字符串输入的函数为:

________________。

5.常用于字符串输出的函数为:

________________。

6.格式输入函数的一般形式为:

________________。

7.格式输出函数的一般形式为:

________________。

8.printf和scanf是标准的库函数,它们的函数原型在头文件________________中。

9.有charch,则从键盘给ch赋值的格式输入语句为:

________________。

10.如果要输出字符串常量“HelloWord!

”,则格式输出语句为:

________________。

11.设有定义:

longx=-123456L;,请写出能够正确输出变量x值的语句________________。

12.若有inta,b;,想通过scanf("%d%d",&a,&b);输入语句给a赋于1,给b赋于2,则从键盘

输入数据的形式是________________。

13.若有inti,j;scanf("i=%d,j=%d";&i,&j);,要求给i赋10,给j赋20,则应该从键盘

输入_______。

14.已知i、j、k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1、j的值为2、k

的值为3,请写出正确的输入语句________________。

15.有intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);若想

从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是_____

___________。

16.有inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);

,若运行时从键盘上输入9876543210<回车>,则程序的输出结果是___________________

__。

17.有intm=0256,n=256;则printf("%o%o\n",m,n);的输出结果是__________________

___。

18.有intx=102,y=012;,则printf(“%2d,%2d\n”,x,y);的输出结果是_____________________。

19.有定义和语句:

inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);,则

printf("%d%d%3.1f%3.1f\n",a,c,f,x);的输出结果是_____________________。

20.若有定义和语句:

intm=0xabc,n=0xabc;m-=n;则printf("%o\n",m);的输出结果是___

__________。

21.若有intm=32,n=032;,则printf("%d,%x\n",m,n);执行后输出结果是

______________

_____。

22.若有inta=1234;,则printf("%2d\n",a);的输出结果是_____________________。

23.若变量已正确说明为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋于1

0.0,b赋予22.0,c赋予33.0,不正确的输入形式是_____________________。

A)10<回车>22<回车>33<回车>B)10.0,22.0,33.0<回车>

C)10.0<回车>22.033.0<回车>D)1022<回车>33<回车>

24.若有intx=3,y=1;则printf("%d%d\n",x++,y+2);的输出结果是__________________

___。

25.若有定义和语句:

doubled;floatf;longl;inti;i=f=l=d=20/3;则printf("%

d%ld%f%f\n",i,l,f,d);的输出结果是(小数点后只写一位)_____________________。

26.以下说法中正确的是_____________________。

A)#define和printf都是C语句

B)#define是C语句,而printf不是

C)printf是C语句,但#define不是

D)#define和printf都不是C语句

27.若有intk=17;,则printf("%d,%o,%x\n",k,k,k);的输出结果是_____________________。

28.以下叙述中正确的是_____________________。

A)输入项可以是一个实型常量,如:

scanf("%f",3.5);

B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:

scakf("a=%d,b=%d");

C)当输入数据时,必须指明变量地址,例如:

scanf("%f",&f);

29.若有定义和语句:

intu=010,v=0x10,w=10;则printf("%d,%d,%d\n",u,v,w);输出结果是

_____________________。

30.若有inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;,则printf("%f\n",z);的输出结果是_____________________。

31.若有inta=2,c=5;,则printf("a=%%d,b=%%d\n",a,c);的输出结果是________________

_____。

32.有charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);则printf("%d%f\n",n,x);的输出结果是_____________________。

33.有inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);若

从键盘输入:

102030<回车>。

输出结果是_____________________。

34.若有inta,b,c;a=25;b=025;c=0x25;,则printf("%d%d%d\n",a,b,c);的输出结

是___________。

35.有以下语句段

intn1=10,n2=20;printf(“________________”,n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10n2=20

36.若有语句inti=-19,j=i%4;则printf("%d\n",j);的输出结果是

_____________________

37.有inta=0;a+=(a=8);则printf("%d\n",a);的输出结果是_____________________。

38.有inta=1,b=2;a=a+b;b=a-b;a=a-b;则printf(“%d,%d\n”,a,b);的输出结果

______________。

39.有unsignedshorta=65536;intb;,则printf(“%d\n”,b=a);的输出结果是______________。

40.语句printf("\10289\n");的数据结果为:

__________________。

解答:

1.表达式语句

2.getchar()

3.putchar()

4.gets()

5.puts()

6.scanf(“格式控制字符串”,地址表列);

7.printf(“格式控制字符串”,输出表列);

8.stdio.h

9.scanf(“%c”,&ch);

10.printf(“%s”,HelloWord!

);

或者:

printf(“HelloWord!

”);

11.printf(“x=%1d\n”,x);

12.12或者1

2

13.i=10,j=20

14.scanf(“%d,%d,%d”,&i,&j,&k);

15.m=123n=456p=789

16.a=98,b=765.000000,c=4321.000000

17.256400

18.102,10

19.1651.56.5

20.0

21.32,1a

22.1234

23.B

24.33

25.666.06.0

26.D

27.17,21,11

28.C

29.8,16,10

30.13.700000

31.a=%d,b=%d

32.220.000000

33.10300

34.252137

35.n1=%d\nn2=%d

36.-3

37.16

38.2,1

39.0

40.B89

二.阅读程序写结果

解答:

三.补充程序

解答:

四.改错题

解答:

五.编程一

解答:

六.编程二

解答:

第四章选择结构

一.填空

1.在if,while,case,do,else等关键字中,用于选择结构的有().

2.已知a=1;那么if(a=2)printf("%d",2);elseprintf("%d",1);的输出结

果是().

3.已知chara='A';那么if(a>65)printf("%s","bigger");elseprintf("%s","smaller");的输出结果是().

4.表示“x≥y≥z”的C语言表达式是()。

5.在C语言中,用于实现选择结构的语句有()语句和()语句。

6.判断两个浮点型变量x和y是否相等一般用:

if(<1e-6)…。

7.设有程序段:

t=6;a=7;b=8;if(a=b)t=a;,这段程序执行后,t的结果是()。

8.设a=1,b=2,c=3,d=4,则表达式:

a>b?

a:

c>d?

a:

d的结果为()。

9.表达式98&&8&&31&&(98-'a')的值为()。

10.若inta=3;则表达式(a>2)&&!

('D'>69)的值为()。

解答:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

二.阅读程序写结果

1.#include

voidmain()

{

intx,y,t;

x=7;y=9;if(x

{t=x;x=y;y=t;}

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

}

2.

#include

voidmain()

{

intx=1,a=2,b=3;

switch(x)

{

case1:

a--;break;

case2:

b++;break;

case3:

a++;b++;

}

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

}

3.

#include

voidmain()

{

charch1='E';

if(ch1>

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

当前位置:首页 > 经管营销

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

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