C程序设计学习指导与实践上册06年.docx

上传人:b****6 文档编号:6131321 上传时间:2023-01-04 格式:DOCX 页数:137 大小:96.71KB
下载 相关 举报
C程序设计学习指导与实践上册06年.docx_第1页
第1页 / 共137页
C程序设计学习指导与实践上册06年.docx_第2页
第2页 / 共137页
C程序设计学习指导与实践上册06年.docx_第3页
第3页 / 共137页
C程序设计学习指导与实践上册06年.docx_第4页
第4页 / 共137页
C程序设计学习指导与实践上册06年.docx_第5页
第5页 / 共137页
点击查看更多>>
下载资源
资源描述

C程序设计学习指导与实践上册06年.docx

《C程序设计学习指导与实践上册06年.docx》由会员分享,可在线阅读,更多相关《C程序设计学习指导与实践上册06年.docx(137页珍藏版)》请在冰豆网上搜索。

C程序设计学习指导与实践上册06年.docx

C程序设计学习指导与实践上册06年

 

第1章C语言概述

1.1学习重点与难点………………………………………………………………1

1.2典型题…………………………………………………………………………1

1.3典型题答案与解析……………………………………………………………3

第2章算法

2.1学习重点与难点………………………………………………………………5

2.2典型题…………………………………………………………………………5

2.3典型题答案与解析……………………………………………………………7

第3章数据类型、运算符与表达式

3.1学习重点与难点………………………………………………………………8

3.2典型题…………………………………………………………………………8

3.3典型题答案与解析……………………………………………………………12

第4章顺序程序设计

4.1学习重点与难点………………………………………………………………16

4.2典型题…………………………………………………………………………16

4.3典型题答案与解析……………………………………………………………22

第5章选择结构程序设计

5.1学习重点与难点………………………………………………………………26

5.2典型题…………………………………………………………………………26

5.3典型题答案与解析……………………………………………………………33

第6章循环控制

6.1学习重点与难点………………………………………………………………36

6.2典型题…………………………………………………………………………38

6.3典型题答案与解析……………………………………………………………45

第7章数组

7.1学习重点与难点………………………………………………………………51

7.2典型题…………………………………………………………………………53

7.3典型题答案与解析……………………………………………………………59

第8章函数

8.1学习重点与难点………………………………………………………………68

8.2典型题…………………………………………………………………………72

8.3典型题答案与解析……………………………………………………………77

第9章预处理命令

9.1学习重点与难点………………………………………………………………89

9.2典型题…………………………………………………………………………91

9.3典型题答案与解析……………………………………………………………95

 

第1章C语言概述

1.1学习重点与难点

一、了解语言的一些基本特点。

(1)语言表达能力强;

(2)语言简洁、紧凑、使用灵活易于学习和使用;

(3)数据类型丰富,有很强的结构化控制;

(4)语言生成的代码质量高;

(5)语法限制不严格,程序设计自由度大;

(6)可移植性好;

(7)能进行位操作,能实现汇编语言的大部分功能可以直接对硬件进行操作;

二、了解C语言程序的基本结构。

任何程序都是由函数组成,函数是程序的基本单位;一个程序总是从main函数开始执行的;每个语句后面都要有分号。

三、会简单应用scanf函数和printf函数。

四、会编一些简单的程序。

五、熟悉C语言的编辑环境以及调试C语言程序的方法。

1.2典型题

一、选择题

1.一个C程序的执行是()。

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序的第一个函数开始,到本程序main函数结束

2.以下叙述正确的是()。

A.在程序中,main函数必须位于程序的最前面

B.C程序的每一行只能写一条语句

C.C语言本身没有输入输出语句

D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

3.以下叙述不正确的是()。

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

4.C语言规定,在一个源程序中,main函数的位置()。

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

5.C语言编译程序是()。

A.C语言程序的机器语言版本

B.一组机器语言指令

C.由制造商提供的一套应用软件

D.将C语言源程序编译成目标程序的程序

6.以下叙述正确的是()。

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

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

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

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

7.以下叙述正确的是()。

A.C语言的源程序不必通过编译就可以直接运行

B.C语言中的每一条可执行语句最终将被转换成二进制机器指令

C.C语言源程序经编译形成的二进制代码可直接运行

D.C语言中的函数不可以单独进行编译

8.C语言的源程序()主函数。

A.可以没有B.可以有多个C.有且只有一个D.若有只有一个

9.一个C语言程序是由()。

A.若干主程序和若干子程序组成B.函数组成

C.若干过程组成D.若干子程序组成

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

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

11.以下不是C语言的特点的是()。

A.语言简洁、紧凑B.能够编制出功能复杂的程序

C.可以直接对硬件进行操作D.移植性好

二、填空题

 1.C程序的执行是从______开始执行的。

2.C源程序的基本单位是_______。

3.一个C源程序中至少应包括一个_______。

4.在一个C源程序中,注释部分两侧的分界符分别是______和_______。

5.在C语言中,输入操作是由库函数_______完成的,输出操作是由库函数_______完成的。

6.在每一个C语句后面都有一个_______,它是C语句结束的标记。

三、改错题

其程序如下:

main

(Inta,bc;

a=5;b=6

c=a×b;

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

}

四、编程题

1.编写一个程序,输出“hello,world”。

2.编写一个加法运算程序。

3.编写一个输出下面信息的C程序.

************

Cprogram!

************

五、上机实验

 1.将改正后的第三题上机实验。

 2.将第四题的三道编程题编写程序上机实验。

1.3典型题答案与解析

一、选择题

1.A

解析:

C程序在执行时总是从main()函数开始,直到main()函数结束。

2.C

解析.在一个C程序一般包括main函数和被调用函数,其所在位置是由编程者决定的,无论哪个函数在前都可以;在C程序中写作是比较自由的;输入函数和输出函数是由库函数决定的,C语言本身没有输入输出函数;注释在编译时并不被编译系统所识别。

3.D

解析:

在C程序中的书写是比较自由的,并没有规定。

4.C

  解析:

在C语言中main函数的位置是任意的。

5.D

解析:

运行一个程序需要经过以下几个步骤.第一步.输入与编译程序;第二步.对源程序进行编译;第三步.与库函数连接;第四步.运行可执行的目标程序。

       

   6.C 解析:

C程序的执行总是从main函数开始执行的。

   7.B 解析:

计算机只能识别二进制指令。

   8.C 

解析:

在C语言中,任何程序的编译都是从main函数开始执编译,所以必须有一个main函数。

   9.B

     解析:

任何程序的组成都是由函数组成,其基本组成单位是函数。

   10.B

     解析:

同上。

   11.B 

     解析:

题中ACD选项都是C语言的特点,只有B选项不是C语言的特点,C语言的具体特点在本章重点知识中已经列出。

二、填空题

   1.main函数的第一个可执行语句

     解析:

在选择题第六题已经说明。

   2.函数

     解析:

在选择题第九题已经说明。

   3.主函数

     解析:

在选择题第八题已经说明。

   4./**/

解析:

这是C语言中规定的注释部分所使用的分隔符。

   5.scanfprintf

解析:

scanf函数是C语言中的输入函数,printf函数是C语言中的输出函数。

   6.分号(;)

     解析:

C程序在编译时系统认为分号是语句结束的标记,它是C程序语句中不可缺少的部分。

 三、改错题

    改正后的程序如下:

       main()

{inta,b,c;

a=5;b=6;

c=a*b;

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

}

解析:

在C源程序中,函数都是由花括号把函数体括起来;int是一个数据类型,

       不可以把大、小写混合起来;分号是语句结束的标记,不可缺少;C语言中

       的乘号和数学中的乘号是不同的,C语言中是用“*”表示乘。

 四、编程题

   1.main()

{printf("hello,world");}

解析:

本程序只需要一个输出函数即可,在使用是要注意语句后面不可缺少分号以及输出函数的简单格式。

   2.main()

{inta,b,c;

scanf("%d,%d",&a,&b);

c=a+b;

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

}

解析:

如果对本章的改错题已经全都理解,那么这条题目也非常简单.本题大家要注意语句的格式以及分号等细节。

3.main()

{printf("************");

     printf("Cprogram!

");

     printf("************");

     }

     解析:

基本方法和第一题差不多。

 五、上机实验题

   1.解析:

改错题注意输出结果的格式;

2.解析:

第一、三题编程题可以仿照课本上的例子;

在对第二条编程题时要注意输入格式,在输入时要和scanf双引号里面的格式一致,即先输入一个整数然后输入逗号最后再输入一个整数,第一次输入的整数是a的值,第二次输入的值是b的值。

第2章算法

2.1学习重点与难点

重点:

(1)掌握算法的概念。

算法是指能够用计算机来解决的问题的方法和步骤。

(2)掌握常用的基本算法。

累乘;累加;求素数等算法。

(3)了解算法的特性。

有穷性,确定性,输入,输出,有效性。

(4)掌握算法的几种表示方法。

自然语言表示,传统流程图表示,NS流程图表示,伪代码表示法以及程序设计语言表示法。

(5)掌握结构化程序的三种基本结构。

顺序结构,选择结构,循环结构。

(6)了解程序设计的方法。

自顶向下,逐步细化,模块化设计,结构化编码。

难点:

(1)用传统的流程图和N—S流程图表示算法。

(2)结构化程序设计的方法。

2.2典型题

一、选择题

1.数据结构+()=程序。

A.程序设计方法B.算法C.语言工具和环境D.数据

2.下面哪种符号表示“处理框”()。

A.○B.□C.◇D.『』

3.voidfun()

{while

(1)

printf(“donothing”);

}

上面的表示不符合算法的哪一个性质()

A.确定性B.可行性C.有穷性D.高效性

4.求三个整数中的最大者程序如下:

intMax1(inta,b,c)

{

if(a>b)

{if(a>c)returna;

elsereturnc;

}

else

{

if(b>c)returnb;

elsereturnc;

}

}

这个程序中共需要比较几次()。

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

二、填空题

1.算法的五个特点()、()、()、()、()。

2.算法的三种基本结构()、()、()。

3.设计1-1/2+1/3-1/4+。

+1/99-1/100的算法,sum代表和、deno代表分母、sign代表符号、term代表下一项。

算法可表示如下;

S1:

1→sign

S2:

1→sum

S3:

2→deno

S4:

(-1)×sign→()

S5:

sign×()→term

S6:

sum+term→()

S7:

deno+1→deno

S8:

若deno≤100返回S4;否则算法结束。

4.Fibonacci数列的前20项该数列的第1项和第2都是1,以后的每一项都是其前两项之和。

设计算法如下:

(1)()、

(2)()、

(3)()、

(4)()、

5.判断一个数n能否同时被3和5整除。

Inputn

Flag=0

Ifmod()≠0thenflag=-1

Ifmod()≠0thenflag=-1

If()then

Printn“能被3和5整除”

Else

Printn“不能被3和5整除”

Endif

注释:

上面的mod代表求余。

6.求5!

用伪代码表示算法。

开始

置t的初值为1

置i的初值为2

当i<=5,执行下面操作:

使()

使()

(循环体到此结束)

打印t的值

结束

三、用传统流流程图表示求解以下问题的算法

(1)有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(A瓶原来盛醋,现改盛酱油,B瓶则相反)。

(2)求1+2+3……+100。

(3)将100~200之间的素数打印出来。

(4)求两个数m和n的最大公约数。

(5)求方程式ax2+bx+c=0的根。

分别考虑:

①有两个不等的实根;②有两个相等的实根。

四、用自顶向下、逐步细化的方法进行以下算法的设计

(1)打印出1900-2000年中是闰年的年份,闰年的条件是:

①能被4整除但不能被100整除;或②能被100整除且能被400整除。

(2)输入10个数,找出最大的一个数,并打印出来。

2.3典型题答案与解析

一.选择题

1.B.解释:

数据结构和算法是构成程序的两个最重要的要素。

2.B.掌握流程图常用的几种符号。

3.C.这里的while语句中的判断依据是1,而1是永真的。

所以这个程序就没有了结束条件了,它就违背了有穷性。

4.B.理解双分支结构的流程。

二.填空题

1.1、有穷性2、确定性3、有零个或多个输入4、有一个或多个输出5、有效性。

2.1、顺序结构2、选择结构3、循环结构。

3.1、sign2、1/deno3、sum.。

4.1、a←1,b←1,n←20;

2、c←a+b,输出c;

3、a←b,b←c,n←n-1;

4、n≠0,返回第⑵步。

5.1、(n,3)

2、(n,5)

3、flag=0

6.1、t=t×i

2、i=i+1

三.略四.略

第3章 数据类型、运算符与表达式

3.1学习重点与难点

重点:

(7)了解C语言的数据类型,掌握基本的数据类型

数据类型包括基本类型、构造类型、指针类型和空类型。

基本类型包括整型、字符型、实型、指针类型。

构造类型包括数组类型、结构体类型、共用体类型。

(8)变量的定义及初始化

整型、实型、字符型等基本类型变量的定义和初始化。

(9)了解运算符的优先级和结合性的概念以及常用运算符的优先级和结合性。

(10)表达式及其求值规则

难点:

(3)常用的类型及表示

(4)运算符的优先级和结合性

3.2典型题

一、选择题

1.下列四个选项中,不均是C语言关键字的选项是(A)

A.defineIFtype

B.getccharprintf

C.includescanfcase

D.whilegopow

2.下列四个选项中,均是C语言关键字的选项是(B)

A.autoenuminclude

B.switchtypedefcontinue

C.signedunionscanf

D.ifstructtype

3.下列四个选项中,均不合法的用户标识符的选项是(C)

A.AP_0do

B.floatla0_A

C.b-agotoint

D._123tempINT

4.下列四个选项中,均是合法整型常量的选项是(A)

A.160-0xfff011

B.-0xcdff01a0xe

C.-01986,0120688

D.-0x48a2e50x

5.下列四个选项中,均是不合法的整型常量的选项是(D)

A.--0f1-0xffff0011

B.-0Xcdf01712,456

C.-0189995e2

D.-0x36cf-6803f

6.下列四个选项中,均是不合法的浮点数的选项是(B)

A.160.0.12e3

B.123.2e4.2.e3

C.-.18123e40.0

D.-e3.2341e3

7.下列四个选项中,均是合法浮点数的选项是(B)

A.+1e+15e-9.403e2

B.-.6012e-4-8e6

C.123e1.2e-.4+2e-1

D.-e3.2345.e-0

8.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )

A.char

B.char=int

C.char

D.char=int=longint<=float

9.若x、i、j和k都是int型,则执行下面表达式后x的值为()。

x=(i=4,j=6,k=32)

A.4B.16C.32D.52

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

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

11.以下符合C语言表达式的赋值表达式是()。

A.d=9+e+f=d+9B.d=9+e,f=d+9

C.d=9+e,e++,d+9D.d=9+e++=d+7

12.在C语言中,要求运算符必须是整型的运算符是()。

A./B.++C.!

=D.%

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

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

14.表达式18/4*sqrt(4.0)/8值的数据类型为()。

A.intB.floatC.doubleD.不确定

15.设以下变量均为int类型,则值不等于7的表达式是()

A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)

C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)

16.若有以下定义,则能使值为3的表达式是()。

intk=7,x=12;

A.x%=(k%=5)B.x%=(k-k%5)

C.x%=k-k%5D.(x%=k)–(k%=5)

17.已知各变量的类型说明如下:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则以下符合C语言语法的表达式是()

A.a+=a-=(b=4)*(a=3)B.a=a*3=2

C.x%(-3)D.y=float(i)

18.在C语言中,char型数据在内存中的存储形式是()。

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

19.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为()。

A.7B.8C.9D.10

20.若有说明语句:

charc=´\72´;则变量c()。

A.包含1个字节B.包含2个字节

C.包含3个字节D.说明不合法,C的值不确定

二、填空题

1.若有以下定义,则执行表达式y+=y-=m*=y后的y值是___。

intm=5,y=2;

2.设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为____。

3.若s是型int变量,且s=6,则下面表达式的值是_____。

s%2+(s+1)%2

4.若a是整型变量,则下面表达式的值为_____。

(a=4*5,a*2),a+6

5.若x和a均是型变量,则执行表达式

(1)后的x值为______,则执行表达式

(2)后的x值为______。

(1)x=(a=4,6*2)

(2)x=a=4,6*2

6.若a、b和c均是型变量,则执行下面表达式后,a值为______,b值为______,c值为______。

    a=(b=4)+(c=2)

7. 若有定义:

intb=7;floata=2.5,c=4.7;则下面表达式的值为______。

a+(int)(b/3*(int(a+c)/2)%4

8.若有定义:

inta=2,b=3;floatx=3.5,y=2.5则下面表达式的值为________。

(float)(a+b)/2+(int)x%(int)y

9.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为______。

(x+y)%2+(int)a/(int)b

10.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后的值为______。

  

  x%=(n%=2)

11.下面程序的结果是______。

   main()

{intx,y,z;

x=0;y=x+1;

z=x+y;

}

12.写出下面程序执行的结果______。

   main()

{charc1,c2;

c1=¹a¹;c2=¹b¹;

printf("%c:

%d\n",c1,c1);

printf("%c:

%d\n",c2-32,c2-32);

}

13.写出下面程序执行的结果______。

main()

{unsignedcharc1,c2;

intI;

floatx;

c1=c2=i-40.56;

printf("c1=%dc2=%di=%d\n",c1,c2,i);

x=3.

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

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

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

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