1、2024/8/11 周日1 第三章第三章简单简单 C 程程 序序 设设 计计2024/8/11 周日23.1 C 语句语句1、控制语句、控制语句 if()else、for()、while()、do while continue、break、switch、goto、return2、函数调用语句、函数调用语句由一次函数调用加一个分号构成由一次函数调用加一个分号构成如:如:printf(“);函数函数分号分号2024/8/11 周日3表达式末尾加分号表达式末尾加分号如:如:A=9A=9;4、空语句、空语句 仅有一个分号的语句仅有一个分号的语句如:如:;3、表达式语句、表达式语句 5、复合语句、复合语
2、句 用一对用一对 号括起的语句组号括起的语句组如:如:z=x+y;t=z/100;printf(“%f”,f);2024/8/11 周日4int a=3,b=3,c=3;3.2 变量赋初值变量赋初值定义时,变量的初始化定义时,变量的初始化例:例:int a=3;float b=45.6;int a,b,c=5;int a=b=c=3;2024/8/11 周日53.3 基本输入输出的实现基本输入输出的实现一、数据输出一、数据输出字符输出、格式输出字符输出、格式输出1、字符输出函数、字符输出函数作用:向终端输出一个字符。作用:向终端输出一个字符。格式:格式:其中:其中:C 可为字符型可为字符型/整
3、型的常、变量整型的常、变量 表达式。表达式。putchar(c);2024/8/11 周日6#include /*必须使用该命令必须使用该命令*/main()int a=98;char b=a;putchar(a);putchar(b);putchar(65+32);putchar(n);例例1:运行结果:运行结果:baan2024/8/11 周日7例例2:#include main()char a=B,b=o,c=k;putchar(a);putchar(b);putchar(b);putchar(c);putchar(t);putchar(a);putchar(b);putchar(n);
4、putchar(b);putchar(c);运行结果:运行结果:Book Book2024/8/11 周日82、格式输出函数、格式输出函数作用:向终端输出若干个任意类型的数据。作用:向终端输出若干个任意类型的数据。格式:格式:printf(“格式控制字符格式控制字符”,输出表列,输出表列);说明:说明:(1)格式控制字符用双引号括起来。)格式控制字符用双引号括起来。三种字符:三种字符:格式说明格式说明%+格式字符格式字符转义字符转义字符 +字符字符普通字符普通字符 原样输出的字符原样输出的字符2024/8/11 周日9(2)输出表列中各量用逗号分开,常量、变量、)输出表列中各量用逗号分开,常量
5、、变量、表达式均可。表达式均可。例:例:(1)printf(“%d”,b);(2)printf(“%d,%d,%d”,a,b,c);(3)printf(“%d,%d,%d”,(a,b,c),b,a);(4)main()int a=3,b=4;printf(“na=%d b=%d”,a,b);2024/8/11 周日103、格式控制字符、格式控制字符(1)一般格式:)一般格式:说明:说明:(a)类型指输出数据项的类型类型指输出数据项的类型(p54)(b)标志字符为:标志字符为:-、+、#-输出结果左对齐输出结果左对齐+输出符号(输出符号(+、-)#对对o、x类型输出时加前缀类型输出时加前缀202
6、4/8/11 周日11(c)用十进制整数表示输出的最小位数用十进制整数表示输出的最小位数(d)精度格式以精度格式以“.”开头,后跟十进制整数开头,后跟十进制整数输出数值:表示小数的位数输出数值:表示小数的位数输出字符:表示输出字符的个数输出字符:表示输出字符的个数(e)长度格式符为长度格式符为h、l两种两种 h 短整型量输出短整型量输出 l 长整型量输出长整型量输出2024/8/11 周日124、使用、使用printf()函数的几点说明:函数的几点说明:(1)格式字符要小写。)格式字符要小写。(2)可在格式控制字符串中包含转义字符。)可在格式控制字符串中包含转义字符。(3)格式控制字符串中可插
7、入附加字符。)格式控制字符串中可插入附加字符。(4)若输出字符)若输出字符“%”,则应在字符串中用,则应在字符串中用 连续两个连续两个“%”号。号。例例1:设设a=123,b=12345 则:则:printf(“%4d,%4d”,a,b);输出为:输出为:_123,123452024/8/11 周日13例例2:设设 long a=135790;则则 printf(“%ld,%d”,a,a);输出为:输出为:135790,4718例例3:设有以下语句设有以下语句 printf(“%3s,%7.2s,%.4s,%-5.3s”,”china”,”china”,”china”,”china”);输出为
8、:输出为:China,_ch,chin,chi_2024/8/11 周日14例例4:设设 x=111111.123,y=222222.321,则有如下语句:,则有如下语句:printf(“%10.2f,%e”,x+y,x+y);输出为:输出为:333333.45,3.33333e+05例例5:printf(“%f%”,1.0/3);输出为:输出为:0.333333%2024/8/11 周日15例例6:读程序,写运行结果。:读程序,写运行结果。main()char c1=a,c2=b,c3=cc4=101,c5=116;printf(“a%cb%ct%cabcn”,c1,c2,c3);print
9、f(“tb%c%c”,c4,c5);运行结果:运行结果:aabb ccabc AN2024/8/11 周日16二、数据输入二、数据输入字符输入、格式输入字符输入、格式输入1、字符输入函数、字符输入函数作用:接收由键盘输入的一个字符。作用:接收由键盘输入的一个字符。格式:格式:getchar();如:如:char ch;ch=getchar();2024/8/11 周日17使用使用getchar()函数需要注意:函数需要注意:(1)输入数字按字符处理,输入多个字符)输入数字按字符处理,输入多个字符 仅接收第一个字符。仅接收第一个字符。(2)使用)使用getchar()函数时,必须包含函数时,必须
10、包含 “stdio.h”文件文件(3)函数执行时暂停程序运行,等待用)函数执行时暂停程序运行,等待用 户输入数据户输入数据2024/8/11 周日182、格式输入函数、格式输入函数作用:由终端输入若干个任意类型的数据,作用:由终端输入若干个任意类型的数据,送给相应的变量。送给相应的变量。格式:格式:scanf(“格式控制字符格式控制字符”,地址表列,地址表列);说明:说明:(1)格式控制字符中不可)格式控制字符中不可显示显示非格式字符。非格式字符。(2)地址表列中要取出各变量的地址。)地址表列中要取出各变量的地址。(3)注意区别变量值与变量地址)注意区别变量值与变量地址2024/8/11 周日
11、193、格式控制字符、格式控制字符(1)一般格式:)一般格式:说明:说明:(a)类型指输入数据的类型类型指输入数据的类型(p56)(b)”*”字符表示读入数据后,不赋予变量。字符表示读入数据后,不赋予变量。例如:例如:scanf(“%d%*d%d”,&a,&b);输入:输入:1 2 3 则则132024/8/11 周日20(c)输入数据的宽度用十进制整数指定。输入数据的宽度用十进制整数指定。如:如:scanf(“%3d”,&a);输入:输入:12345仅将仅将123赋予赋予a又如:又如:scanf(“%4d%4d”,&a,&b);输入:输入:123456781234赋予赋予a,5678赋予赋予
12、b(d)长度格式符为长度格式符为h、l两种两种2024/8/11 周日214、使用、使用scanf()函数注意事项:函数注意事项:(1)scanf()函数中没有精度控制。函数中没有精度控制。如:如:scanf(“%4.2f”,&a);(2)scanf()函数中一定给出变量地址。函数中一定给出变量地址。(3)输入多个)输入多个数值型数值型数据时,若格式控制串中没数据时,若格式控制串中没 有非格式字符,则可用空格、有非格式字符,则可用空格、TAB键、回车键、回车 键作为数据间的分隔符。键作为数据间的分隔符。(4)输入)输入字符型字符型数据时,若格式控制串中没有非数据时,若格式控制串中没有非 格式字
13、符,则所有输入字符均为有效字符。格式字符,则所有输入字符均为有效字符。2024/8/11 周日22如:如:scanf(“%c%c%c”,&a,&b,&c);printf(“a=%c,b=%c,c=%c”,a,b,c);输入:输入:A,B,C输出:输出:a=A,b=,c=B(5)若格式控制串中有非格式字符,则输入时)若格式控制串中有非格式字符,则输入时 也要输入相同的字符。也要输入相同的字符。2024/8/11 周日23(6)通常输入、输出格式符不相符,输出通常输入、输出格式符不相符,输出 数据错误。数据错误。5、应用举例:、应用举例:例:例:scanf(“%d,%d,%d”,&a,&b,&c);输入应为:输入应为:5,6,7 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入应为:输入应为:a=5,b=6,c=72024/8/11 周日24第一章:1.2、1.3、1.5第二章:2.2、2.3第三章:3.2、3.3、3.4、3.5 作作 业业