第三章C语言基本语句和顺序结构程序设计 1、要求熟练掌握流程控制语旬、衰达式语旬和复合 语旬的运用; 2、认识函数调用语旬; 3、要求熟悉格式揄入与输出相关语旬的远用方法 熟练拯用字符数据入与输出的语旬; 4、学会顺序结构程序的综合运用
• 1、要求熟练掌握流程控制语句、表达式语句和复合 语句的运用; • 2、认识函数调用语句; • 3、要求熟悉格式输入与输出相关语句的运用方法, 熟练运用字符数据输入与输出的语句; • 4、学会顺序结构程序的综合运用。 第三章 C语言基本语句和顺序结构程序设计
3.1G语言基本语句简介 C语句以“;”作分隔符,编译后产生机器指令 c语句分类 表达式语句:表达式加分号构成文「if()-ese 空语句: switch for(- 程序控制语句(9种) 循环| while() °函数调用语句 do-while( 如tt+i; continue 3 break func(; 助控制 printf(“Hell!n”); goto return
• 3.1 C语言基本语句简介 • C语句:以“;”作分隔符,编译后产生机器指令。 – C语句分类 • 表达式语句:表达式加分号构成。 • 空语句: ; • 程序控制语句(9种) • 函数调用语句 if( )~else~ switch for( )~ while( )~ do~while( ) continue break goto return 分支 循环 辅助控制 如 t=t+i; a=3; func( ); printf(“Hello!\n”);
●复合语句:用{}括起来的一组语句 >一般形式:{[数据说明部分;] 执行语句部分; 说明: “}"后不加分号 语法上和单一语句相同 复合语句可嵌套 例 Rz=x+yi t=z/100; pritnf(%/of ti
• 复合语句:用 { }括起来的一组语句 ➢一般形式: { [数据说明部分;] 执行语句部分; } ➢说明: ❖“}”后不加分号 ❖语法上和单一语句相同 ❖复合语句可嵌套 例: {z=x+y; t=z/100; pritnf(“%f”,t);}
3.2数据输入与输出 ▲0语言无/0语句,1/0操作由函数实现 # inc lude或者排 include“ stdio.h 、格式输出函数 pr intf( 格式: printf(“格式控制串”,输出参数表) 功能:按指定格式向显示器输出数据 输出参数表:要输出的数据(可以没有,有多个时以“” 分隔) 格式控制串:包含两种信息 格式说明:%[修饰符]格式字符,用于指定输出格式 普通字符或转义序列:原样输出 格式字符
格式:printf(“格式控制串”,输出参数表) 功能:按指定格式向显示器输出数据 1、格式输出函数printf() • 输出参数表:要输出的数据(可以没有,有多个时以“ , ” 分隔) • 格式控制串:包含两种信息 – 格式说明:%[修饰符]格式字符,用于指定输出格式 – 普通字符或转义序列:原样输出 • 格式字符 3.2 数据输入与输出 C语言无I/O语句,I/O操作由函数实现 #include 或者#include “stdio.h
格式字符 d十进制整数 int a=567;printf("%d",a); 567 xX十六进制无符号整数nta255prnt%x”,2 ff 0八进制整数 int a=65; printf("oo0,a); 101 无符号十进制整数 int a=567;printf(" oou, a); 567 产符 单一字 S字符串/例 int a=3. b=4 BC printf(%d %d\n,, a, b) e,E指数形式 890e+02 r小数形式买 printf(“a=%d,b=%dⅦn”,a,b); 89000 e和仲中较短一种 float a=567789;printf("oog, a); 567 789 %%百分号本身 pin(“%%输出结果:34 a=3,b=4 说明:格式字符一般用小写 格式字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式字符与输出项类型不一致自动按指定格式输出
d x,X o u c s e,E f g %% 格式字符: 十六进制无符号整数 无符号十进制整数 十进制整数 指数形式浮点小数 单一字符 字符串 八进制整数 小数形式浮点小数 e和f中较短一种 百分号本身 int a=567;printf ( “%d”,a); int a=255;printf(“%x”,a); int a=65;printf(“%o”,a); int a=567;printf(“%u”,a); char a=65;printf(“%c”,a); printf(“%s”,“ABC”); float a=567.789;printf(“%e”,a); float a=567.789;printf(“%f”,a); float a=567.789;printf(“%g”,a); printf(“%%”); 567 ff 101 567 A ABC 5.677890e+02 567.789000 567.789 % – 说明:格式字符一般用小写 ❖ 格式字符与输出项个数应相同,按先后顺序一一对应 ❖ 输出转换:格式字符与输出项类型不一致,自动按指定格式输出 例 int a=3,b=4; printf(“%d %d\n”,a,b); printf(“a=%d , b=%d\n”,a,b); 输出结果: 3 4 a=3, b=4
格式控制符的完整格式 1、格式输出函数 printf0 格式: printf(“格式控制串”,输出参数表) 功能:按指定格式向显示器输出数据 %[0mnlh1 指定输出的数据类型 格式说明 指定空位填0 输出长度的修正 引导符 指定输出域宽及精度 指定左对齐输出
格式控制符的完整格式 格式说明 引导符 指定输出域宽及精度 指定空位填0 输出长度的修正 指定输出的数据类型 指定左对齐输出 • % [— 0 m.n l/h] 格式:printf(“格式控制串”,输出参数表) 功能:按指定格式向显示器输出数据 1、格式输出函数printf()
附加格式说明符(修饰符) 修饰符 能 m諭出教据域数据长度<m左补空格;卺则按窦际输出 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位教 输出数据在域内左对齐(峡省右对齐) 指定在有符号数的正数前显示正号(+) +0# 输出数值时指定左面不使用的空位置自动填 在八进制和十六进制数前显示前导0 雀d,o,x,u媮,指定输出榜度为l0ng 在e,f,g前,指定输出精度为 double
• 附加格式说明符(修饰符) .n 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 修饰符 功 能 m 输出数据域宽,数据长度<m,左补空格;否则按实际输出 - 输出数据在域内左对齐(缺省右对齐) 指定在有符号数的正数前显示正号(+) + 输出数值时指定左面不使用的空位置自动填 0 0 在八进制和十六进制数前显示前导0, 0x # 在d,o,x,u前,指定输出精度为long 型 在e,f,g前,指定输出精度为double 型 l
例inta=1234; float f=123.456; char ch=a; printf(%8d,%2dⅦn”,a,a); printf(“%f,%8f,%8.1f,%.2f,%,2eln”,f,f,f,f,; printf(%3cmn”,ch); 运行 1234,1234 结果:123456000,123456000235,12346,123e+02 a 例 char a=“Hell, world! printf("osn%15sIn%10.5sIn%2.5sn%0.3sIn, a, a, a, a, a); 运行结果:Hell, world! Hello world! Hello Hello Hel
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch); 运行 1234,1234 结果: 123.456000,123.456000,123.5,123.46,1.23e+02 a 例 char a[]=“Hello,world!” printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a); 运行结果:Hello,world! Hello,world! Hello Hello Hel
例 例inta=1234; float f=123456; char cllHello, world! printf("%8d, %-8dn", a, a); printf(o10.2f,%o-101fn", f, f= printi%10.5%-103smn”,c,C); 运行结果:1234,1234 123.46,1235 Hello. hel
例 int a=1234; float f=123.456; char c[]=“Hello,world!”; printf(“%8d,%-8d\n”,a,a); printf(“%10.2f,%-10.1f\n”,f,f); printf(“%10.5s,%-10.3s\n”,c,c); 运行结果: 1234,1234 123.46,123.5 Hello,Hel 例 -
例inta=1234 例0、+ float f123. 456 printf(e08dn”,a);1001234 prin“%010.2fn”,;/00034 printi(%0+8dn”,a);/00+1234 printi(“0+10.2fn”,n;/000+123.56 例#「例inta=123; printi(%0,%#0,%X,%#Ⅺn”,a2a,a,a); 7BOX7B
例 int a=1234; float f=123.456; printf(“%08d\n”,a); printf(“%010.2f\n”,f); printf(“%0+8d\n”,a); printf(“0+10.2f\n”,f); 例 0 、+ 例 int a=123; printf(“%o,%#o,%X,%#X\n”,a,a,a,a); 例 # //00001234 //0000123.46 //000+1234 //000+123.56 //173,0173,7B,0X7B