计算机综合-第一课

上传人:子 文档编号:56922329 上传时间:2018-10-17 格式:PPT 页数:75 大小:799.50KB
返回 下载 相关 举报
计算机综合-第一课_第1页
第1页 / 共75页
计算机综合-第一课_第2页
第2页 / 共75页
计算机综合-第一课_第3页
第3页 / 共75页
计算机综合-第一课_第4页
第4页 / 共75页
计算机综合-第一课_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《计算机综合-第一课》由会员分享,可在线阅读,更多相关《计算机综合-第一课(75页珍藏版)》请在金锄头文库上搜索。

1、计算机综合,章志勇浙江工商大学,C语言总结,C语言的总体逻辑结构 基本部分 高级部分 C语言程序设计的注意事项 明确的逻辑设计 良好的代码输入习惯 熟练的调试技巧,算法和程序设计基础,C语言的逻辑结构 基础组成部分 基本变量整数,浮点,字符变量 运算符 程序控制结构顺序,选择,循环 高级组成部分 复合变量数组,结构,联合,枚举,指针 程序模块和宏 函数,define,typedef,基础部分变量,变量概念和理解 一个变量代表了一种我们需要表达的信息 变量的名称信息的符号。C语言中,变量名称的规则 只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线组成。 大小写敏感,最长32个字符 不

2、能使用关键字 变量的值的种类观察世界可以发现,信息的描述可以分为数字和符号两种。数字包括了整数和实数。,基础部分变量,变量概念和理解 一个变量代表了一种我们需要表达的信息 变量的名称信息的符号。C语言中,变量名称的规则 只能由字母、数字、下划线组成,且第一个字母是字母或下划线组成。 大小写敏感,最长32个字符 不能使用关键字 变量的值的种类观察世界可以发现,信息的描述可以分为数字和符号两种。数字包括了整数和实数。,基础部分变量,进制转换 进制的概念基和权 进制的转换 二进制和十进制之间的转换 二进制和八进制或十六进制之间的转换,基础部分变量,不同类型数据间的转换 隐式转换 运算转换-不同类型数

3、据混合运算时 赋值转换-把一个值赋给与其类型不同的变量时 输出转换-输出时转换成指定的输出格式 函数调用转换-实参与形参类型不一致时转换 运算转换规则:不同类型数据进行运算时先自动转换成同一类型的数据。,基础部分变量,不同类型数据间的转换,基础部分变量,显式转换(强制转换)例 (int)(x+y)(int)x+y(double)(3/2)(int)3.6,例 main() float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3,基础部分运算符,基础部分运算符,运算符优先级 不同类别运算符之间的优先级,如运算

4、符优与逻辑运算符。 同一类别运算符之间的优先级。 同一类别之间的运算符的结合顺序 两整数相除,结果为整数 %要求两侧均为整型数据 ,的规则 左边 (先执行i+1或i-1,再使用i值) 例: +a -b 右边 (先使用i值,再执行i+1或i-1)例: a+ b-,例 -i+ i=3; printf(“%d”,-i+); /-3,基础部分运算符,逻辑运算符 短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。,例 a(m=ab)&(n=cd),/结果m=0,n=1,基础部分输入和输出函数(stdio.h),putchar函数

5、,/*ch3_1.c*/ #include main() int c;char a;c=65; a=B;putchar(c); putchar(n); putchar(a); ,格式: putchar( c ) 参数: c为字符常量、变量或表达式 功能:把字符c输出到显示器上 返值:正常,为显示的代码值;出错,为EOF(-1),基础部分输出函数,printf函数,格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字节数;出错,返回EOF(-1),例 int a=3,b=4;printf(“%d %dn”,a,b); printf(“a=%d ,

6、 b=%dn”,a,b); 输出结果: 3 4a=3, b=4,基础部分输出函数,int a=567;printf ( “%d”,a);,int a=255;printf(“%x”,a);,int a=65;printf(“%o”,a);,int a=567;printf(“%u”,a);,char a=65;printf(“%c”,a);,printf(“%s”,“ABC”);,float a=567.789;printf(“%e”,a);,float a=567.789;printf(“%f”,a);,float a=567.789;printf(“%g”,a);,printf(“%”);

7、,567,ff,101,567,A,ABC,5.677890e+02,567.789000,567.789,%,基础部分输入函数,getchar函数scanf函数,格式:getchar( ) 功能:从键盘读一字符 返值:正常,返回读取的代码值;出错,返回EOF(-1),scanf(“%d”,输入:10 则 a=10,格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束 返值:正常,返回输入数据个数,#include main() int c;c=getchar();printf(“%d“,c); ,基础部分控制结构,控制结构的

8、实质体现了代码的执行顺序 从一个宏观的角度看,C语言的代码是一行,一行的进行执行。执行的行代码可以是顺序,也可以有间隔。 计算机代码的执行需要有一个起点main 计算机代码的执行需要一个中止点,基础部分控制结构,顺序结构代码执行顺序是从上到下,基础部分顺序控制结构,例子、请注意其输出结果 #include /*在VC+中用#include */ void main() char ch=w;int a=2,b=3,c=1,d,x=10;printf(“%d”,ab= =c);printf(“%d”,d=ab);printf(“%d”,cha+1);printf(“%d”,d=a+bc);prin

9、tf(“%d”,b-1=a!=c);printf(“%d”,3=x=5); /*等价的运算(3=x)=5*/ 结果: 0 0 1 1 0 1,基础部分选择控制结构,二分支选择结构,多分支选择结构,基础部分选择控制结构,算法例子、输入3个整数,输出其中的最大值#include void main() int a,b,c,max; /*max放最大值*/printf(“input a , b , c:n”);scanf(“%d%d%d”,运行结果:inupt:a b c:2 10 6 max is 10,基础部分选择控制结构,switch( 表达式) case E1:语句组 1;break;cas

10、e E2:语句组 2;break;.case En:语句组 n;break;default:语句组 ;break; ,基础部分选择控制结构,E1,E2,En是常量表达式,且值必须互不相同 语句标号作用,必须用break跳出 case后可包含多个可执行语句,且不必加 switch可嵌套 多个case可共用一组执行语句,基础部分选择控制结构,例 switch(score) case 5: printf(“Very good!”);case 4: printf(“Good!”);case 3: printf(“Pass!”);case 2: printf(“Fail!”);default : pri

11、ntf(“data error!”);,运行结果:score为5时,输出:Very good! Good! Pass! Fail! data error!,基础部分选择控制结构,例 void main() int x=1,y=0,a=0,b=0;switch(x) case 1:switch(y) case 0: a+; break;case 1: b+; break;case 2: a+;b+; break;case 3: a+;b+;printf(“na=%d,b=%d”,a,b);,运行结果:a=2,b=1,基础部分循环控制结构(for),for(expr1 ; expr2 ; expr

12、3)循环体语句;,说明: for语句中expr1, expr2 ,expr3 可省略,但分号;不可省 无限循环: for(;)默认是真,基础部分循环控制结构(for),基础部分循环控制结构(for),例子、求菲波那契(Fibonacci)序列:1,1,2,3,5,8,。请输出前20项。分析:菲波那契数列的前2项均为1,后面任一项都是前2项之和。源程序:#include void main( )int x1=1,x2=1,t,i;printf(“%d %d” , x1 , x2);for(i=1;i=18;i+)t=x1+x2;printf(“%d ”, t );x1=x2 , x2=t ;,运

13、行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1579 2584 4181 6765,基础部分循环控制结构(while),while(表达式) 循环体语句;,基础部分循环控制结构(while),/*ch5_2.c*/ #include main() int i,sum=0;i=1;while(i=100) sum=sum+i;i+;printf(“%d“,sum); ,基础部分循环控制结构(while),#include main() int i=1;while(i=10) printf(“%d*%d=%dn“,i,i,i*i);i+;

14、 ,运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100,基础部分循环控制结构(do-while),do 循环体语句;while(表达式);,基础部分循环控制结构(do-while),#include main() int i,sum=0;i=1;do sum+=i;i+;while(i=100);printf(“%d“,sum); ,基础部分循环控制结构,for,while,do-while 本质没有区别 三者之间可以相互表达 当循环次数确定时,一般优先用for 当循环次数不确定时,可以采用wh

15、ile do-while至少循环一次 循环与break ,continue的配合使用,高级部分,基础部分是大部分语言所具备的 高级部分体现了一种语言的风格和特点 高级部分方便了程序员进行程序设计,高级部分变量,数组 数组用于描述数学中的集合 元素个数多于1 不同的元素之间具有相同的本质 数组的定义 数据类型 数组名常量表达式 例 int a6;,编译时分配连续内存 内存字节数=数组维数*sizeof(元素数据类型),数组名表示内存首地址, 是地址常量,高级部分变量,数组必须先定义,后使用 只能逐个引用数组元素,不能一次引用整个数组 数组元素表示形式: 数组名下标 其中:下标可以是常量或整型表达式,例 int a10;printf(“%d”,a); () 必须 for(j=0;j10;j+)printf(“%dt”,aj); (),例 int i=15;int datai; (不能用变量定义数组维数),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号