C语言程序的组成部分_第1页
C语言程序的组成部分_第2页
C语言程序的组成部分_第3页
C语言程序的组成部分_第4页
C语言程序的组成部分_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1C语言程序的组成部分2了解C程序的组成部分一个简短的C语言程序#include<stdio.h>

intmain(void){inta=3;printf("a的平方是%d.\n",a*a);return0;}说明:如果使用标准I/O库函数,则在程序开头要加入包含文件的编译预处理指令。每个C程序必须有一个主函数main(),main表示主函数名;名字前面的int表示该函数执行后将有一个整型数据的返回值;名字后面一对圆括号中的void表示该函数无自变量参数。一对花括号“{”、“}”是函数开始和结束的标志。每个C语句以分号结束。每个函数的最后一条语句是return语句。第1页/共56页3可以在程序中加入注释信息说明:

/*……*/表示注释。注释只起说明作用,不参与程序的编译和运行,因此注释可以由汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。/*这是一个C程序的例子*/#include<stdio.h>

intmain(void){inta=3;printf("a的平方是%d.\n",a*a);return0;}/*包含文件指令*//*函数头*//*函数体开始*//*声明变量a*//*输出运算结果*//*函数返回语句*//*函数体结束*/第2页/共56页4C程序的组成部分(2)每一个函数都是由两个部分组成:

函数的首部

例如:

intmain(void)

函数体

一对花括号括起的若干语句。(1)一个C程序可以包含一个或多个函数,其中一个是main()。

#include<stdio.h>doubleep(doublex){ doubley;y=x*x*x; return(y);}intmain(void){ doublex;

printf("Inputadata:");

scanf("%lf",&x);

printf("%f立方是%f",x,ep(x)); return0;}第3页/共56页了解C程序的组成部分1: #include<stdio.h>2: 3: floatarea(floatr);4: 5: intmain(void)6: {floatr;7: printf(“Inputradius:”);/*提示输入半径*/8: scanf("%f",&r);9: printf("\nTheareais%f.\n",area(r));10: return0;11: }12: 13/*求圆面积的函数*/14: floatarea(floatr)15: {16: floats;17: s=3.14*r*r;18: return(s);19: }第4页/共56页6C程序的组成部分下面是就设计计算器程序初期时,对一个计算器功能进行简单设计和描述的源程序。voidadd(double,double)/*加法函数*/{。。。}voidsub(double,double)/*减法函数*/{。。。}voidmut(double,double)/*乘法函数*/{。。。}voiddiv(double,double)/*除法函数*/{。。。}intmain(void){......add(x,y);sub(a,y);mut(x,y);div(x,y);......return0;}第5页/共56页C程序常见符号分类关键字(Keyword)又称保留字C语言中具有特殊含义的单词标识符(Identifier)系统预定义标识符有特殊含义,但可以被重新定义的单词(但是,一般不建议去重新定义)用户自定义标识符变量名,函数名,……#include<stdio.h>doubleep(doublex){ doubley;y=x*x*x; return(y);}intmain(void){ doublex;

printf("Inputadata:");

scanf("%lf",&x);

printf("%f立方是%f",x,ep(x)); return0;}第6页/共56页8关键字与标识符关键字(C语言的保留字)intsignedexterncharunsignedfloatconstdodefaultwhilecasecontinueelsestaticifautosizeoflongregisterunioninlineforstructbreakgototypedefenumrestrictvoidswitchreturnshortdoubleasmvolatile第7页/共56页9C语言的标识符标识符(用户自定义标识符)设计者根据需要而定义的名称,如变量名、数组名、自定义函数名……。标识符建立的规则:(1)由若干个英文字母、数字和下横线组成。(2)头一个字符必须是字母或是下横线“_”。相同字母的大写和小字是有区别的。count、Count、coUNT、CoUnT都是不同的不能使用关键字做标识符。第8页/共56页C程序常见符号分类运算符(Operator)算术、关系、逻辑……

分隔符(Separator)空格、回车/换行、逗号等其他符号{和}标识函数体或语句块/*和*/是程序注释的定界符双引号、单引号……

#include<stdio.h>doubleep(doublex){ doubley;y=x*x*x; return(y);}intmain(void){ doublex;

printf("Inputadata:");

scanf("%lf",&x);

printf("%f立方是%f",x,ep(x)); return0;}第9页/共56页11C程序中最重要的对象——变量执行程序的目的是进行数据运算操作,运算中经常使用的一种对象就是变量。什么是变量?计算机内存中一个被命名的、可以存储数据的区域(或存储单元)称作变量内存第10页/共56页12变量变量的特点:有名——变量名可以在变量中存储一个数据——变量的值因为变量存储在内存的存储单元中,所以变量都有一个唯一的存储地址不同的变量还可以有不同的类型变量名由一个或若干个字符组成,字符的构成形式必须符合C语言标识符的规定。第11页/共56页13声明变量声明变量的语句形式:例:

int

x,y,age=19;floatdata1,data2=10.009;

doubleprice_1,price_2=13.5;chara,b='$';类型名

变量名1,变量名2,……;可以在声明变量时,为变量初始化变量的性质变量必须声明后才可以引用。程序运行过程中,通过执行赋值操作,变量中存储的值可以改变。第12页/共56页14每个变量都有数据类型单精度实型双精度实型变量的类型字符型整型实型charshort[int]intfloatdouble第13页/共56页15变量的数据类型决定了该变量存储于内存时将占用内存空间的大小(或多少)一个字符型(char)的变量1个字节一个短整型(short)变量2个字节一个基本整型(int)变量4个字节一个单数度实型(float)变量4个字节一个双数度实型(double)变量8个字节不同的数据类型的变量可以表示的数据大小也不同。换句话说,不同类型的变量具有不一样的数据范围。第14页/共56页16例如:数据位的不同,能表示数据的大小也不同。0001101101000001010011100101110111000000000000000100000010000000110000010000000101……1111110011111101111111101111111100000001001000110100……110011011110111178654321第15页/共56页不同类型占用的内存字节数不同同种类型在不同的平台其占字节数不尽相同如int在16位、32位和64位系统上分别占2、4和8个字节不要对变量所占的内存空间字节数想当然用sizeof获得变量或者数据类型的长度现象与危害在平台间移植时会出现问题,导致数据丢失或者溢出注意!第16页/共56页sizeof到底是什么?C语言的运算符,并非函数计算类型占用的字节数两种运算形式

sizeof(类型)结果为类型占用的字节数sizeof(表达式)结果为表达式值所属类型占用的字节数一般都使用sizeof(变量名)

第17页/共56页用程序查看当前编译器的各种变量类型的字节数#include<stdio.h>#include<stdlib.h>intmain(void){

printf("DatatypeNumberofbytes\n");

printf("---------------------------------\n");

printf("char%d\n",sizeof(char));

printf("int%d\n",sizeof(int));

printf("shortint%d\n",sizeof(short));

printf("longint%d\n",sizeof(long));

printf("float%d\n",sizeof(float));

printf("double%d\n",sizeof(double));system("Pause");reutrn0;}第18页/共56页20可以通过赋值操作来改变变量的值向变量中存储信息的常用方法赋值表达式和赋值语句:变量

=

数据赋值运算符不是等号将一个数值存入一个内存单元x=90

;第19页/共56页21???????????????abcde0a=0a=6a=2+a68d=10d=d-a102inta,b,c,d,e;未初始化的变量不能直接使用,因为其内部的值不知道是什么。结果会是什么?#include<stdio.h>intmain(void){intx,y,sum;sum=x+y;printf(“sum=%d\n”,sum);return0;}第20页/共56页如何在显示器上显示我想让计算机显示的内容?22第21页/共56页23输出函数printf()——标准库函数printf(格式字符串,输出列表);需要输出的数据,可以是常量、变量或表达式描述要输出的数据有哪些类型,以及它们将以什么格式输出intx=29,y=40;(打算输出x+y的结果)printf("%d",x+y);printf("%d+%d=%d",x,y,x+y);第22页/共56页24举例#include<stdio.h>intmain(void){

intx=29,y=40;

printf("%d\n",x+y);printf("%d+%d=%d

\n",x,y,x+y);

return0;}2-5.c例:在屏幕上显示一个加法算式:

29+40=?第23页/共56页25常用的转换说明符转换说明符含义对应的数据类型%c单个字符char%s字符串char数组%d有符号的十进制整数int、short

%f十进制浮点数float%lf十进制浮点数的长格式double、longdouble

%e十进制浮点数的指数形式float、double格式(转换)说明符:由“%”和一个字符组成第24页/共56页26输出格式中经常引用的转义序列转义序列含义说明转义序列含义说明\n换行(LF)\b退格(BS)\t水平制表符(HT)\r回退到当前行开始处第25页/共56页27由键盘向变量中存入数据的操作函数

——scanf()读取键盘输入的数据,将数据存(写)入对应变量在内存的存储位置。scanf(格式字符串,(内存)地址表);intx;scanf(“%d”,&x);intx,y;scanf(“%d%d”,&x,&y);第26页/共56页28举例#include<stdio.h>intmain(void){

intdata1,data2;printf(“Entertwonumber:”);scanf(“%d%d”,&data1,&data2);

printf(“%d\n”,data1+data2);printf("%d+%d=%d

\n",data1,data2,data1+data2);

system(“Pause”);

return0;}2-5.c例:编写一个执行整数相加的加法程序。第27页/共56页29算术运算中参加运算的另一对象

——常量在程序执行过程中其值不变的数据例如inty=7; x=y–100;

y=-0.63+x;

常量在程序中直接使用。C程序可中参加运算的数据有两种变量常量数值常量字符常量字符串常量第28页/共56页30常量的写法十进制数-39.9

+708

156.02

0八进制数-037

0156

+0100

(以数字0开头

)十六进制数0x61

-0X2A0C

0x6d(以0x或0X开头)

无符号数15U760u第29页/共56页31常量的写法指数形式的常量指数形式是指:尾数、字母e或E、幂值等三个部分组成的实数。

-1.023e-2(即-1.023×10-2)尾数是十进制整数或带小数点的实数常量幂值部分为十进制整型常量;幂值可以带有正号“+”或负号“-”,正号一般省略不写。

第30页/共56页32常量整型常量:无小数位的数值实型常量:可带小数的数值(包括指数形式的实数)例如:-0.0521.4003.206e-43.206E-4字符型常量:由一对英文单引号括起的一个字符'A''+''5''''\n'字符串常量:一对英文双引号括起一个或多个字符(即多个字符形成的文本字符串)"Hello""No.35""6"第31页/共56页33符号常量符号常量:为常量建立一个标识符(也就是给该常量取一个名字)。系统约定用大写字母的形式。C程序是通过#define编译预处理指令来定义符号常量。例如,在程序的开始处可以添加若干行编译预处理指令去为常量建立符号名:

#define

符号名

常量值例如:#define

PI

3.14159#define

ER

2#define

IDCOD32页/共56页34符号常量的使用实例

#include<stdio.h>

#definePI3.14

/*PI将代表圆周率*/#defineR6/*R将代表半径值6*/intmain(void){doublegirth,area;girth=2*R*PI;area=R*R*PI;printf("girth=%f,area=%f\n",girth,area);return0;}girth=2*6

*3.14;area=6

*6*3.14;编译前的预处理——做自动替换第33页/共56页35信息读写基础系统的输入输出函数都属于C编译器的标准库函数2-4.c向屏幕输出文本信息向屏幕输出数据、文本信息读取键盘输入的数据向屏幕输出个一个字符读取键盘输入的一个字符printf()输出函数puts()输出函数scanf()输入函数putchar()

输出函数getchar()输入函数第34页/共56页36信息读写基础2-4.c在使用标准库函数时,要用编译预处理指令

“#include”将有关的“头文件”包括到用户的源文件中。标准输入输出函数对应的头文件是stdio.h,所以在程序的开头应该写有如下文件包含指令:

#include<stdio.h>第35页/共56页37输出文本信息的函数puts()的用法:

puts(转义字符和字符文本);#include<stdio.h>intmain(void){

puts("Hello\nworld!");

system("Pause");

return0;}转义序列含义说明转义序列含义说明\n换行(LF)\b退格(BS)\t水平制表符(HT)\r回退到当前行开始处第36页/共56页38程序中输出数据的函数2-4.c输出函数的一般格式为:

printf(转义字符和字面文本);

printf(格式字符串,输出列表);“格式字符串”包括三种信息:①字面文本:为任何文本信息,它将按原本形式直接显示②格式说明符:由“%”和一个字符组成,如%d、%f等。它的作用是将输出的数据以指定的格式输出。它总是由“%”字符开始。③转义序列。能提供特殊格式控制的控制符号。“输出表”:

需要输出的一些数据,可以是常量、变量或表达式。第37页/共56页39常用的转换说明符转换说明符含义对应的数据类型%c单个字符char%s字符串char数组%d有符号的十进制整数int、short

%f十进制浮点数float%lf十进制浮点数的长格式double、longdouble

%e十进制浮点数的指数形式float、double第38页/共56页40#include<stdio.h>intmain(void){inti;for(i=10;i<1000;i+=10){sleep(200);printf("\rHelloworld:%d",i);}system("Pause");return0;}第39页/共56页41使用输出函数put()或printf()#include<stdio.h>intmain(void){

第一行显示"Iamastudent."第二行显示自己的姓名第三行显示自己的学号第四行显示自己的E-mail

return0;}2-4.c例:实现执行程序去输出个人基本信息。第40页/共56页42#include<stdio.h>intmain(void){ inta,b,c,d; a=3; c=b=a; a=b=c=d=6; a=c+(d=3*(b=5));printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); printf("a=%d,b=%d,\rc=%d,d=%d\n",a,b,c,d); return0;}第41页/共56页43程序中数据的输入2-6.cscanf()函数作用:

读取键盘输入的数据,按照变量在内存的地址将变量的值存进去。

一般格式:scanf(格式字符串,变量地址表);%f%d%c%lf%sr&取变量地址的运算符变量r第42页/共56页442-8.c#include<stdio.h>intmain(void){intnum;printf("\nEnteryournumber:");

scanf("%d",&num);printf("\nYouareastudent.\n");printf("Yournumberis%d\n\n\n",num);system("Pause");return0;}练习第43页/共56页45#include<stdio.h>intmain(void){

floatx;do{printf("Inputx=");

scanf("%f",&x);if(x<0)x=-x;

printf(“|x|=%f\n",x);}while(x!=0);

return0;}2-6.c“&x”是变量x在内存中的地址,&是取地址运算符例计算:|x|第44页/共56页46字符数据的输入输出用putchar()函数向屏幕上输出一个字符putchar函数(字符输出函数)的作用是向标准输出设备(显示器)输出一个字符。一般形式为putchar(c);用getchar()函数接收从键盘输入的一个字符getchar函数(字符输入函数)的作用是接收来自标准输入设备(键盘)输入的一个字符。

getchar函数没有参数,一般形式为

c=getchar();函数执行后,返回一个函数值为从键盘输入的字符第45页/共56页47#include<stdio.h>intmain(void){charmy_c;

puts("请输入一个字符:");my_c=getchar();

puts("\n\n你刚才输入的字符是:");putchar(my_c);

printf("\n\n该字符的ASCII是:%d

\n\n",my_c);system("Pause");return0;}2-8.c例如:查看一个字符的ASCII码。第46页/共56页#include<stdio.h>intmain(void){charonce;/*声明一个字符变量*/

printf(“请输入一个小写字母:\n");once=getchar();

/*接收来自键盘的输入*/

?putchar(once);

system("Pause");

return0;}例如:将小写字母转换为大写字母/*如何做转换*/第47页/共56页49#include<stdio.h>intmain(void){charmy_c;intasc;printf("\n\nPleaseenteracharacter:");my_c=getchar();printf("Inputacharacter:%c.\nOutputtheASCII:%d\n\n",my_c,my_c);printf("PleaseenteraASCIInumberofthecharacter:");scanf("%d",&asc);printf("ASCIIofacharacter:%d\n",asc);my_c=asc;printf("Outputthecharac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论