第二讲 C程序设计初步_第1页
第二讲 C程序设计初步_第2页
第二讲 C程序设计初步_第3页
第二讲 C程序设计初步_第4页
第二讲 C程序设计初步_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、第二讲第二讲c c程序设计初步程序设计初步(3)(3)c语言程序设计语言程序设计 programming in c2021年11月23日17时16分第2章 c程序设计初步2一一、输入输出输入输出函数的简单应用函数的简单应用 1. 1.格式输出函数格式输出函数printfprintf 2. 2.格式输入函数格式输入函数scanfscanf二二、程序中的常用程序中的常用运算符运算符(operator)(operator)和表和表达式达式(expression)(expression) 1. 1.算术运算符和算术表达式算术运算符和算术表达式 2. 2.赋值运算符和赋值表达式赋值运算符和赋值表达式 3

2、. 3.自增自增/ /自减运算符自减运算符 4. 4.逗号运算符和逗号表达式逗号运算符和逗号表达式 5. 5.指针运算符指针运算符 6. 6.数据类型转换数据类型转换上讲内容回顾上讲内容回顾2021年11月23日17时16分第2章 c程序设计初步3本讲内容本讲内容2.4.2 输入输出的复杂格式控制输入输出的复杂格式控制2.4.3 字符字符/字符串数据的输入和输出字符串数据的输入和输出2.5 c语句概述语句概述2021年11月23日17时16分第2章 c程序设计初步42.4.2 输入输出的复杂格式控制输入输出的复杂格式控制1.输出的复杂格式控制输出的复杂格式控制 printf函数调用形式:函数调

3、用形式:功能功能1:按原样输出字符串。:按原样输出字符串。 printf(“字符串字符串”);功能功能2:按格式说明符输出对应的数据项。:按格式说明符输出对应的数据项。 printf(%格式说明符格式说明符, 输出项列表输出项列表); printf(a=%d,b=%fn,a,b)2021年11月23日17时16分第2章 c程序设计初步5int a=1; float b=2;printf(a=%d,b=%fn,a,b)变量变量a对应格对应格式符为式符为%d变量变量b对应格对应格式符为式符为%f非格式符原样输非格式符原样输出,出,n是转义字是转义字符符格式控制字符串格式控制字符串输出数据列表输出数

4、据列表1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步6常用的常用的printf格式符格式符2021年11月23日17时16分第2章 c程序设计初步7整型整型数据的输出数据的输出#include stdio.h void main() int a=15,b=-20; long c=45; printf(1:%d %o %x %u n,a,a,a,a); printf(2:%d %dn,a,b); printf(3:%d %ldn,a,c); 程序运行结果为:程序运行结果为:1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日

5、17时16分第2章 c程序设计初步8printf (%dn %un%x ,%x,%o n, 10, 10, 10, 10, 10);printf (%dn %un%x ,%x,%o n,-1, -1, -1, -1, -1);1 01 0a , a , 1 21.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步9数据在计算机中的存储数据在计算机中的存储-补码补码补码的最高位为补码的最高位为符号位符号位 正数最高位为正数最高位为0,负数最高位为,负数最高位为1正数的补码就是它本身正数的补码就是它本身例如:例如:1的补码(若为短整型,的补码(若为短

6、整型,2个字节)个字节) 0000 0000 0000 0001负数的补码负数的补码例如:例如:-1的补码(若为短整型,的补码(若为短整型,2个字节)个字节)先求它的绝对值为先求它的绝对值为1 0000 0000 0000 0001按位取反按位取反 1111 1111 1111 1110最低位加最低位加1 -1的补码是的补码是 1111 1111 1111 2021年11月23日17时16分第2章 c程序设计初步10负数的输出负数的输出printf (%dn %un%x ,%x,%o n,-1, -1, -1, -1, -1); -1的补码是:的补码是: 1111 1111 1111 1111

7、- 165 5 3 5f f f f, f f f f , 1 77 7 7 71.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步11整型和字符型整型和字符型的输出的输出#include stdio.h void main() int a=97,b=98; printf(1:%d %dn,a,b); printf(2:%d,%dn,a,b); printf(3:%c,%cn,a,b); printf(4:a=%d,b=%d,a,b); 程序运行结果为:程序运行结果为:1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时1

8、6分第2章 c程序设计初步12实型实型数据的输出数据的输出#include stdio.h void main() float a=1.2,b=-12.3456789; double c=12.58; printf(1:%f %f %lfn,a,b,c); printf(2:%e %e n,a,b); 程序运行结果为:程序运行结果为:1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步13常用的常用的printf 的附加格式说明的附加格式说明 2021年11月23日17时16分第2章 c程序设计初步14指定指定数值型输出域宽数值型输出域宽pri

9、ntf (%dn,100);printf(%5dn,100););printf(%8dn%8d,100,100*100);0000100100001001001001printf(%-5dn,100););1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步15char c= a ;printf (%4c,%c%dn,c, c,c);56a,a 指定指定字符型输出域宽字符型输出域宽1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步16printf (%fn%10.3fn%6.3fn ,a, a

10、,a);1 0 0 .7 6 5 4 0 41 0 0 . 7 6 51 0 0 .7 6 5float a= 100.7654;精度精度宽度不够,宽度不够,整数部分原整数部分原样输出。样输出。1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步17【学生项目案例【学生项目案例2-12-1 】某学生在】某学生在“学生信息管理系统学生信息管理系统”中查询学生信息,系统需要显示学生的学号、姓中查询学生信息,系统需要显示学生的学号、姓名、性别和课程的成绩等信息。阅读下面程序,理名、性别和课程的成绩等信息。阅读下面程序,理解不同类型数据的输出方式。解不

11、同类型数据的输出方式。#include void main() char *pnum=20080901,*pname=汪涵汪涵; /*指针可以指向字符串常量指针可以指向字符串常量*/ char x=f; int kc1=70,kc2=82; printf(%s,%s,%c,%d,%dn,pnum,pname,x,kc1,kc2); 2021年11月23日17时16分第2章 c程序设计初步18printf( %d ,90);printf( %d ,90);0000100109%d%特殊字符特殊字符% %1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序

12、设计初步19#include main() int a=1,b=2,c=3; printf(%d,%dn,a,b,c); 如果输出项个数多如果输出项个数多于格式字符个数,多余于格式字符个数,多余数据部分不输出。数据部分不输出。1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步20#include stdio.hvoid main() int a=3,b=4; printf(%dn,a=b,b,a+3); printf(“%dn,a,b,a=b); printf(%dn,(a=b,b,a+3); 从右向左从右向左计算计算从左向右从左向右输出输出

13、1.1.输出的复杂格式控制输出的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步21【例【例】阅读程序,体会阅读程序,体会scanf()scanf()函数的使用。函数的使用。#include stdio.hvoid main(void) char ch; printf(请从键盘上输入请从键盘上输入y(同意同意)或或n(反对反对):n);/*提示信息提示信息*/ scanf(%c,&ch); /*从键盘上输入从键盘上输入y或或n字符字符*/ printf(您所选择的是您所选择的是:%cn,ch); /*在屏幕上显示用户的选择在屏幕上显示用户的选择*/2021年11月

14、23日17时16分第2章 c程序设计初步22scanf函数调用的简单形式有:函数调用的简单形式有:(1)scanf(%格式说明符格式说明符, &简单变量名简单变量名);(2)scanf(“%格式说明符格式说明符”, 指针变量指针变量);功能:功能: 按照按照“格式控制字符串格式控制字符串”的格式要求,用户从标准输的格式要求,用户从标准输入设备(一般是键盘)键入一(或多)个数据,回车键结入设备(一般是键盘)键入一(或多)个数据,回车键结束后,将输入数据依次保存到地址列表指定的对应内存变束后,将输入数据依次保存到地址列表指定的对应内存变量中。量中。2.2.输入的复杂格式控制输入的复杂格式控

15、制 注意:注意:l“输入项地址列表输入项地址列表”中的数据和中的数据和“格式说明符格式说明符”应该在应该在类型、个数、位置上一致。类型、个数、位置上一致。l输入格式控制字符串中不能出现转义字符。输入格式控制字符串中不能出现转义字符。 如:如:scanf(%d,%dn,&a,&bscanf(%d,%dn,&a,&b); ); 2021年11月23日17时16分第2章 c程序设计初步2021年11月23日17时16分第2章 c程序设计初步24整型整型数据的输入数据的输入#include stdio.h void main() int a,b,c; scanf (%d

16、%o%x,&a,&b,&c); printf (%d,%d,%d,a,b,c);程序中出现程序中出现八进制数的八进制数的表示方法:表示方法:x=012x=0122.2.输入的复杂格式控制输入的复杂格式控制 输入输入输出输出数值型数据间用空数值型数据间用空格、跳格(格、跳格(tabtab键)键)或回车分隔或回车分隔2021年11月23日17时16分第2章 c程序设计初步25整型整型数据的输入数据的输入 scanf (%d,%d,%d, &a,&b,&c); scanf ( i=%d,&i);printf ( i=%d,i);03=i3=i

17、321 3,2,1错错0 0 输入输入输出输出2.2.输入的复杂格式控制输入的复杂格式控制 普通字符普通字符原样输入原样输入2021年11月23日17时16分第2章 c程序设计初步26 scanf (%c%c%c, &a,&b,&c);scanf (%d%d%d, &a,&b,&c);scanf (%d%d %c , &m, &n, &ch);c de c c e123 1 2 3 1 , 2 , 3 12 a错错错错字符型字符型数据的输数据的输入入2.2.输入的复杂格式控制输入的复杂格式控制 字符数据字符数据间不需要间不

18、需要用分隔符用分隔符2021年11月23日17时16分第2章 c程序设计初步27实型实型数据的输入数据的输入void main() float a; double b; scanf (%e%lf,&a,&b); printf (%fn%lfn,a,b);2.2.输入的复杂格式控制输入的复杂格式控制 输入输入输出输出2021年11月23日17时16分第2章 c程序设计初步28 scanf (%3d, &a); scanf (%4d%4d, &a,&b); scanf (%4f, &c); scanf (“%6.2f”, &c);不能控制精度

19、不能控制精度错错 7654.1 87654321 76521 321 54321a=123a=1 a=125a=1234 b=5678c=1.450000精度精度2.2.输入的复杂格式控制输入的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步29 数值数据输入时:数值数据输入时: 遇空格、跳格(遇空格、跳格(tab键)或回车结束;键)或回车结束; 遇非数值字符结束;遇非数值字符结束; 遇宽度结束;遇宽度结束; 遇非法输入结束。遇非法输入结束。字符型数据输入时:字符型数据输入时: 可以接收空格、跳格(可以接收空格、跳格(tab键)或回车。键)或回车。如:如: int a,b

20、,d; char c;scanf(%d%d%c%3d,&a,&b,&c,&d); 输入序列为:输入序列为: 1011a12345 (表示空格)(表示空格) 则,则,a=10,b=11,c=,d=1232.2.输入的复杂格式控制输入的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步30main( ) int a,b; scanf(a=%d,b=%d,&a,&b); printf(a=%d,b=%dn,a,b); a=7,b=8a=7,b=8 a=7,b=8a=7,b=8 尽量不要将格式控制字符串尽量不要将格式控制字符串指定得太

21、复杂,用户看不到,会指定得太复杂,用户看不到,会增加不必要得难度和错误。增加不必要得难度和错误。2.2.输入的复杂格式控制输入的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步31main( ) int a,b; printf(input a,b:); / /* *提示信息提示信息* */ / scanf(%d%d,&a,&b); printf(a=%d,b=%dn,a,b); input a,b: 7input a,b: 7 8 8a=7,b=8a=7,b=8 加入必要的提示信息,加入必要的提示信息,降低了用户输入的难度。降低了用户输入的难度。2.2.输

22、入的复杂格式控制输入的复杂格式控制 2021年11月23日17时16分第2章 c程序设计初步32 在键盘上输入:在键盘上输入:5.3,123,456,1.23456 #include void main() int b; float c; double a; scanf(%f,%d,%*d,%5f,&a,&b,&c); printf(%e,%d,%f,a,b,c); pa值不正确。值不正确。a是是double型,输入时须用型,输入时须用%lf或或%le;p%*d对应的数据是对应的数据是456,附加格式符,附加格式符“*”允许对应允许对应的输入数据被忽略,因此的输入数据被

23、忽略,因此456未赋给未赋给c变量;变量;p1.23456按按%5f格式截取格式截取1.234赋给赋给c,输出,输出1.234000。 修改为修改为%lf【例例】2021年11月23日17时16分第2章 c程序设计初步332.4.3 字符字符/ /字符串字符串数据的输入和输出数据的输入和输出输入和输出一个字符:输入和输出一个字符: getchar和和putchar函数函数输入和输出一个字符串:输入和输出一个字符串:gets和和puts函数函数2021年11月23日17时16分第2章 c程序设计初步34功能:功能: 从标准输入设备从标准输入设备(键盘键盘)接收一个字符,该字接收一个字符,该字符作

24、为符作为getchar函数的返回值。函数的返回值。输入字符后,按输入字符后,按回车键回车键,输入的字符才有效。,输入的字符才有效。如:如:ch=getchar( );/*输入输入a */ ch=getchar()+10;说明:说明:getchar( )是无参函数,原型包含是无参函数,原型包含stdio.h头文件中。头文件中。1.字符输入函数字符输入函数getchar( )2021年11月23日17时16分第2章 c程序设计初步35#include void main() char a,b;a=getchar();b=getchar();printf(a=%c,b=%cn,a,b);【例例】阅读

25、并分析程序。体会键盘字符输入。阅读并分析程序。体会键盘字符输入。 getchar();1.字符输入函数字符输入函数getchar( )v从键盘输入:从键盘输入:q w v从键盘输入:从键盘输入:qw 2021年11月23日17时16分第2章 c程序设计初步36 getchargetchar函数将函数将输入的英文字母、标点符号输入的英文字母、标点符号和数字都作为字符输入。和数字都作为字符输入。 回车会作为一个字符读入。如果程序中有回车会作为一个字符读入。如果程序中有两个或两个以上两个或两个以上getchargetchar函数时,应该一次输入函数时,应该一次输入所有字符,最后再按回车键。所有字符,

26、最后再按回车键。 或用或用getchargetchar函函数消耗掉多余的回车。数消耗掉多余的回车。1.字符输入函数字符输入函数2021年11月23日17时16分第2章 c程序设计初步37#include void main() char a,b;a=getchar();b=getchar(); printf(a=%c,b=%cn,a,b);【例例】阅读并分析程序。体会键盘字符输入。阅读并分析程序。体会键盘字符输入。 getchar();1.字符输入函数字符输入函数getchar( ) getchar();2021年11月23日17时16分第2章 c程序设计初步38#include void m

27、ain() char a,b;scanf(%c%c,&a,&b); printf(a=%c,b=%cn,a,b);【例例】阅读并分析程序。体会键盘字符输入。阅读并分析程序。体会键盘字符输入。1.字符输入函数字符输入函数getchar( )2021年11月23日17时16分第2章 c程序设计初步39功能:功能:向输出设备向输出设备(一般为显示器一般为显示器)输出一个字符,返输出一个字符,返回该字符的回该字符的ascii码值。码值。调用一般形式为:调用一般形式为: putchar(c);参数参数c可以是字符型常量、字符型变量、字符可以是字符型常量、字符型变量、字符型表达式、整型常量

28、、整型变量、整型表达式等。型表达式、整型常量、整型变量、整型表达式等。包含在包含在stdio.h。2.字符输出函数字符输出函数putchar()2021年11月23日17时16分第2章 c程序设计初步40#include “stdio.h” abbcabbcmain( ) int x=65; char y=b; putchar(x); putchar(65+1); putchar(y); putchar(b+1); 2.字符输出函数字符输出函数putchar()2021年11月23日17时16分第2章 c程序设计初步41分析:分析: 对 应 大 小对 应 大 小写 字 母 的写 字 母 的as

29、cii码值之码值之差为差为32,利用,利用这一特点实现这一特点实现大小写字母的大小写字母的转换。转换。【文本项目案例文本项目案例2-12-1】文字处理软件有许多基本功能,如文字处理软件有许多基本功能,如更改字母大小写、字符统计等。编程实现将小写字母转换更改字母大小写、字符统计等。编程实现将小写字母转换成大写字母。成大写字母。#include stdio.hvoid main( ) char ch1,ch2; printf(“请输入第一个小写字母请输入第一个小写字母:n”); ch1=getchar(); getchar(); printf(“请输入第二个小写字母请输入第二个小写字母:n”);

30、ch2=getchar(); getchar(); ch1=ch1-32, ch2=ch2-32; /*转换转换*/ putchar(ch1); putchar(ch2); 2021年11月23日17时16分第2章 c程序设计初步42#include void main() char ch; ch=getchar(); putchar(ch); #include void main() char ch; scanf(“%c”,&ch); printf(“%c”, ch); 字符型数据的输入输出字符型数据的输入输出2021年11月23日17时16分第2章 c程序设计初步43功能:功能:

31、接收用户从键盘输入的一个字符串,输入的接收用户从键盘输入的一个字符串,输入的字符串以回车结束。字符串以回车结束。一般一般调用形式:调用形式:gets(str_adr)说明:说明:参数参数str_adr表示存放输入的字符串的首地址。表示存放输入的字符串的首地址。char a10; /*定义字符数组定义字符数组a*/gets(a);3.字符字符串串输入函数输入函数gets()2021年11月23日17时16分第2章 c程序设计初步44区别:区别: gets(a);gets函数接收函数接收包含空格包含空格在内的字符串,末尾的回车换在内的字符串,末尾的回车换行符读入后不作为字符串的内容,系统将自动用结

32、束行符读入后不作为字符串的内容,系统将自动用结束符符“0”代替。代替。scanf(%s,a); scanf函数的函数的“%s”格式输入字符串时,如果输入的字格式输入字符串时,如果输入的字符串中包含空格,系统符串中包含空格,系统只接收空格之前的字符只接收空格之前的字符。3.字符串输入函数字符串输入函数gets()2021年11月23日17时16分第2章 c程序设计初步45函数的调用形式为:函数的调用形式为:puts(str_adr)功能:功能: 输出以输出以str_adr地址为起始地址的字符串。直地址为起始地址的字符串。直至遇到第一个至遇到第一个“0”时为止,并将其自动转换成一时为止,并将其自动

33、转换成一个换行符。个换行符。puts(a);4.字符串输出函数字符串输出函数puts()2021年11月23日17时16分第2章 c程序设计初步46#include stdio.hvoid main(void) char a100; puts(请输入一个字符串(可以包含空格)请输入一个字符串(可以包含空格):); gets(a); printf(你所输入的字符串是:你所输入的字符串是:); puts(a); printf(请输入一个字符串(不包含空格)请输入一个字符串(不包含空格):); scanf(%s,a); puts(你所输入的字符串是:你所输入的字符串是:); printf(%s,a)

34、; 【例例】阅读程序,理解字符串输入输出函数的使用阅读程序,理解字符串输入输出函数的使用2021年11月23日17时16分第2章 c程序设计初步47总结总结变量获取数据的几种方法:变量获取数据的几种方法:1.赋初值赋初值int x=1;2.赋值语句赋值语句k=123;3.输入函数输入函数scanf(“%d”,&x); x=getchar( );gets(x); 2021年11月23日17时16分第2章 c程序设计初步482.5 c语句概述语句概述一、简单语句一、简单语句二、复合语句二、复合语句三、空语句三、空语句四、流程控制语句(后续章节)四、流程控制语句(后续章节)2021年11月2

35、3日17时16分第2章 c程序设计初步49语句种类语句种类语句的大概格式语句的大概格式说明说明控制语句控制语句if( )else条件语句条件语句for( )循环语句循环语句while( )dowhile( )continue结束本次循环结束本次循环break终止终止switch语句或循环语句或循环switch多分支选择语句多分支选择语句goto转向语句转向语句return从函数中返回语句从函数中返回语句函数调用语句函数调用语句函数名函数名(参数列表参数列表);如如printf(“c statement.”)表达式语句表达式语句表达式表达式;i+;空语句空语句;复合语句复合语句简单简单语句语句2

36、021年11月23日17时16分第2章 c程序设计初步50一、一、 简单语句简单语句1.1.表达式语句表达式语句 2. 函数调用语句函数调用语句2021年11月23日17时16分第2章 c程序设计初步511.1.表达式语句表达式语句 任何任何c c语言表达式加上分号语言表达式加上分号“; ;”构成表达式语构成表达式语句。句。一般形式为:一般形式为:表达式表达式; ;功能功能:执行表达式语句即计算表达式的值。执行表达式语句即计算表达式的值。表达式语句分类表达式语句分类:(1)赋值语句赋值语句 a=1;(2)运算符表达式语句运算符表达式语句 a+;2021年11月23日17时16分第2章 c程序设

37、计初步52通过使用通过使用函数名函数名和和实际参数实际参数来调用执行函数体称来调用执行函数体称为函数调用。为函数调用。函数调用函数调用语句语句的一般形式为:的一般形式为:函数名函数名(实际参数列表实际参数列表);功能功能:把实际参数赋予函数定义中的形式参数,然把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句。后执行被调函数体中的语句。例如,例如,printf(“学号学号”); /*不使用函数值不使用函数值*/ y=x+sin(a); /*使用函数值使用函数值*/ c=getchar(); /*使用函数值使用函数值*/2.函数调用函数调用(calling)及函数调用语句及函数调用语

38、句2021年11月23日17时16分第2章 c程序设计初步53 c c语言提供了大量的语言提供了大量的标准库函数标准库函数供用户使用。供用户使用。 调用各种库函数时,在程序首部用调用各种库函数时,在程序首部用#include#include预预处理命令包含函数所在的库文件。处理命令包含函数所在的库文件。在程序中调用数学函数必须包含数学头文件:在程序中调用数学函数必须包含数学头文件: #include #include 常用的数学函数有:常用的数学函数有: 初等数学函数、三角函数、双曲线函数等。初等数学函数、三角函数、双曲线函数等。 如,fabs(xfabs(x) ),sqrt(xsqrt(x) ),pow(x,ypow(x,y) ) 等。等。 2.函数调用函数调用(calling)及函数调用语句及函数调用

温馨提示

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

评论

0/150

提交评论