K12学习c语言教学教案.docx
《K12学习c语言教学教案.docx》由会员分享,可在线阅读,更多相关《K12学习c语言教学教案.docx(6页珍藏版)》请在冰豆网上搜索。
K12学习c语言教学教案
c语言教学教案
可同时省略
switch语句的执行过程是:
首先计算switch后面圆括号内表达式的值,若此值等于某个case后面的常量表达式的值,则转向该case后面的语句去执行;若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行,如果没有default部分,则将不执行switch语句中的任何语句,而直接转到switch语句后面的语句去执行。
说明:
switch后面圆括号内的表达式的值和case后面的常量表达式的值,都必须是整型的或字符型的,不允许是浮点型的。
同一个switch语句中的所有case后面的常量表达式的值都必须互不相同。
switch语句中的case和default的出现次序是任意的,也就是说default也可以位于case的前面,且case的次序也不要求按常量表达式的大小顺序排列。
于switch语句中的“case常量表达式”部分只起标号的作用,而不进行条件判断,所以,在执行完某个case后的语句后,将自动转到该语句后面的语句去执行,直到遇到switch语句的右花括号或“break”语句为此,而不再进行条件判断。
所以在执行完一个case分支后,一般应跳出switch语句,转到下一条语句执行,这样可在一个case的结束后,下一个case开始前,插入一个break语句,一但执行到braek语句,将立即跳出switch
语句,如:
如:
Switch(n){
case1:
x=1; case2:
x=2;}
当n=1时,将连续执行下面两个语句:
X=1;X=2;如:
Switch(n){case1; x=1;Braek;Case2;X=2Braek}
(5)每个case的后面即可以是一个句号,也可以是多个语句,当是多个语句的时候,也不需要用花括号括起来。
多个case的后面可以共用一组执行语句,如:
Switch(n);{
Case1:
Case2:
x=10; braet ┆ }
它表示当n=1或n=2时,都执行下列两个语句:
X=10;Braek;
例从键盘输入一个月份,并显示该月份的英文名称
#include””Main(){intmonth;
scanf(“%d”,&month);switch(month)
{case1:
printf(“January”); braek;
case2:
printf(“February”); braek;case3:
printf(“March”); braek;case4:
printf(“April”); braek;case5:
printf(“May”); braek;case6:
printf(“June”); braek;case7:
printf(“July”); braek;case8:
printf(“August”); braek;
case9:
printf(“September”); braek;
case10:
printf(“October”); braek;
case11:
printf(“November”); braek;
case12:
printf(“Decmeber”); braek;
Default:
printf(“DataError!
”);Break;}}
应用举例
例输入一个数值,求出它的平方根,若为负数时,求出它的复数平方根。
#include#includemain(){intn; floatroot;
printf(“enteranumber:
\\t”); scanf(“%d”,&n);if(n>=0);
{root=sqrt(n);printf(“sqrt(%d)=%f”,n,root);}else{
root=sqrt(abs(n));
第一讲 C语言概述 C语言发展概述
C语言是在1972年至1973年间美国的贝尔实验室的和以及英国剑桥大学的等为描述和实现UNIX操作系统而设计的。
最初的C语言是附属于UNIX的操作系统环境,而它的产生却可以更好地描述UNIX操作系统。
时至今日,C语言已独立于UNIX操作系统。
它已成为微型、小型、中型、大型和超大型计算机通用的一种程序设计语言。
随着C语言的不断发展、应用和普及,目前,C语言已经能够在多种操作系统下运行,实用的C语言编译系统种类繁多,如MicrosoftC、TurboC等。
C语言的特点
C语言能够成为目前广泛的高级设计语言之一,完全是其语言特点决定的。
语言基本组成部分紧凑简洁。
C语言运算符丰富,表达能力强。
C语言数据结构丰富,结构化好。
具有结构化的控制语句。
C语言提供了某些接近汇编语言的功能。
C语言程序所生成的目标代码质量高。
C语言程序可移植性好。
C语言的弱点:
运算符的优先级较复杂,不容易记忆
C语言的语法限制不太严格,一定程度上降低了某些安全性。
简单的C语言程序。
C语言程序的构成C语言程序的特点
C程序是函数构成的,其中至少包括一个函数main()。
函数体是左右花括号{}括起来的部分。
C语言中的每个基本语句都以“;”结束。
C语言书写格式自,一行内可以写一个语句,也可以写多个语句。
#include语句是编译预处理语句,其作用是将双引号或尖括号括起来的文件内容读入该语句位置处。
对程序说明:
可用/**/对C程序中的任何部分作注释。
C语言中所有变量都必须先定义类型,然后再使用。
一个C语言程序通过函数之间的相互调用来实现相应的功能。
即可以是系统提供的库函数,也可以是根据需要自己定义的函数。
C语言上机步骤
运行环境:
DOC操作系统下的TurboCC程序上机步骤
1.xx:
在TurboC环境下。
将C语言源程序通过键盘输入到计算机
中,并以文件形式存盘,源程序都是以.C为扩展名。
2.编译:
通过xx程序将源程序输入到计算机后,需要经过C语言编译器将其生成目标程序。
得到的目标文件都是以.OBJ为文件扩展名。
3.连接:
经过编译后生成的目标文件需经过连接后才能生成可执行代码。
其扩展名是.EXE。
所谓连接,是将目标文件和库函数或其他目标程序连接成可执行的目标程序。
4.执行:
连接后源程序的目标程序就是可执行文件了。
在DOS系统下,只要键入可执行文件名,按回车键就可以了。
TurboC系统菜单C的主屏幕和主菜单功能2.文件菜单及功能程序调试方法
一个计算机程序必须对其进行测试来确定其可以正确地工作,这一过程称为调试。
程序错误
语法错误:
通过编译和连接就会找到运行错误:
通过调试自己找出问题所在1.设置和使用观察变量2.单步执行程序3.设置和使用断点
常量和变量整型数据 字符型数据浮点型数据变量的初始化第二章数据类型与表达式常量和变量
常量:
在程序运行过程中其值不能被改变的量。
变量:
在程序运行过程中其值可以被改变的量。
标识符:
用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
1.标识符的有关规定:
英文字母、数字、下划线组成,且第一个字符必须是字母或下划线,一般不超过8个字符;大小写字母的含义不同。
不能使用C语言中的关键字做标识符。
用户取名时,应当尽量遵循“简洁明了”和见名知意的原则。
2.变量名的有关规定:
使用变量名前,一定先定认,后使用,否则不能做为变量名。
每一个变量属于一种类型,便于在编译时据此检查该变量所进行的运算是否合法。
变量名的定义:
存储属性、数据类型、变量名表3.数据类型整型数据整型常量
十进制整数:
数码直接开头的十进制数。
如1234,-234。
八进制整数:
以0开头的常量是八进制数。
如011=8十六进制整数:
以0x开头的数是十六进制。
如0x123即16
例三种进制表示方法的转换源程序main{
Intx=1246,y=01246,z=0x1246;Printf(“%d,%d,%d\\n”,x,y,z);Printf(“%o,%o,%o\\n”,x,y,z);Printf(“%x,%x,%x\\n”,x,y,z);}C:
\\>a11246,678,46782336,1246,111064de,2a6,1246整型变量
elseif(score>59)grade=‘3’;else grade=‘2’;说明:
if语句中的表达式可以是C语言的合法表达式。
第二种、第三种格式的if语句中,在每个else前面有一个分号,整个语句结束处也有一个分号。
这是于分号是C语句中不可缺少的部分,这个分号是if语句中的内嵌语句所要求的。
在if和else后面可以只含有一个内嵌的操作语句,也可以含有多个操作语句,此时应用花括号“{}“将几个语句括起来,构成一个复合语句。
例将两个数中较大者赋给s。
main{inta,b,s;a=10;b=20;if(a>b)s=a;elses=b;
printf(“s=%d\\n”,s);}
执行结果:
s=20
例比较两个数,按大到小输出。
main(){
inta,b,x,y;a=10;b=20;
if(a>b){x=a;y=b;}else {x=b;y=a;}
printf(“x=%d,y=%d\\n”,x,y);}
执行结果:
x=20,y=10if语句的嵌套
在if语句中又包含一个或多个if语句,称为if语句的嵌套。
一般形式如下:
if()
if() 〈语句1〉 else 〈语句2〉else
if() 〈语句3〉 else 〈语句4〉if()
if() 〈语句1〉
else
if() 〈语句2〉 else 〈语句3〉说明:
if与else的配对关系,从最内层开始,else总是与离它最近的未曾配对的if配对。
if与else的个数最好相同,从内层到外层一一对应,以避免出错。
如果if与else的个数不相同,可以用花括号来确定配对关系。
例如:
If()
{if()〈语句1〉}else
〈语句2〉
这时{}限定了内嵌if语句的范围,因此else与第一个if配对。
例有一函数
编一程序,输入一个x值,输出y值。
main(){intx,y;
scanf(“%d”,&x);
if(xbc*b:
c/b;
因为a>b为假,则x=c/b=2。
例输入两个数,并将其中较大者显示出来。
#include
main(){inta,b,max;
scanf(“%d%d”,&a,&b); max=(a>b)a:
b;
printf(“max=%d”,max);}
条件运算符也可以嵌套使用,如:
Grade=(score>=90)’A’:
(score=90时,将字符‘A’赋给变量grade;当scorey) printf(“%d”,x);2.If语句的第二种形式格式:
if〈语句1〉
else 〈语句2〉功能:
首先计算表达式的值,若表达式的值为“真”。
则执行语句1,若表达式的值为“假”,则执行语句2。
例如:
if(x>y) printf(“%d”,x);elseprintf(“%d”,y);3.If语句的第三种形式格式:
if〈语句1〉elseif(表达式2)〈语句2〉elseif(表达式3)〈语句3〉 ┆
elseif(表达式n)〈语句n〉else〈语句n+1〉
功能:
首先计算表达式的值,若第n个表达式的值为“真”,则执行语句n,若所有的表达式的值都为“假”,则执行语句n+1。
其流程图如下:
例如:
if(score>89) grade=‘5’;elseif(score>74)grade=‘4’;
printf(“sqrt(%d)=%fi”,n,root); }}
例求两个数中最小值。
#includemain{intx,y,min;
printf(“entertwointegers:
\\n”);acanf(“%d,%d,&x,&y);min=xc){temp=a;a=b;b=temp;}If(a>c){temp=a;a=c;c=temp;}if(b>c){temp=b;b=c;c=temp;}printf(“%d while(表达式)
功能:
先执行〈语句〉,后判断表达式的值。
它的执行过程是:
先执行一次指定的语句,然后判断表达式的值,当表达式的值为非零时,返回重新执行该语句,如此反复,直到表达式的值等于0为此止,此时循环结束。
0说明:
用while语句和用do-while语句处理同一问题时,若二者的循环体部分一样,其结果也一样。
但在while后面的表达式一开始就为假时,两种循环的结果是不同的。
如果do-while语句的循环体部分是多个语句组成的话,则必须
用左右花括号括起来,使其形成复合语句。
main(){inti,s=0;scanf(“%d”,&i);do{s=s+i;i++;
}while(i<=10);Printf(“s=%d”,s);}
运行情况如下:
1S=55Main(){intI,s=0;Scanf(“%d”,&i);While(i<=10);{s=s+I;i++;}