C语言程序设计基础教程.docx

上传人:b****5 文档编号:15168141 上传时间:2023-07-02 格式:DOCX 页数:51 大小:32.68KB
下载 相关 举报
C语言程序设计基础教程.docx_第1页
第1页 / 共51页
C语言程序设计基础教程.docx_第2页
第2页 / 共51页
C语言程序设计基础教程.docx_第3页
第3页 / 共51页
C语言程序设计基础教程.docx_第4页
第4页 / 共51页
C语言程序设计基础教程.docx_第5页
第5页 / 共51页
C语言程序设计基础教程.docx_第6页
第6页 / 共51页
C语言程序设计基础教程.docx_第7页
第7页 / 共51页
C语言程序设计基础教程.docx_第8页
第8页 / 共51页
C语言程序设计基础教程.docx_第9页
第9页 / 共51页
C语言程序设计基础教程.docx_第10页
第10页 / 共51页
C语言程序设计基础教程.docx_第11页
第11页 / 共51页
C语言程序设计基础教程.docx_第12页
第12页 / 共51页
C语言程序设计基础教程.docx_第13页
第13页 / 共51页
C语言程序设计基础教程.docx_第14页
第14页 / 共51页
C语言程序设计基础教程.docx_第15页
第15页 / 共51页
C语言程序设计基础教程.docx_第16页
第16页 / 共51页
C语言程序设计基础教程.docx_第17页
第17页 / 共51页
C语言程序设计基础教程.docx_第18页
第18页 / 共51页
C语言程序设计基础教程.docx_第19页
第19页 / 共51页
C语言程序设计基础教程.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计基础教程.docx

《C语言程序设计基础教程.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础教程.docx(51页珍藏版)》请在冰点文库上搜索。

C语言程序设计基础教程.docx

C语言程序设计基础教程

C语言程序设计

谢利东

绪论

一、课程简介

课程内容:

C语言程序设计基础知识

适用对象:

程序设计初学者

二、课程目标

1、了解程序设计的相关知识

2、掌握C编程

3、理解程序设计语言的基本构成要素

4、掌握算法设计

第01讲C语言概述

一、程序设计语言的发展

1、机器语言:

是唯一能被计算机直接解释和执行的语言

2、汇编语言:

与机器语言相似,但加入了助记符Adda,ba+b

3、面向过程的语言:

自助游,需理解细节;Basic、C

4、面向对象的语言:

找旅行社,无需理解细节;C++、Java、C#

二、C语言简介

三、编写实例:

Hello

main()

{

printf(“Hello,C!

”);

}

四、在Turboc中编写运行C程序的步骤

1、启动TC

2、执行Alt+F,进入File菜单,执行New,新建源文件

3、输入代码并保存——编辑

执行Alt+F,进入File菜单,执行Save,保存源文件

4、执行Alt+C,进入Compile菜单,执行“CompiletoOBJ”

若代码有错,需纠错——编译

5、

Ctrl+F9

执行Alt+C,进入Compile菜单,执行“MakeEXEFile”

若代码有错,需纠错——连接

6、执行Alt+R,进入Run菜单,执行“Run”——执行

7、执行Alt+F5,查看运行结果,查看完后按下Enter,返回编辑环境

说明:

(1)编写C程序的步骤:

P4

(2)实际运行中,可通过快捷键简化一些操作

 

五、C程序的基本构成

包含头文件,即函数库

#include“*.h”

main()

{

……/*注释*/

代码

……

}

Main函数,所有C程序必须有且只能有一个main函数

 

第02讲基本数据类型

一、数据类型简介

1、什么是数据类型?

对数据的“抽象”12、13、45、1.2、1.56、0.4e6、RuiLi、DaLi

2、为什么要有数据类型

20040102可以代表学号,属于字符

可以代表整数,属于数值

可以代表日期,属于日期时间

3、C语言中有哪些数据类型?

P16

4、基本数据类型

数值型、字符型、枚举型

二、变量和常量

1、变量:

程序运行期间,值可能改变的量(Variation)

2、常量:

程序运行期间,值不会改变的量(Const)

例如:

计算机出10道加法练习题

形式:

7+5=?

、8+9=?

第1个加数加号第2个加数等号

op1+op2=result

第1次:

op1=6,op2=7:

6+7

第2次:

op1=5,op2=8:

5+8

……

控制题目数量:

OPNUM=10

3、常量类型

符号常量:

通过#define定义的常量

字面常量(直接常量):

与变量相似,字面常理有整型、实型、字符型

3.14、3、RuiLi

三、整型类型

1、整型常量

形如3、4、67、890、5632的数据,可以赋给整型变量

2、整型变量

(1)短整型(short)

声明:

shorta;

声明一个变量的格式:

“数据类型变量名;”

范围:

占16位,范围为-32768—32767

(2)整型(int)

声明:

inta;

范围:

占16位,范围为-32768—32767

(3)长整型(long)

声明:

longa;

范围:

占32位,范围为-2147483648——2147483647

3、

Main函数

实例练习1

main()

声明3个整型变量,a、b、sum

{

让a的值等于312

inta,b,sum;

让b的值等于789

a=312;

计算a加b的结果

b=789;

sum=a+b;

将结果显示到屏幕上

printf(“Thesumofaaddbis:

%d\n”,sum);

}

4、实例练习2——对上例的改进

main()

{

inta,b,sum;-----------------声明整型变量a,b,sum

printf(“Pleaseinputtwointegers(aandb):

\n”);----------------提示输入两个整数

scanf(“%d,%d”,&a,&b);---------要求输入两个整数,分别给a、b,两数间用逗号隔开,例如3,5

sum=a+b;-------------计算a、b之和

printf(“Sum=%d\n”,sum);-----------将结果输出到屏幕上

}

四、实型类型

1、实型常量

形如1.2、0.5、0.0023、1.0、2.0的数据,可以赋给实型变量

2、实型变量

(1)单精度(float)

声明:

floata;

范围:

占32位,-3.4*10-38—3.4*1038,6位精度

(2)双精度(double)

声明:

doublea;

范围:

占64位,-1.7*10-308—1.7*10308,16位精度

3、实型常量的表示

十进制小数:

如.123、123.、0.123、123.0、0.0

指数形式(规范化):

1.23e6或1.23E6——1.23*106

0.123e7或0.123E7非规范化

12.3e5或12.3E5非规范化

4、实例练习——输入3个数(整数或小数均可),求平均

分析:

输入的3个数可以是整数,也可是小数,故只能声明为实型

整数:

1.0

代码:

main()

{

floatx1,x2,x3,average;-------------------声明4个实型变量,分别输入的3个数和平均值

printf(“Pleaseinputthreefloatdata:

\n”);-----------提示输入3个实型数据

scanf(“%f,%f,%f”,&x1,&x2,&x3);------输入3个实型数据,分别给x1、x2、x3,逗号隔开

average=(x1+x2+x3)/3;-------求平均值

printf(“Average=%f\n”,average);--------输出结果

}

五、字符型

1、字符常量

表示:

’x’(用单引号,不能是双引号;只能有一个字符)

例如:

’a’、’b’表示字符常量a和b

转义字符:

系统定义,有特殊含义的字符

\n——换行;\b——退格,前移一列

\t——下跳一制表位,后移8列

2、字符串常量

表示:

”adog”(用双引号,不能用单引号;可以放多个字符)

例如:

”adog”表示字符串adog,由5个字符组成

3、字符变量

声明:

charc;

注意:

一个字符变量只能存放一个字符常量,即

c=’a’,正确;

c=”adog”,错误

4、实例1——字符常量及转义字符的使用

main()

{

printf(“\n\n”);--------------将当前屏幕换行2次,以方便查看结果

printf(“nobreak:

adog”);------------不加\n的效果

printf(“\n”);------------换行,以便比较结果

printf(“abreak:

a\ndog”);------加\n的效果

printf(“\n”);------------换行,以便比较结果

printf(“noreback:

adog”);-------不加\b的效果

printf(“\n”);------------换行,以便比较结果

printf(“areback:

a\bdog”);-------加\b的效果

printf(“\n”);------------换行,以便比较结果

printf(“atab:

a\tdog”)-----------------加\t的效果

}

5、实例2——字符变量的使用

main()

{

charc;--------------声明字符变量c

c=’a’;--------------c赋值为’a’

printf(“\ncharc=%c”,c);----------将变量c以字符变量的形式输出,结果应为a

printf(“\ncharc=%d”,c)-----------将变量c以整型变量的形式输出,结果为97

c=c+1;

printf(“\nchar(c+1)=%c”,c);----将变量c以字符变量的形式输出,结果应为b

printf(“\nchar(c+1)=%d”,c);-----------将变量c以整型变量的形式输出,结果为98

}

第03讲运算符

一、运算符简介

1、什么是运算符

表示运算形式的符号称为运算符

如:

1+2、2*3、6/8、7%2

对数据的加工称为运算

2、C语言中有哪些运算符?

P29

在C语言中共有13类运算符,约有45个

二、算术运算符

1、算术运算符有:

+、-、*(shift+8)、/(除)、%(求余数)

2、运算规则

(1)优先级:

*、/、%优先级为3、

+、-、优先级为4

(2)结合性:

自左至右

2+6*7-8/2+9%5

3、实例练习1

main()

{

inta,b,m,f,n;------------------a、b为输入的整数m=a*b、f=a/b、n=a%b

printf(“Pleaseinputtwointegers(aandb):

\n”);--------提示输入整数

scanf(”%d,%d”,&a,&b);-----------输入,形式为5,3

m=a*b;------------*运算结果为15

f=a/b;-----------/运算结果为1

n=a%b;-----------%运算结果为2

printf(“m=a*b=%d\n”,m);-----------输出m

printf(“f=a/b=%d\n”,f);-----------输出f

printf(“n=amodb=%d\n”,n);-----------输出n

getch();---------Win-TC额外要求,查看结果

}

对/和%的理解:

/:

结果与承载变量的类型相关

inta,b,f;

f=a/b;因为承载结果的变量f是整型,故结果都是整数,不带有小数

如a=3、b=5,则f=3/5=0,结果为0,不是0.6

如果想让除的结果为小数,则需要把f声明为float型

floata,b,f;

f=a/b;如a=3.0,b=5.0,则f=3.0/5.0,结果为0.6

%:

求余,求余运算要求两侧的数据类型必须是整型(int)

inta,b,f;

f=a%b;如a=5,b=3,则f=5%3=2商1余2

如a=3,b=5,则f=3%5=3商0余3

floata,b,f;

f=a%b;编译出错

4、实例2——除运算练习

main()

{

inta,b;

intf1;

floatf2;

printf("Pleaseinputtwointegers:

(aandb):

\n");

scanf("%d,%d",&a,&b);

f1=a/b;

floatc,d;

c=(float)a;

d=(float)b;

f2=c/d;

printf("intf1=a/b=%d\n",f1);

printf("intf2=a/b=%f\n",f2);

getch();

}

5、实例3——求余运算练习

main()

{

inta,b,f;

printf("Pleaseinputtwointegers(aandb):

\n");

scanf("%d,%d",&a,&b);

f=a%b;

printf("f=%d",f);

getch();

}

三、关系运算符

1、关系运算符:

>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、==(等于)、

=(不等于)

2、运算规则:

优先级:

均为6,比算术运算符低

结合性:

自左至右

3、关系运算的结果:

关系运算只会有两种结果:

真(成立)、假(不成立),

编程时可用1代表真,0代表假

例如:

a>=b,若a=4,b=3则表达式结果为真,即值为1

若a=3,b=4则表达式结果为假,即值为0

4、对关系运算的几点理解

(1)a≤x≤b:

不能表达为:

a<=x<=b,只能表达为:

a<=x&&x<=b

(2)9>1>=6>8>4:

数学中是错误的,而C程序设计中是对的

9>1结果为1,表达式变为:

1>=6>8>4

1>=6结果为0,表达式变为:

0>8>4

1>8结果为0,表达式变为:

0>4

0>4结果为0

5、实例1

main()

{

inta,b,result;----------------声明整型变量,result用来承接a、b运算的结果

printf(“Pleaseinputtwointegers(aandb):

\n”);---------------提示输入两整数

scanf(“%d,%d”,&a,&b);---------接受输入分别给变量a、b,输入形式为3,4

result=(a>b);--------a>b运算

printf(“result=(a>b)=%d\n”,result);-------------输出结果

result=(a

printf(“result=(a

result=(a==b);------------a==b运算

printf(“result=(a==b)=%d\n”,result);-------------输出结果

result=(a!

=b)-----------a!

=b运算

printf(“result=(a!

=b)=%d\n”,result);-------------输出结果

}

四、逻辑运算符

1、逻辑运算符:

&&(与运算):

a&&b——a=1、b=1,表达式为真,结果为1并且

a=1、b=0,表达式为假,结果为0

a=0、b=1,表达式为假,结果为0

a=0、b=0,表达式为假,结果为0

||(或运算):

a||b——a=1、b=1,表达式为真,结果为1或

a=1、b=0,表达式为真,结果为1

a=0、b=1,表达式为真,结果为1

a=0、b=0,表达式为假,结果为0

!

(非运算):

!

a——a=1,表达为假,结果为0否

a=0,表达式为真,结果为1

例:

(4>6)&&(7>3):

0&&1,表达式结果为0

(4>6)||(7>3):

0||1,表达式结果为1

!

(4>6):

!

0,表式结果为1

2、运算规则

优先级:

!

优先级为2(高于算术运算、关系运算)

&&、||优先级为8(低于算术运算、关系运算)

结合性:

自左至右

3、实例

main()

{

intresult;

result=!

(1<3)||(2<5);

printf(“result=!

(1<3)||(2<5)=%d\n”,result);

result=!

(4<=6)&&(3<=7);

printf(“result=!

(4<=6)&&(3<=7)=%d\n”,result);

}

理解:

result=!

(1<3)||(2<5);result=!

0||0;result=1||0;result=1;

result=!

(4<=6)&&(3<=7);result=!

1&&1;result=0&&1;result=0;

五、自加、自减运算符

1、自加、自减运算符

++、--

前缀:

++i、--i:

先增减后引用

后缀:

i++、i--:

先引用后增减

2、运算规则:

优先级:

均为2

结合性:

自右至左

3、实例

main()

{

inta,b,x1,y1,x2,y2;

a=3;

b=3;

x1=a++;

y1=a;

x2=++b;

y2=b;

printf(“a=%d\nx1=%d\ny1=%d\n”,a,x1,y1);

printf(“b=%d\nx2=%d\ny2=%d\n”,b,x2,y2);

}

理解:

a=3;

x1=a++;相当于x1=a;a=a+1;则x1=3,a=4

y1=a;y1=4;

b=3;

x2=++b;相当于b=b+1;x2=b;则b=4,x2=4;

y2=b;y2=4;

六、赋值运算符

1、赋值运算符

=

组合赋值运算符:

+=:

a+=1相当于a=a+1;

-=:

a-=1相当于a=a-1;

*=:

a*=2相当于a=a*2;

/=:

a/=2相当于a=a/2

%=:

a%=2相当于a=a%2

2、运算规则

优先级:

均为10,除逗号运算符外,优先级是最低的

结合性:

自右至左

3、实例

main()

{

inta=4,b=4,c=4,d=4,e=4;

printf(“a=%d\tb=%d\tc=%d\td=%d\te=%d\t\n”,a,b,c,d,e);

a+=2;

b-=2;

c*=2;

d/=2;

e%=3;

printf(“a=%d\tb=%d\tc=%d\td=%d\te=%d\t\n”,a,b,c,d,e);

getch();

}

第04讲流程控制

一、流程控制简介

1、什么是流程控制?

流程控制是指按一定的顺序执行语句

2、C中有哪些流程?

根据结构化程序设计原理,任何一个程序都可以由三种控制结构组装而成,

这三种控制结构是:

顺序结构、选择(分支)结构、循环结构

二、顺序结构

自然结构(以前所写实例均为顺序结构),就是按语句顺序一条一条地执行

三、选择结构

1、简介:

所解决的是判断问题,根据判断结果执行相应的操作,相当于汉语中

的“如果……,就……,否则……”

在C语言中,选择结构主要有两种:

if……else……

Switch

2、if……else……结构

基本形式:

if(exp1)

{……op1……}

else

{……op2……}

执行逻辑:

如果exp1为真,则执行op1,否则执行op2

exp1:

可以是算术、关系、逻辑运算表达式;

op1、op2:

可以是多条语句,放在{}里

扩展形式:

(1)if(……)

{……}

(2)if(……)

{……}

elseif(……)

{……}

elseif(……)

{……}

else

{……}

(3)if(……)

{if(……)

{……}

else

{……}

}

else

{

if(……)

{……}

else

{……}

}

3、Switch结构

4、实例1——if……else结构练习

main()

{

charsex;----------------------------------声明字符型变量,用来接受输入的性别

printf(“Pleaseinputyoursex(MorF):

\n”);-------------------输入提示

scanf(“%c”,&sex);---------------------输入语句,将输入的字母赋给sex

if(sex==’M’||sex==”m”)-----------------判定sex是否等于M或m

{

printf(“Aboy!

\n”);---------------如果sex等于M或m,就执行

}

else

{

printf(“Agirl!

\n”);----------------如果sex不等于M或m,则执行本条

}

}

5、实例2——if……else扩展形式练习

要求:

输入分数,输出等级

90-100A;80-89B;70-79C;60-69D;60以下E

main()

{

intscore;

chargrade;

printf(“Inputscore:

\n”);

scanf(“%d”,&score);

if(score>=90)

{grade=’A’;}

elseif(score<=89&&score>=80)

{grade=’B’;}

elseif(score<=79&&score>=70)

{grade=’C’;}

elseif(score<=69&&score>=60)

{grade=’D’;}

else

{grade=’E’;}

printf(“score=%d,grade=%c”,score,grade);

}

6、实例练习3——if……else输入5个数字,找出最大值和最小值并输出

算法设计:

从以下5个数12,3,9,21,4中找出最大值max和最小值min

第一步:

max=12min=12

第二步:

max、min和第二个数3作比较

如果第二个数大于max,说明max应为第二个数,否则不变

如果第二个数小于min,说明min应为第二个数,否则不变

3和max、min(12,12)比较:

max=12min=3

第三步:

max、min和第三个数9作比较

如果第三个数大于max,说明max应为第三个数,否则不变

如果第三个数小于min,说明min应为第三个数,否则不变

9和max、min(12,3)比较:

max=12min=3

第四步:

max、min和第四个数21作比较

如果第四个数大于max,说明max应为第四个数,否则不变

如果第四个数小于min,说明min应为第四个数,否则不变

21和max、min(21,3)比较:

max=21min=3

第五步:

max、min和第五个数4作比较

如果第五个数大于max,说明max应为第五个数,否则不变

如果第五个数小于min,说明min应为第五个数,否则不变

4和max、min(21,3)比较:

max=21min=3

第六步:

输出结果

max=21min=3

源代码:

main()

{

intx1,x2,x3,x4,x5,min,max;

printf("Number1:

\n");/*第一步*/

scanf("%d",&x1);

max=min=x1;

printf("Number2:

\n");/*第二步*/

scanf("%d",&x2);

if(x2>max)

{max=x2;}

if(x2

{min=x

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2