《程序设计实践.ppt》由会员分享,可在线阅读,更多相关《程序设计实践.ppt(73页珍藏版)》请在第壹文秘上搜索。
1、程序设计实践(课程回顾)1Visual C+ 6.0 的使用C源程序可以在Visual C+集成环境中进行编译、连接和运行。现在常用的是Visual C+6.0版本。1 1、Visual C+Visual C+的启动的启动在需要使用Visual C+时,只需从桌面上顺序选择“开始”“程序”“Microsoft Visual Stdio” “Visual C+6.0”即可,此时屏幕上在短暂显示Visual C+6.0的版权页后,出现Visual C+6.0的主窗口,如图所示。22 2、新建一个、新建一个C C源程序的方法源程序的方法在Visual C+菜单栏File中选择New子菜单,出现New
2、(新建)对话框,如图所示。3选择File(文件)选显卡中的C+ Source FileC+ Source File项,表示这项的功能是建立新的C+源程序文件,也可用于处理C源程序。在对话框右半部的Location文本框中输入源程序文件的存储路径存储路径,在其上方的File(文件名)文本框中输入源程序文件名文件名(如c1_1.c),注意文件名的后缀为.c,单击OK按钮,回到Visual C+主窗口,可以输入和编辑源程序。43 3、保存源程序、保存源程序如果源程序编辑结束,则将源程序保存到前面指定的文件中。方法是:在菜单栏File中选择Save(保存)或Save As(另存为)项。4 4、编译、连
3、接和运行、编译、连接和运行程序的编译:程序的编译:单击菜单Build(编译),在其下拉菜单中选择Compile c1_1.c(编译c1_1.c)项。屏幕上会出现一个对话框,单击是(Y)按钮,表示同意由系统建立默认的项目工作区,然后开始编译。 也可以不用选择菜单的方法,而用Ctrl+F7来完成编译。 5 在进行编译时,编译系统检查源程序有无语法错误,然后在主窗口下部的调试信息窗口中输出编译的信息,如果有错,就会指出错误的位置和性质。 6程序的连接:程序的连接:在得到目标程序后,就可以对程序进行连接了,刚才已生成了目标程序c1_1.obj,此时应选择BuildBuild c1_1.exe(构建c1
4、_1.exe)。在完成连接后,在调试信息窗口中显示连接时的信息,如果没有发生错误,生成了一个可执行文件c1-1.exe。程序的执行:程序的执行:在得到可执行文件后,就可以直接执行了,选择Build!Execute c1_1.exe(执行c1_1.exe)。也可以不通过单击菜单,而用Ctrl+F5来实现程序的执行。程序执行后,屏幕切换到输出结果的窗口,显示出运行结果。关闭工作区:关闭工作区:如果已完成对一个程序的操作,不再进行其他的处理,应当选择FileClose Workspace(关闭工作区),以结束对该程序的操作。7Visual C+ 6.0程序的调试设置断点单步执行:F10:不进入函数内
5、部F11:进入函数内部8C的数据类型C语言提供了以下一些数据类型。 整型数据 整数类型的有关数据:整型变量的定义整型变量的定义: : 规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”。 例如例如: : int a,bint a,b; ;(指定变量、为整型) unsigned short c,d;unsigned short c,d;(指定变量、为无符号短整型) long e,f;long e,f;(指定变量、为长整型)浮点型数据浮点型变量的分类浮点型变量的分类 浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类形式。字符型数
6、据 字符常量字符常量(1)用单引号包含的一个字符是字符型常量(2)只能包含一个字符a a, ,A A, , 1 1abcabc、“a a” 有些以有些以“ ”开头的特殊字符称为转义字符开头的特殊字符称为转义字符n 换行t 横向跳格r 回车 反斜杠 单引号” 双引号字符变量字符变量 字符型变量用来存放字符常量,注意只能放一个字符。 字符变量的定义形式如下:char c1,c2; 可以用下面语句对c1,c2赋值: c1a;c2b; c1=“a”; /*错误*/ 一个字符变量在内存中占一个字节。 字符串常量字符串常量 字符串常量是一对双撇号括起来的字符序列. 合法的字符串常量:“How do you
7、 do.”, “CHINA”, “a” , “$123.45” 可以输出一个字符串,如printf(“How do you do.”); 规定:在每一个字符串常量的结尾加一个 “字符串结束标志”,以便系统据此判断字符串是否结束。规定以字符作为字符串结束标志。 如:如:如果有一个字符串常量“”,实际上在内存中是:CHINA0 它占内存单元不是个字符,而是个字符,最后一个字符为。但在输出时不输出。字符型数据变量赋初值 (1)语言允许在定义变量的同时使变量初始化如如: : int a=3; / 指定为整型变量,初值为(2)可以使被定义的变量的一部分赋初值。 如如: : int a,b,c=5;(3)
8、如果对几个变量赋以同一个初值, 应写成:int a=3,b=3,c=3; 表示、的初值都是。 不能写成 int a=b=c=3; 运算符运算符 的运算符有以下几类:的运算符有以下几类:(1)算术运算符 (+ - * / %)(2)关系运算符 ( !)(3)逻辑运算符 (! |)(4)位运算符 ( |)(5)赋值运算符 (及其扩展赋值运算符)(6)条件运算符 (?:)(7)逗号运算符 (,)(8)指针运算符 (*和)(9)求字节数运算符(sizeof)(10)强制类型转换运算符((类型))(11)分量运算符(-)(12)下标运算符()(13)其他 (如函数调用运算符()算术运算符自增、自减运算符
9、自增、自减运算符 作用是使变量的值增或减如如:前置运算:前置运算: +i,-i 后置运算:后置运算: i+,i- 前置运算是变量先变化再使用,后置运算是变量先使用后变化。例如:例如: ; i的值先变成4, 再赋给,j的值均为 ; 先将 i的值3赋给,的值为,然后变为 格式输入与输出(一)格式输出函数一般格式:一般格式:printfprintf(格式控制,输出表列)(格式控制,输出表列)%d%d: :以带符号的十进制形式输出整数以带符号的十进制形式输出整数%c%c: :以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符%s%s: :输出字符串输出字符串%f%f: :以小数形式输出单,双
10、精度数,隐含输出六位小数以小数形式输出单,双精度数,隐含输出六位小数%e%e: :以指数形式输出实数以指数形式输出实数例: printf(4d,4d,a,b); 若a123,d12345,则输出结果为 123,1234522例 用scanf函数输入数据。#includevoid main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%dn”,a,b,c); 运行情况:运行情况:3 3 4 4 5 (5 (输入输入a,b,ca,b,c的值的值) )3 3,4 4,5 5 (输出(输出a,b,ca,b,c的值)的值)a a在内存中的地址在内存
11、中的地址& &是地址运算符是地址运算符23例:ab,a+bb+c,(a=3)(b=5),ab)(by) printf(“%d”,x);表达式语句真(非0)假(0)if语句26if语句 (2)if(表达式) 语句1 else 语句2例: if (xy) printf(“%d”,x); else printf(“%d”,y); 条件条件 语句语句1 语句语句2YN27(3)if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句nelse if结构是条件分支嵌套常用的一种形式,它可以实现多分支处理,即在多个分支程序
12、段中选择其中之一执行。if语句28匹配规则:Else总是与它上面的,最近的,未配对的if语句配对。例:If()if() 语句1elseif() 语句2else 语句3例:If()if() 语句1else if() 语句2 else 语句3当当ifif和和elseelse数目不同时,可以加数目不同时,可以加花括号花括号来确定配对关系。来确定配对关系。if语句的嵌套29 循环控制 while语句用来实现“当型”循环结构。 一般形式:一般形式: while (while (表达式表达式) ) 语句语句 当表达式为非0值时,执行while语句中的内嵌语句。其特点是:先判断表达式,后执行语句。例 求1到
13、100的和#include void main() int i,sum=0; i=1; while (i=100) sum=sum+i; i+; printf(%dn,sum); do-while语句的特点:先执行循环体,然后判断循环条件是否成立。一般形式一般形式: : do do 循环体语句 whilewhile (表达式);用for 语句实现循环for语句最简单的形式:for(for(循环变量赋初值;循环条件;循环变量增值循环变量赋初值;循环条件;循环变量增值) ) 例如例如: : for(i=1;i=100;i+) sum=sum+i;相当于:相当于: i=1;i=1; while(i=
14、100) while(i=100) sum=sum+i;i+; sum=sum+i;i+; 1.1.一维数组的定义格式为一维数组的定义格式为:类型说明符类型说明符 数组名常量表达式;数组名常量表达式;例如:例如: int a10; 它表示定义了一个整形数组,数组名为a,此数组有10个元素。对数组元素初始化:对数组元素初始化:例如例如: :intint a a5 5=1=1,2 2,3 3,4 4,5;5; 也可以写成也可以写成 intint a a=1=1,2 2,3 3,4 4,5;5; 字符数组:char cchar c=“Pascal program”;=“Pascal program”
15、;一维数组的定义一维数组的定义char cchar c=China;=China;printf(%sprintf(%s,c);c); 例如例如字符数组的输入输出字符数组的输入输出char strlchar strl5 5,str2str25 5,str3str35 5; ;scanf(%s %s %sscanf(%s %s %s,str1str1,str2str2,str3);str3);scanf(%sscanf(%s,&str)&str);35二维数组的定义二维数组的定义例如:例如:定义a为34(3行4列)的数组,b为510(5行10列)的数组。如下:float a34,b510;分行给二
16、维数组赋初值:例如:例如: int a34=1int a34=1,2 2,3 3,44,55,6 6,7 7,88,99,1010,1111,12; 12; 函数定义的一般形式函数定义的一般形式定义有参函数的一般形式为定义有参函数的一般形式为:类型标识符类型标识符函数名函数名(形式参数表列)(形式参数表列) 声明部分声明部分 语句部分语句部分 例如:例如:int max(int ,int )int ;/ *函数体中的声明部分*?; return(); 37调用函数时的数据传递调用函数时的数据传递#include void main() int max(int ,int ); /* 对max函数的声明 */ int ,; scanf(,); max(,); printf( ,); int max(int ,int )*定义有参函数max * int ; ?; return(); 38数组名作函数参数数组名作函数参数 用数组名作函数参数时,此时形参应当用数组名或用指针变量 。例例有一个一维数组score,内放10个学生成绩,求平均成绩。39例例 形参数组不定义长度形参数组不定义长度#inc