《高级语言程序设计教学》第2章_第1页
《高级语言程序设计教学》第2章_第2页
《高级语言程序设计教学》第2章_第3页
《高级语言程序设计教学》第2章_第4页
《高级语言程序设计教学》第2章_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第二章C语言程序基础2.1C程序的基本结构2.2C语言基本语法成分2.3C语言数据类型2.4C语句2.5C语言的格式输出函数printf2.6C语言的格式输入函数scanf1编辑ppt学习目标掌握C程序的基本结构及C语言基本语法成分;理解C语言数据类型的概念,掌握整形、浮点型、字符型数据的存储形式、取值范围、表示形式及基本运算;掌握格式输入输出函数的使用,理解输入输出格式字符串与输入输出数据间的匹配关系;通过模仿和改写例题,学习简单的程序设计方法。2编辑ppt2.1C程序的基本结构C语言程序的基本结构如下:编译预处理命令voidmain(void){

声明部分执行部分}类型子函数名(形参表){

声明部分执行部分}执行部分一般形式如下:

数据输入数据处理数据输出3编辑ppt2.2C语言基本语法成分字母:26英文字母大、小写数字:数字0~9共10个特殊字符:!#%^&+-*/=~<>\.,;: ?'“()[]{}

空白符:空格、制表符、换行符 【C语言的字符集】4编辑ppt【标识符】程序中所使用的变量名、常量名、数组名、函数名、文件名等统称为标识符命名规则只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线sum,_total,n_count,num1合法total.sum,a@2,$123,#a,1num不合法名字5编辑ppt注意事项大小写敏感名字别起特别长标识符不能与“关键字”同名,也不能与系统预先定义的“标准标识符”同名起有意义的名字作到“顾名思义”避免混淆例如:sum与SUM是不同的标识符正确标识符:stu_name和stu_num过长:student_name和student_numsum表示总和,name表示名字数字1与字母1和I,数字0与字母o,数字2与字母Z和z。6编辑ppt问题:下面选项中,均是合法的标识符的选项是(A)a1b!12_e (B)minf121x (C)aifPI(D)x2m_nsummin7编辑ppt【

关键字】定义:C语言规定的具有特定意义的一串字符,通常也称保留字类型类型说明符int、float、char等语句定义符if、else、while等8编辑pptC语言的32个关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumextemfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile9编辑ppt【运算符】运算符表示各种运算功能。运算符由一个或多个字符组成,如:+、-、*、/、%等。可以组成表达式:a+b;2*2.1415926*r;10编辑ppt【分隔符】C语言中,分隔符有逗号、空格、Tab和回车等逗号:主要用于在类型说明和函数参数表中分隔各个变量;空格、Tab和回车多用于语句和各单词之间的间隔符。注意:在关键字或标识符之间必须要有一个以上的分隔符作间隔,否则将会出现语法错误。例如把inta,b;写成inta,b;C编译器会把inta当成一个标识符处理,其结果必然出错。11编辑ppt【库函数】库函数不是C语言本身的组成成分,它是由C编译系统提供的可以直接使用的函数库函数放在库文件中,同时这些函数的声明和宏定义等信息存放在相应的头文件中使用方法#include<头文件名>或#include“头文件名”例如:绝对值、三角函数等数学类的函数需将头文件math.h包含进来12编辑ppt2.3C语言数据类型C数据类型指针类型空类型void定义类型typedef基本类型字符类型char数值类型整型短整型short长整型long整型int浮点型单精度型float双精度型double构造类型枚举类型enum数组结构体struct共用体union13编辑ppt常量和变量常量在程序执行过程中,常量的值不能由程序改变变量在程序执行过程中,变量的值可以由程序改变变量对应着内存中一个存储单元,在存储单元中存放着该变量的值,每个变量都有一个名字不同类型数据所占存储单元的大小也不同

如,char型占1个字节、int型占4个字节、double型占8字节14编辑ppt注意变量必须先声明,后使用15编辑ppt2.3.1整型数据int整型数据占有4个字节的存储空间,以二进制定点补码的形式存储。它的取值范围为-2147483648~2147483647即-231~(231-1),整型数据没有小数部分16编辑ppt数的表示范围

不同位数的二进制数的表示范围-231~231-10~232-10000……(32个0)~1111……(32个1)32-32768~32767(-215~215-1)0~65535(216-1)0000000000000000~111111111111111116-128~127(-27~27-1)0~255(28-1)00000000~111111118有符号整数无符号整数二进制编码组合位数17编辑ppt

?

一个short型变量最大允许值为32767,如果再加1会怎样

?

将一个超过short型范围的整数赋值给一个整型变量会怎样整型数据溢出0111111111111111a1000000000000000b32767,-32768,80000000000001000c118main(){shorta,b,c;a=32767;b=a+1;c=65544;printf(“%d,%d,%d“,a,b,c);}编辑ppt整型数据在内存中的存放形式以二进制补码形式存放inti=10;intj=-10;10ij-10取反加100000000000010100000000000000000111111111111010111111111111111111111111111110110111111111111111119编辑ppt【例2-1】

整数型数据的运算#include<stdio.h>voidmain(){

intx,y;x=1/2; /*整型运算量的除法运算,其结果自动取整*/y=5%2; /*%为求余运算,其运算量只能是整数*/printf("x=%d,y=%d\n",x,y);}x=0,y=1Pressanykeytocontinue变量声明变量赋值输出变量的值20编辑ppt2.3.2浮点型数据float浮点型数据占有4个字节的存储空间,以浮点的形式存储;取值范围:±(2.4×10-38~2.4×1038)21编辑ppt在C语言中,浮点型常量有两种表示形式:小数形式由正负号、数字和小数点组成,小数点前后的0可以省略,但小数点不能省略。例如:0..2532.78-12.2.0等。指数形式用科学记数法来表示浮点数,一般用来表示很大或很小的数。例如:23500000=2.35×107,在C程序中可以表示成:2.35e72.35E70.235e8235e522编辑ppt字符常量的特点字符常量只能用单引号括起来,不能用双引号。字符常量只能是一个字符,不能是多个字符。字符可以是字符集中任意字符。但数字被定

义为字符型之后与其本身数值是不相等的。例如:‘0’和0是不同的。2.3.3字符型数据char1、字符常量在C语言中字符型常量是用单引号括起来的单个字符例如:'A'、'b'、'0'、'+'等。23编辑ppt2、字符数据的存储1个字节存储一个字符数据字节中存储的是字符的ASCII码如:字符'A'01000001'A'6524编辑ppt3、字符数据的运算“+”、“-”和比较运算。注意:+、-运算相当于为字符的ASCII码加上或减去一个整数值,但运算后的值仍然在ASCII码值的表示区间内运算才有意义。25编辑ppt【例2-2】字符变量赋值与输出#include<stdio.h>voidmain(){

charc;/*声明字符型变量c*/

intx;/*声明整型变量x*/c=97;/*97是‘a’的ASCII码*/x='b';printf("%c,%d\n",c,c);

printf("%d,%c\n",x,x);}a,9798,bPressanykeytocontinue声明字符变量字符变量赋值输出字符变量的值26编辑ppt【例2-3】

在键盘上输入一个小写字符,将其转换成大写字符后输出#include<stdio.h>voidmain(){

charc;c=getchar();c=c-32;putchar(c);putchar('\n');}aAPressanykeytocontinue在键盘上输入一个字符赋给变量c输出变量c中存储的字符

‘a’…’z’的ASCII码为:97…122‘A’…’Z’的ASCII码为:65…9027编辑ppt2.4

C语句语句分类表达式语句各种表达式所构成的语句,一般形式为:表达式;函数调用语句一般形式为:函数名(实际参数表);

控制语句选择语句、循环语句、转移语句复合语句以一对{}括起来的语句序列空语句由一个;单独构成的语句28编辑ppt格式:printf("格式控制字符串",输出表列)功能:按指定格式向显示器输出数据返回值:正常,返回输出字节数;出错,返回EOF(-1)2.5C语言的格式输出printf函数格式输出函数格式字符串为:

%[标志][输出最小宽度][.精度][长度]类型29编辑ppt1、类型格式字符

意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串inta=123;printf("%d",a);123inta=65;printf("%o",a);inta=-10;printf("%x",a);floata=567.789;printf("%e",a);floata=567.789;printf("%f",a);floata=567.789;printf("%g",a);chara=65;printf("%c",a);chark[]="ABC";printf("%s",k);fffffff61015.67789e+02567.789001567.789AABC1111111111110110111111111111111130编辑ppt2.标志标志字符为-、+、#、空格四种标志

意义-结果左对齐,右边填空格+输出符号(正号或负号)空格负时输出,正号不输出#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f类当结果有小数时才给出小数点%[标志][输出最小宽度][.精度][长度]类型31编辑ppt修饰符功能输出最小宽度输出数据域宽,若实际数据长度<m,左补空格;否则按实际输出.精度对实数,指定小数点后位数(四舍五入)对字符串,指定实际输出位数长度h表示按短整型量输出l表示按长整型量输出%[标志][输出最小宽度][.精度][长度]类型32编辑ppt【例2-4】格式符与输出项匹配实例#include<stdio.h>voidmain(){

inta=97;

floatb=56.748;printf("a=%d,b=%f\n

",a,b); printf("%c,%d,%o,%x,%f\n",a,a,a,a,a); printf("%f,%e,%d,%o,%x\n",b,b,b,b,b);}a=97,b=56.748001a,97,141,61,0.00000056.748001,5.674800e+001,-2147483648,10023057676,8000000001100001‘a'9733编辑ppt【例2-5】输出宽度与精度实例#include<stdio.h>voidmain(){inta=66;floatb=122.1234567;doublec=1234567890.1234567;

printf("a=%d,%-5d,%5d,%5c\n",a,a,a,a);printf("b=%f,%lf,%5.4f,%.4e,%10.2f\n",b,b,b,b,b);printf("c=%lf,%f,%8.4lf\n",c,c,c);}a=66,66,66,Bb=122.123459,122.123459,122.1235,1.2212e+002,122.12c=1234567890.123457,1234567890.123457,1234567890.123534编辑ppt注意1、C语言编译器不会检测格式符与输出项的数量是否相匹配若输出项多于格式符,printf函数则正确的显示前面匹配的输出项,后面多余的不输出。例如printf("%d",i,j);若输出项少于格式符,printf函数则正确的显示匹配的输出项,后面多余的格式符因为没有匹配的输出项,将输出没有任何意义的随机数。例如printf("%d,%d",i);2、float和double的输出%f、%lf相同35编辑ppt格式:scanf(“格式控制字符串”,地址表列)功能:按用户指定的格式从键盘上把数据输入到指定变量中2.6C语言的格式输入scanf函数格式输入函数36编辑ppt1.缺省的分隔符在键盘上输入数据时,数据之间用一个或多个空格、Tab和回车来分割。37编辑ppt【例2-6】格式符与输入变量匹配实例

#include<stdio.h>voidmain(){

inta,b,c;printf("inputa,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);}inputa,b,c258a=2,b=5,c=8Pressanykeytocontinueinputa,b,c258a=2,b=5,c=8Pressanykeytocontinueinputa,b,c258a=2,b=5,c=8Pressanykeytocontinueinputa,b,c2,5,8a=2,b=-858993460,c=-858993460Pressanykeytocontinue38编辑ppt2.格式字符串中的普通字符空格当在格式控制字符串遇到一个或多个空格时,scanf函数从输入数据中重复读空白字符直到遇到一个非空字符为止。其它字符当在格式控制字符串中遇到一个非空字符时,scanf函数将它与输入字符进行比较,若两个字符相等,继续下一个输入,否则终止scanf函数的执行。39编辑ppt【例2-7】其它分隔符实例#include<stdio.h>voidmain(){inta,b,c;printf("inputa,b,c\n");scanf("%d,%d,%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);}inputa,b,c2,6,4a=2,b=6,c=4Pressanykeytocontinueinputa,b,c264a=2,b=-858993460,c=-858993460Pressanykeytocontinue40编辑ppt3.格式字符串格式字符串一般形式:%[*][输入数据宽度]类型(1)类型格式字符

意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串41编辑ppt(2)*用以表示该输入项读入后不赋予相应的变量,即跳过该输入值。例如:scanf("%d%*d%d",&a,&b);当输入为:123时,把1赋予a,2被跳过,3赋予

温馨提示

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

最新文档

评论

0/150

提交评论