您好,欢迎访问三七文档
二级C语言程序设计1序言C语言概述和运行环境1概述:语言:C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。二级C语言属于全国计算机等级考试一年举行两次。每年上半年3月倒数第一个星期六上午进行;每年下半年九月份的9月倒数第二个星期六上午进行。考试内容为10分计算机公共基础题(数据结构、程序设计、软件工程、数据库),90分的C语言课程题;考试题型分为:40个选择题(40分),1道程序填空题(18分),1道程序改错题(18分),1道子程序实现题(24分),总分100分,考试时间120分钟,考试成绩总分60以上且上机题36分以上考试合格。2运行环境:MicrosoftVisualC++6.03环境安装:图1选择“setup.exe”双击开始安装二级C语言程序设计2图2选择接受协议继续安装二级C语言程序设计3图3无需安装msdn4软件应用图4首先新建一个工程二级C语言程序设计4图5然后在“工程”中新建文件图6开始编写程序5常用的快捷键:二级C语言程序设计5编译:ctrl+F7运行:ctrl+F5创建可执行文件:F7插入/删除断点:F9编辑“源文件”.c;编译生成:中间文件.obj;连接生成:目标文件.exe;执行内存映像文件。二级C语言程序设计6第一章程序设计基本概念1.1程序和程序设计1.1.1C程序软件:程序+数据+文档程序:连续执行的一条条指令的集合称为“程序”。(若干有序指令的集合称为程序。)指令:完成特定意义的语句。语句:表达式和分号。(任何语句都是以分号为结尾)表达式:若干标识符和功能函数。标识符:各种自定义变量和系统保留字;功能函数:系统函数和自定义的子程序函数。对于计算机来说,它不能识别由高级语言编写的程序,它只能接受和处理由0和1代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也被称为“机器语言”。所以所有由高级语言编写的程序都要经过编译,编译成二进制代码。这种具有翻译功能的软件称为编译程序。(C++)语言有很多种,我们现在要谈论的就是C语言。为什么计算机会能进行各种各样的操作,就是由不同的指令来实现的。而不是只有C语言才可以实现这样的功能。还有其它很多语言。但是我们一般说C语言是其它语言的母语。会了C语言其它语言在学习的过程的过程就会感到轻松一些。C语言源程序文件名的后缀.c,经过编译后,生成文件的后缀是.obj,经过连接后,生成可执行文件的后缀是.exe。1.1.2程序设计(选择题)1.确定数据结构(数据存放与数据之间的关系,)2.确定算法(可以理解成将原材料进行加工的加工厂,解决问题的方法和思路)3.编码(写代码,去实现功能)4.在计算机上调试程序(有错误进行调试)5.整理并写出文档资料(阑述程序所实现的功能,使用时应注意什么)1.2算法定义:是指为了解决某个特定的问题而采取的确定..且有限..的步骤。1.有穷性(有限的时间内能执行完)2.确定性(每次得到的结果是一样的)3.可行性(能用)4.有零个或多个输入5.有一个或多个输出二级C语言程序设计7否是1.3结构化程序设计和模块化结构结构化程序由三种基本结构组成:1.顺序结构2.选择结构3.循环结构(所有循环都是趋于结束的)语句1语句2输入两个数a,bab?输出a输出b二级C语言程序设计8例:计算机能直接执行的程序是()A.源程序B.目标程序C.汇编程序D.可执行程序例:以下叙述正确的是()A.程序设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上三种说法都不完整第二章C程序设计初步知识2.1简单C语言程序的构成和格式#includestdio.hmain(){doublea,b,area;a=1.2;/*将矩形的两条边长分赋给a和b*/b=3.6;area=a*b;/*计算矩形的面积并存储到变量area中*/printf(a=%f,b=%f,area=%f\n,a,b,area);}#includestdio.h:每当写一个程序时,第一条语句永远是这个语句,因为一个程序可以没有输入但必须要有输出,而这个语句就是控制输入输出的。所以任何一个程序都必须由这个语句开始。main():是一个程序的主函数。一个程序是由多个函数组成,而任何一个程序都要有一个主函数,有且只有一个。任何程序都是由主函数开始执行的。二级C语言程序设计9{}:它们两个必须要成对出现,它们中的语句是主函数体。包括定义部分和执行部分。它们中的语句,每一条必须由“;”结束。“;”是C语句的一个组成部分而不是结束标识。/**/:注释符一事实上要成对出现,不允许嵌套。两个符号间的语句不被执行。例1:#includestdio.hmain(){inta;a=5;/*给a变量赋值5a=a+3;赋值后再加3*/printf(%d\n,a);}看似等于8,其实为5例:以下叙述中正确的是()A.C程序的基本组成单位是语句B.C程序中的每一行只能写一条语句C.简单C语句必须以分号结束D.C语句必须在一行内写完例:以下叙述中正确的是()A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用C语言编写的程序只能放在一个程序文件中改错:#includestdio.hmain();/*mainfunction*/floatr,s;/*/*risradius*//*sisareaofcircular*/r=5.0;s=3.14159*r*r;printf(%f\n,s)2.2标识符、常量和变量2.2.1标识符定义:由字母、数字和下划线组成,并且第一个字符必须为字母或下划线的。这样的组成是标识符。下列合法的是:elsewhat#$12334aa34a_ba-bif注意:1.在C中大写字母与与小写字母被认为两个不同的字符。2.对于标识符的长度,标识符的前若干个字符有效,超过的字符将不被识别。二级C语言程序设计10C语言标识符分为以下三类:关键字:在C中已经定义好了的,不能用作它用的。如ifdoubleint等。(附录1)预定义标识符:如printfscanf用户(自定义)标识符:用户根据自己的需求来定义的。例:以下选项中,能用作用户标识符的是()A.voidB.8_8C._0_D.unsigned例:以下选项中合法的标识符是()A.1-1B.1-1C._11D.1—例:以下选项中不合法的标识符是()A、printB、FORC、&aD、_002.2.2常量定义:是指在程序的执行的过程中,其值不会被改变的量。分类:整型常量:没有小数的常量。如:391324实型常量:有小数点的常量。如:3.93.03.字符常量:由单个字符组成的量。如’a’’b’‘3’1.符号字符串常量:至少由一个字符组成的量。如”a”“abc”“beijing”区别2.空间符号常量:符号常量的值到底是多少,这是由定义符号常量时来决定的。如:P10例:以下选项中,能用作数据常量的是()A.o115B.0118C.1.5e1.5D.115L例:以下选项中不能作为C语言合法常量的是()A.‘cd’B.0.1e+6C.“\a”D.‘\011’例:以下选项中不属于字符常量的是()A.‘c’B.“c”C.“\xcc0”D.‘\072’二级C语言程序设计112.2.3整型常量和实型常量一、整型常量:整型常量的几种表示方法:十进制:0-9八进制:以0开头的数字,由0-7组成。如0234十六进:以0x开头,由0-9和A-F组成。例:下列合法的八进制数是()A.0B.028C.-077(以0开头的,不能表示负数)D.01.0例:下列不合法的十六进制数是()A.oxffB.0xabcC.0x11D.0x19注:十进制、八进制、十六进制是可以相互转换的。例:2710=338=1B1627=033=0x1B二、实型常量实型常量的几种表示方法:小数形式:12.3指数形式:1.23e2注意:1.字母e或E之前必须要有数字2.字母e或E之后的数字必须是整数3.字母e或E与数字之间不能有空格例:下列实型常量合法的是()2.607E-10.8103E2-77.77456E-20.1e+61.23E1.22.2.4变量一、定义:在程序的运行过程中其值可以被改变的量,就叫变量。二、原则:变量必须先定义后使用。变量定义的过程就是给变量开辟存储单元的过程。三、分类:1.整型变量用关键字int来定义。例:#includestdio.hmain(){inta;a=7;二级C语言程序设计12printf(%d,a);}Int普通整型:shortint短整型:在内存中占2字节,范围-32768--32767longint长整型:在内存中占有4个字节,如123Lunsigned无符号如有-2000U这是错误的。变量的定义:inta,b;这是定义了两个整型变量a和b。2.实型变量用关键字double和float来定义float单精度:在内在中占了4个字节double双精度:在内存中占8个字节在VC6.0中,所有的float类型数据在运算中自动转换成double类型数据。例:#includestdio.hmain(){doublea=7.7,b=8;printf(%f,%f,a,b);}2.3算术表达式一、算术运算符+、-、*、/、%:双目运算符(就是操作对象有两个)注意:除%以外,其它的运算符的运算对象可以是整型也可以是实型,%的操作对象只能是整型。(可以用于判断是不是偶数等)如:10%3=1错误:10.7%310%4.5+、-:可以做为单目运算符说明:(1)如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。如1.0/2.0=0.51/2=0(2)如果双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。(附录5)如1.0/2=0.5(3)所有的单精度数据,在运算过程中都以双精度进行运算。二、优先级()+-*/%+-单目双目同级同级同级高低例:5+1/2=5二级C语言程序设计13三、算术表达式用算术运算符和一对圆括号将运算数连接起来的表达式。(1)算术表达式中,运算对象可以是常量、变量和函数等,如:2+sqrt(c)*b(2)在算术表达式中,若包含不同优先级的运算符,则按运算符的优先级由高到低的顺序进行,若表达式中运算符的级别相同,则按结合方向进行。单目运算符+和-的结合方向是从右向左,其余运算符的结合方向是从左到右。2.4强制类型转换表达式格式:(类型名)(表达式)例:(int)(3.234)=3(double)10%3=?总结:类型名的括号不能省,若表达式为一个运算数时,表达式的括号可以省。例14:表达式:(int)((double)9/2)-(9)%2的值是()A.0B.3C.4D.5例14:设变量已正确定义并赋值,以下正确的表达式是()A.x=y*5=x+zB.int(15.8%5)C.x=y+z,++yD.x=25%5.02.5赋值表达式一、赋值运算符和赋值表达式赋值运算符:=格式:变量名=表达式注意:1.不可以颠倒(左边必须是变量名,右边必须是C语言中合法的表达式)2.功能就是先求出右边表达式值,然后把此值赋值给赋值号左边的变量。确切的说是把数据存入以该变量为标识的存储单元中去。如a=4,a=73.结合性的优先级仅高于逗号表达式。顺序是自右向左的。如a=2+7/34.=是一个赋值号,不是一个等号a==b(a等于b);a=b(a赋值为b)5.x=y。变量的值也是可以传递和赋值的。它是将变量y的值赋值到x中去,同样a=a+1也成立(或写成a+=1)6.赋值运算符的左侧只能是变量,不能是常量或表达式,如a+b=c是错误的7.赋值号的右边也可以是一个赋
本文标题:C语言讲义
链接地址:https://www.777doc.com/doc-6630658 .html