1第一章程序设计基本概念1.1程序和程序设计知识点1:C语言概述C语言是目前广泛流行的一种计算机高级语言,所谓“高级”是指它的代码形式接近英语国家的自然语言和数学语言,易于被人们学习和掌握。2典型题1-1以下叙述中正确的是A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现得最晚,具有其他语言的一切优点3知识点2:了解C源程序的编译、连接、执行过程。(1)用C语言编写的代码程序称为源程序,它以ASCII代码形式存放在一个文本文件中,称为C的源程序文件,通常文件名的后缀用“.C”来表示,它不是一个可执行的机器指令文件,因此不可能用执行命令直接执行。(2)用户必须调用C编译程序对C源程序进行编译处理,把C源程序中的语句“翻译”成二进制的机器指令,自动形成一个后缀名为“.OBJ”的二进制文件,通常称此文件为目标文件。4(3)形成的目标文件虽是二进制文件,但仍不能运行,因为在人们编写的C程序中包含有头文件,调用了库函数等,这些都存放在由C编译程序提供的“库”中,因此必须调用连接程序把这些“库”连接到目标文件中,连接之后,将自动形成一个后缀名为“.EXE”的可执行文件。(4)一个C程序经过以上编译、连接步骤之后才能形成一个可执行文件,进行运算输出运行结果。5典型题1-2以下叙述中正确的是A.C语言的源程序不必通过编译就可直接运行B.C语言中的每条执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译6典型题1-3用C语言编写的代码程序A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行7知识点3:简单程序设计包含几个部分1.确定数据结构。2.确定算法。3.编码。即编程。4.在计算机上调试程序。5.整理并写出文档资料。81.2算法知识点4:算法的概念与特性概念:为解决某个特定问题而采取的确定且有限的步骤。特性:1.可行性;解决问题的步骤必定是可行的。2.有穷性;解决了问题,程序就应当结束。3.有零个或多个输入;在程序设计中,有些程序并不要求用户输入任何数据。main(){inti;for(i=1;i=100;i++)if(i%2==0)printf(%d\n,i);}94.有一个或多个输出。5.确定性。算法中每条指令必须有确切含义。典型题1-4一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性101.3结构化程序设计和模块化结构知识点5:了解结构化程序设计的3种基本结构及其一般、N-S流程图。1.顺序结构。语句1语句2语句1语句2112.选择结构。123.循环结构。13由以上3种基本结构组成的程序可以完成任何复杂的任务。典型题1-5C语言中用于结构化程序设计的3种基本结构是A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue14典型题1-6结构化程序由3种基本结构组成,3种基本结构组成的算法A.可以完成任何复杂的任务B.只能完成部分复杂的任务C.只能完成符合结构化的任务D.只能完成一些简单的任务15模块化结构把一个复杂的大任务分解为若干个子任务,每个子任务又分成很多个小子任务,每个小子任务只完成一项简单的功能。在程序设计时,用一个个小模块来实现这些功能。这样的程序设计方法为“模块化”的方法,由一个个功能模块构成的程序结构为模块化结构。1617总结知识点1:C语言概述。知识点2:了解C源程序的编译、连接、执行过程。知识点3:简单程序设计包含几个部分。知识点4:算法的概念与特性。知识点5:了解结构化程序设计的3种基本结构及其一般、N-S流程图。18第二章C程序设计的初步知识2.1简单C语言程序的构成和格式知识点1:了解C程序的组成特点。1.在一个C程序中必须有一个main函数,且仅有一个main函数。2.一个C程序的执行总是从main函数开始,与main函数所在位置无关。3.构成C程序的基本单位是函数,但C提供了大量的库函数供用户调用,它们有特定的函数名,不能由用户命名。194.C语句中使用花括号“{”和“}”作为函数体的定界符,除此之外,花括号还可以作为复合语句的定界符;当给数组元素赋初值时,也用花括号作为初值的定界符。5.C程序由语句构成,C中规定,用分号作为一个语句的结束标志,分号是语句的一部分而不是语句之间的分隔符。6.C中规定注释部分可以出现在程序中的任意合适地方,由/*开始,*/结束。两者必须成对出现。20例:输入矩形的两条边长,求矩形面积。#include“stdio.h”main(){floata,b,area;a=1.2;/*给矩形的两条边赋值*/b=3.6;area=a*b;/*求矩形面积放入变量area*/printf(“a=%f,b=%f,area=%f\n”,a,b,area);}21典型题2-1在一个C程序中A.main函数必须出现在所有函数之前B.main函数可以在任何地方出现C.main函数必须出现在所有函数之后D.main函数必须出现在固定位置222-2以下叙述正确的是A.C程序中注释部分可以出现在程序的任意合适的地方B.花括号“{”和“}”只能作为函数体的定界符C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语句之间的分隔符,不是语句的一部分232.2常量、变量和标识符知识点2:了解C程序中关于标识符的语法规定,了解“关键字”、“预定义标识符”和“用户标识符”的含义和作用。1.标识符可用作变量名、符号名、函数名、数组名和文件名等,由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。合法标识符:area、_ini、s1234、a_array非法标识符:456p、cade-y、w.w、a&b242.C语言标识符分为三类:关键字(见附录1)、预定义标识符(库函数、预编译处理命令)、用户标识符。C中规定,用户定义的标识符不可与C语言的关键字相同,可以与C语言中的预定义标识符相同。假如用户把预定义标识符作为用户标识符来使用,这时这些标识符已失去了C语言原先赋予的含义。例如,把输出函数printf定义为变量名时,就不能在同一程序中调用printf函数进行输出操作,因此最好不要重名。25典型题2-3以下选项中合法的用户标识符是A.longB._2testC.3DmaxD.A.dat262-4下列选项中,不能用作标识符的是A._1234_B._1_2C.int_2_D.2_int_272-5以下不能定义为用户标识符的是A.scanfB.VoidC._3com_D.int282-6以下4组用户定义标识符中,全部合法的一组是A._main,include,sinB.If,-max,turboC.txt,REAL,3COMD.int,k_2,_001292-7下列关于C语言用户标识符的叙述中正确的是A.用户标识符中可以出现下划线和中划线B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头302-8以下叙述正确的是A.可以把define和if定义为用户标识符B.可以把define定义为用户标识符,但不能把if定义为用户标识符C.可以把if定义用户标识符,但不能把define定义为用户标识符D.define和if都不能定义为用户标识符31知识点3:常量。1.常量:在程序运行过程中,其值不能改变的量称为常量。2.常量的组成:整型常量(即整数,如:10,-10,0等),实型常量(即小数,如10.1,-10.1,0.0等),字符型常量(如,‘A’,‘a’等)。3.符号常量:用一个标识符代表一个常量的,称为符号常量。符号常量名习惯用大写。尽量做到“见名知意”。32例:计算圆面积。#include“stdio.h”#definePI3.14159main(){floatr,s;r=5.0;s=PI*r*r;printf(“s=%f\n”,s);}程序运行结果为:s=78.53974933例:#include“stdio.h”#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(“total=%d\n”,total);}34知识点4:变量。1.变量:其值可以改变的量,称为变量。2.C语言规定,程序中所要用到的变量应该先定义再使用。根据定义系统为它分配相应数量的内存空间。如:inta,b;floate,g;charc;352.3整型数据知识点5:C语言中,整型常量可以用十进制、八进制和十六进制形式来表示。1.十进制:常用的整数,如0,32767,-32768等。2.八进制:数字0开头(不是字母o!),由数字0~7组成。如:010,017等。注:018为非法八进制。3.十六进制:0x开头(或大写X),由数字0~9和字母a,b,c,d,e,f(A,B,C,D,E,F)组成。如:0x10,0xF等。362-9以下选项中可作为C语言合法整数的是()A.10110BB.0386C.0xffaD.x2a2372-10以下两组整数中,不正确的八进制或十六进制常量是()()1.A.0x16B.016C.-16D.0x89f2.A.oxccB.017C.0X123D.0xFF38知识点6:整型数据的分类:类型名称占用字节数数值范围[signed]int2-32768~32767[signed]shortint2-32768~32767[signed]longint4-2147483648~2147483647unsigned[int]20~65535unsignedshort[int]20~65535unsignedlong[int]40~4294967295392-11:以下选项不属于C语言的整型数据类型的是()A.signedshortintB.unsignedlongintC.unsignedintD.longshort40长整型常量表示,在一个整型常量后面加一个字后缀l(L的小写)或L。例如123L,345l等。longa;a=123l或a=123L;无符号整数在数字的末尾应该加上字母后缀u或U,若是长整型无符号整数常量,应该加后缀lu或LU;无符号常量不能表示成小于0的负数,例如:-200U是非法。41整数在内存中的存储形式正整数C语言中,当用两个字节存放一个整数时,例如整数5在内存中的二进制码为:0000000000000101,对于正整数的这种存储形式称为用“原码形式”存放。整数10在内存中的二进制码为:000000000000101042负整数负整数在内存中存放形式转换过程:绝对值取返加1。例如-5在内存中的二进制码为:取绝对值:5,内存中的二进制码为0000000000000101取返1111111111111010加1,1111111111111011(-5表示)43-10取绝对值:10,内存中的二进制码为0000000000001010取返1111111111110101加1,1111111111110110(-10表示)442.4实型数据知识点7:正确书写实型常量,包括指数形式表示的实数,定义变量及赋初值。实型常量(又称实数)1.小数形式由数字和小数点组成(必须要