0谭浩强C语言第四章 简单程序

合集下载

谭浩强C语言第4章

谭浩强C语言第4章

长度: 长度: 长度格式符为h,l两种, 表示按短整型量输出, 长度格式符为h,l两种,h表示按短整型量输出, h,l两种 表示按长整型量输出. l表示按长整型量输出.
练习: 练习: int a=1234; b=int b=-1; float f=123.456; ch='a ; char ch= a'; printf("%8d,%2d\n",a,a); printf( %8d,%2d\ ,a,a); %8d,%2d printf("%#x %#x",b); printf( %#x ,b); printf("%f,%8f,%8.1f,%.2f,%.2e %f,%8f,%8.1f,%.2f,%.2e\ ,f,f,f,f,f); printf( %f,%8f,%8.1f,%.2f,%.2e\n",f,f,f,f,f); printf("%3c %3c\ ,ch); printf( %3c\n",ch); printf("%2.3s %2.3s", abcdefg abcdefg"); printf( %2.3s ,"abcdefg ); 上机时验证自己的答案. 上机时验证自己的答案.
scanf函数 scanf函数 按指定格式从键盘读入数据, 按指定格式从键盘读入数据,存入地址表指定的存储 地址中,并按回车键结束.如 地址中,并按回车键结束. scanf("%d%d",&i,&j); scanf可以使用的格式字符和printf的一样 scanf可以使用的格式字符和printf的一样 可以使用的格式字符和printf scanf一般用空格,TAB或回车键作为分隔符 scanf一般用空格,TAB或回车键作为分隔符 一般用空格 scanf在遇到分隔符或非法输入时认为该数据结束 scanf在遇到分隔符或非法输入时认为该数据结束 scanf函数中的后面部分应当是变量地址 scanf函数中的后面部分应当是变量地址

谭浩强版本C语言课后习题第四章

谭浩强版本C语言课后习题第四章
法2:
1 #include<stdio.h> 2 int main() 3{ 4 int a,b,c,temp,max; 5 scanf("%d,%d,%d",&a,&b,&c); 6 temp=(a>b)?a:b; 7 max=(temp>c)?temp:c; 8 printf("最大的是:%d\n",max); 9 return 0; 10 }
31 printf("\n反序数字为\n");
32 printf("%d%d%d%d%d",indiv,ten,hundred,thousand,ten_thousand);
33 break;
34 case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
35 printf("\n反序数字为\n");
36 printf("%d%d%d%d",indiv,ten,hundred,thousand);
37 break;
38 case 3:printf("%d,%d,%d",hundred,ten,indiv);
39 printf("\n反序数字为\n");
8、
1 #include<stdio.h> 2 int main() 3{ 4 float score; 5 char grad; 6 printf("enter score:"); 7 scanf("%f",&score); 8 while(score>100||score<0) 9 {printf("enter again:"); 10 scanf("%f",&score); 11 } 12 switch((int)(score/10)) 13 {case 10: 14 case 9:grad='A';break; 15 case 8:grad='B';break; 16 case 7:grad='C';break; 17 case 6:grad='B';break; 18 case 5: 19 case 4: 20 case 3: 21 case 2: 22 case 1:

清华大学C语言谭浩强第4章精品文档

清华大学C语言谭浩强第4章精品文档

if(a[i]<min)
/* 如果当前数小于最小数 */
{ min=a[i];
/* 记录新的最小数和下标 */
min_m=i;
x=a[min_m]; /* 交换最小数和第m个数的位置 */
a[min_m]=a[m]; a[m]=x; } for(i=0;i<n;i++)
printf("%d ",a[i]); printf("\n"); }
• 第1步、在m个数中找出最小数,然后和第一个数交换, 前1个数已经排好序。
• 第2步、在m-1个数中找出最小数,然后和第2个数交 换,前2个数已经排好序。
• …… • 第k步、在m-k+1个数中找出最小数,然后和第k个数
交换,前k个数已经排好序。 • 这样一值到第m-1步结束。
#include<stdio.h>
4.3.1二维数组的定义
• 1. 二维数组定义的一般形式 • 2. 对二维数组的说明 • 3. 多维数组的扩展
1.二维数组定义的一般形式
• 二维数组定义的一般形式为:
类型说明符 数组名[行数][列数]
• 其中“行数”表示第一维下标的长度,“列数” 则表示第二维下标的长度。
• 例如:
int m[4][5];
• 在定义数组的同时给数组元素赋予初值称为数组 的初始化。
• 初始化赋值的一般形式为:
类型说明符 数组名[常量表达式]={数据值1, 数据值2,…,数据值n};
• 其中在{ }中的各数据值即为各元素的初值,各值 之间用逗号间隔。
• C语言对数组的初始化赋值还有以下几点规定: (1)可以只给部分元素赋初值。没有赋初值的元素:

谭浩强 c语言程序设计(第四章)

谭浩强 c语言程序设计(第四章)
格式: scanf("格式控制串 格式控制串" 地址表) 格式: scanf( 格式控制串",地址表) 功能:按指定格式从键盘读入数据, 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中, 存储单元中,并按回车键结束 地址表:变量的地址,常用取地址运算符& 地址表:变量的地址, 地址表 格式字符 格式字符:d,i,o,x,u,c,s,f,e 格式字符
例4.1 main( )
{ int a; ★ b 的 用 作 { int b; 域只在内 层大 号 括 b=3; //复合语句(分程序) 复合语句(分程序) 这样一个 printf("%d\n",a+b); 局部 } 是复合语句中定义的, 由于 b是复合语句中定义的,在 是复合语句中定义的 b=1; } 它之外使用是错误的
例 scanf("%d",&a); 输入: 输入:10
a=10
例 scanf("%x",&a); 输入: 输入:11
a=17
16
Hale Waihona Puke 第四章 顺序程序设计附加格式说明符(修饰符)
修饰符 功 能 h 用于d,o,x前 指定输入为short型整数 用于d,o,x前,指定输入为short型整数 d,o,x short l m * 用于d,o,x前 指定输入为long型整数 用于d,o,x前,指定输入为long型整数 d,o,x long 用于e,f前 指定输入为double型实数 用于e,f前,指定输入为double型实数 e,f double 指定输入数据宽度,遇空格或不可转换字符则结束 指定输入数据宽度, 抑制符, 抑制符,指定输入项读入后不赋给变量
2

C语言第4章(谭浩强)

C语言第4章(谭浩强)
26
总结:
用于长整型整数,可加在格式符 d,o,x,u 前面; m 代表数据的最小宽度,超出就按原数据 宽度输出; n 对于实数,代表小数的位数;对于字符 串,代表截取的字符个数; - 输出的字符或数字向左靠,右边补空格。 l
注意:
(1)除了xX,eE,gG以外,都不可以使用大写,只可以用 小写表示。 (2)可以在printf函数中的格式控制字符串中包含转义字 符。 (3)格式符号以%开头,以上述9种格式符之一结束。 如:printf(“c=%cf=%fs=%s”,c,f,s);
25
总结:
%d 以带符号十进制形式输出整数。 %f 以小数形式输出单、双精度数,有6 位小数。 %c 以字符形式输出,只有一个字符。 %o 以无符号的八进制形式输出整数。 %x 以无符号十六进制形式输出整数。
%u 以无符号十进制形式输出整数。 %s 以字符串形式输出。 %e 以标准指数形式输出单、双精度数。 %g 选取%f或%e格式中输出较短的一种 格式输出,不输出0。
14
§4.5 格式输入与输出
一、printf函数(格式输出函数) 这个函数我们在前面见过很多 次了。它的作用是向终端输出任意 类型的数据。 printf() 函数的使用格式为:
printf(格式控制,输出表列);
1、格式控制符: 是用双引号括起来的字符串, 包括两种信息:
15
1)普通字符进行原样输出:如空格、逗号 printf(“this is my book!”); printf(“x=%d,y=%d”,x,y);
<stdio.h>”
11
例如:
#include <stdio.h> main() { char a , b , c ; a = ‟B‟ ; b = ‟O‟ ; c = ‟Y‟ ; putchar (a) ; putchar (b) ; putchar (c) ; }

谭浩强C程序设计四PPT课件

谭浩强C程序设计四PPT课件
第四章 最简单的ห้องสมุดไป่ตู้程序设计 --顺序程序设计
教学要求: 1理解数据输入与输出操作和格式 2掌握输入与输出 3掌握用顺序结构来进行程序设计
教学内容: 4.1C语句概述 4.2赋值语句 4.3数据输出 4.4数据输入 4.5程序举例
高级语言程序设计
章顺序程序设计
第四
4.1 C语句概述
C语句作用:用来向计算机系统发出 操作指令
输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:包含两种信息
格式说明: %[修饰符]格式字符 ,用于指定输出格式 普通字符或转义序列:原样输出 格式字符
高级语言程序设计
格式字符:
章顺序程序设计
第四
d,i 十进制整数
int a=-1;printf ( “%d”,a);
-1
x,X 十六进制无符号整数int a=255;printf(“%x”,a);
ff
o u c s e,E f g %%
指八小e不百字单和例数进数带分符一f中形制形符号串字较式无式号本符ipp短浮符浮十身nrr一tii点号点进nn种例输制小整小att例=ff整数数数出3((,““数结bfffmcill=a%iilphan果oonnop4=draiaatttar;%ir例ttntip:nd%aan(输arptadaa==atf)==ir==,\6-=f(6出3ni355515(n“m566,tn;;6“b”;a77pp结7bft%p=i..rr.%=(f4sr%,77nii7%”果i4“(88dann8”(输n{};“99tt9\,),t:;;%ff;)nb“f出pp((p;da()”rr““ruu=A“;ii结iBnp=%%ann,%%nC%sr-dd=ttouta果”cii1ff\3””f,”{}((gn(,n,)b:““,,“nt”;,)aaefabb%%;))%uu)d(=,=fe;;gnp=;”””%a4”sr-d,ii1,,,iub\aagnan=)n)))ntt%;”;;;efdd(\,5”una.55="6,6iu6676,15Ab77n=7A05B5u%)..8t%13C5);7795d3;880\995eun0+;0="0126,5u5)

C程序设计(第四版)(谭浩强编)教程-第4章_选择结构程序设计



==
!=
等于
不等于
a==b
x!=0
低 (赋值运算符)
Lecture Notes
12
Liu Yong, USTC © 2010
关系表达式
用关系运算符将两个表达式连接起来 a+b>c+d, (a=3)>x
注意区分等于(==)和赋值运算符(=)

a=b, a==b
关系表达式的值是逻辑值—“真”或“假”
if(exp1)
语句1
else
语句1}
else
语句2
Lecture Notes 8
语句2
Liu Yong, USTC © 2010
例:
#include <stdio.h>
int main() {
int result;
printf(“input your score:”); scanf(“%d”,&result);
case 6: printf("Sat.\n"); break;
default:printf("Sun.\n"); }
Lecture Notes 27 Liu Yong, USTC © 2010
Lecture Notes
18
Liu Yong, USTC © 2010
逻辑表达式求值特点
逻辑表达式中的运算符,只有会影响表
达式求值时,才会执行
a&&b&&c a||b||c
若a为“假”,则不再判断b和c 若a为“真”,则不再判断b和c
举例,(m=a>b)&&(n=c>d)

C语言(谭浩强)第4章模块化程序设计

(2) 通过给变量定义不同的存储类别,控制模 块内部及外部的信息交换。
(3) 具有编译预处理功能,为程序的调试、移 植提供了方便,也支持了模块化程序设计。
整理ppt
2
4.1函 数
4.1.1 设计C语言程序就是设计函数
无论涉及的问题是复杂还是简单,规模是大 还是小,用C语言设计程序,任务只有一种,就 是编写函数,至少也要编写一个main函数。执行C 程序也就是执行相应的main函数。即从main函数 的第一个前花括号开始,依次执行后面的语句, 直到最后的后花括号为止。
• 纯粹计算型函数,如squt()和sin()。这类函数将返回一 个计算结果。
• 完成一项具体工作,返回完成的成败。如printf()执行成 功时,返回显示的字节数;失败时,返回一个负整数。
• 只执行一个过程的函数,不产生返回值,其类型应定义 为void。
C99规定,对于非void类型的函数,必须使用有返回

float add (unsigned int a, unsigned int b)

printf(″a=%u, b=%u\n″, a,b);
return (a+b);

整理ppt
16
2. 传值调用的虚实结合过程
程序进行编译时,并不为形式参数分配存储 空间。只有在被调用时,形式参数才临时地占有 存储空间,其过程如下:
int func(int x)
{
x=5;
return x+3;
}
int main(void)
{
printf("x=%d\n",x);
return 0;
}
这个程序企图在main函数中使用func函数中的 变量x。编译这个程序,系统将给出如下编译错误:

C程序设计第四版谭浩强_习题&例题第4章

第4章例4.1#include<stdio.h>#include<math.h>int main(){double a,b,c,disc,p,q,x1,x2;scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0) printf("This equetion hasn't real roots\n");else{p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("real root:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);}return 0;}例4.2#include<stdio.h>int main(){float a,b,t;scanf("%f%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f\n",a,b);return 0;}例4.3#include<stdio.h>int main(){float a,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);return 0;}例4.4#include<stdio.h>int main(){char ch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?ch+32:ch;printf("%c\n",ch);return 0;}例4.5#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x<0)y=-1;elseif(x==0) y=0;else y=1;printf("x=%d,y=%d\n",x,y);return 0;}#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x>=0)if (x>0) y=1;else y=0;else y=-1;printf("x=%d,y=%d\n",x,y);return 0;}例4.6#include<stdio.h>int main(){char grade;scanf("%c",&grade);printf("Your score:");switch(grade){case 'A':printf("85~100\n");break;case 'B':printf("70~84\n");break;case 'C':printf("60~69\n");break;case 'D':printf("<60\n");break;default:printf("enter data error\n");}return 0;}例4.7#include<stdio.h>int main(){void action1(int,int),action2(int,int);char ch;int a=15,b=23;ch=getchar();switch(ch){case 'a':case 'A':action1(a,b);break;case 'b':case 'B':action2(a,b);break;default:putchar('\a');}return 0;}void action1(int x,int y){printf("x+y=%d\n",x+y);}void action2(int x,int y){printf("x*y=%d\n",x*y);}例4.8程序1#include<stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}程序2#include<stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4!=0)leap=0;else if(year%100!=0)leap=1;else if(year%400!=0)leap=0;else leap=1;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}程序3#include<stdio.h>int main(){int year,leap;printf("enter year:");scanf("%d",&year);if(year%4==0&&year%100!=0||year%400==0) leap=1;else leap=0;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}程序4#include<stdio.h>#include<iostream.h>int main(){int year;bool leap;printf("enter year:");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=true;elseleap=false;}elseleap=true;}elseleap=false;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("aleap year!\n");return 0;}例4.9#include<stdio.h>#include<math.h>int main(){double a,b,c,disc,x1,x2,realpart,imagpart;scanf("%lf,%lf,%lf",&a,&b,&c);printf("The equation ");if(fabs(a)<=1e-6)printf("is not a quadratic\n");else{disc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("has two equal roots:%8.4f\n",-b/(2*a));else if(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2);}else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf("has conplex roots:%8.4f\n");printf("%8.4f+%8.4fi\n",realpart,imagpart);printf("%8.4f-%8.4fi\n",realpart,imagpart);}}return 0;}例4.10#include<stdio.h>int main(){int c,s;float p,w,d,f;printf("please enter price,weight,discount:");scanf("%f,%f,%d",&p,&w,&s);if(s>=3000) c=12;else c=s/250;switch(c){case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 9:case 10:case 11:d=10;break;case 12:d=15;break;}f=p*w*s*(1-d/100);printf("freight=%10.2f\n",f);return 0;}习题1.算术运算符:+正号2 -负号2 *乘法3 /除法3 %求余3 +加法4 -减法4 ++自增2 --自减2用算术运算符和括号将运算对象(也成操作数)连接起来的、符合C语法规则的式子,称为C算术表达式。

C语言程序设计-谭浩强-第4章 顺序结构程序设计


程序运行结果为: x=3, y=2 x=2, y=2 x=1, y=2
5/38
4.2 字符数据的输入与输出
C语言本身不提供输入/输出语句。 C语言的输入/输出功能由C语言的标准I/O库 函数提供。 #include <stdio.h>
C语言的输入/输出库函数名称不是保留字 (或称关键字)。如printf,scanf。
第4章 顺序结构程序设计
4.1 4.2 4.3 4.4 C语言的基本语句 字符数据的输入与输出 格式输入与输出 顺序程序设计举例
1/38
4.1 C语言的基本语句
C程序结构
C程序 源程序文件1 源程序文件2 源程序文件n
预处理命令
数据声明
函数首部
函数1
函数体
函数n
数据声明
执行语句
• C是模块化程序设计语言
1 0 0 . 76 5 6 1 00 . 0 1 . 0 0 76 5 1 . 0 0 76 5
4 7 4 4
3 6 e 3
2 5 +0 02 2 1 e +0 0 2
19/38
例 m.n
例 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);
例:
#include <stdio.h> /*说明函数getchar的原型包含在哪个文件中*/ void main() 从键盘输入字符, 该字 { int a; 符的ASCII编码值赋给 char b; a a=getchar(); b=getchar(); printf("a=%c\ta=%d\tb=%c\tb=%d\n",a,a,b,b); } 程序运行情况如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

头文 件
C程序设计(第三版) 程序设计(第三版) 程序设计
4.4 字符数据的输入输出
(一)字符输出函数 一般形式:putchar( 一般形式:putchar(c) 函数作用: 函数作用:向终端输出一个字符 字符型变量 整型变量
C程序设计(第三版) 程序设计(第三版) 程序设计
4.4 字符数据的输入输出
%d: %d:以带符号的十进制形式输出整数 %o: %o:以八进制无符号形式输出整数 %x: %x:以十六进制无符号形式输出整数 continued…… To be continued
C程序设计(第三版) 程序设计(第三版) 程序设计
4.5 格式输入与输出
%u: %u:以无符号十进制形式输出整数 %c:以字符形式输出, %c:以字符形式输出,只输出一个字符 %s:输出字符串 %s: %f:以小数形式输出单,双精度数, %f:以小数形式输出单,双精度数,隐含输出六位小数 %e: %e:以指数形式输出实数 %g:选用%f %e格式中输出宽度较短的一种格式 %f或 格式中输出宽度较短的一种格式, %g:选用%f或%e格式中输出宽度较短的一种格式,不输 出无意义的0 出无意义的0
函数n
函数首部
函数体
数据声明
C程序设计(第三版) 程序设计(第三版) 程序设计
执行语句
4.1 C语句概述
一个c程序可以有若干个源程序文件组成 一个c 一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成 一个函数有函数首部和函数体组成 函数体由数据声明和执行语句组成 C语句分为
5类 类
控制语句 函数调用语句 表达式语句 空语句 复合语句
C程序设计(第三版) 程序设计(第三版) 程序设计
4.2 赋值语句
问题: 问题:c语言中的赋值语句于其他高级语言的赋值语句有 什么不同点? 什么不同点? 1:C语言中的赋值号“=”是一个运算符,在其他大多数 语言中的赋值号“=”是一个运算符, 是一个运算符 语言中赋值号不是运算。 语言中赋值号不是运算。 2:其他大多数高级语言没有“赋值表达式”这一概念。 其他大多数高级语言没有“赋值表达式”这一概念。
第四章
主要内容
C语句概述 4.1 C语句概述 4.2 赋值语句 数据输入输出的概念及在c 4.3 数据输入输出的概念及在c语言中的实现 4.4 字符数据的输入输出 4.5 格式输入与输出 4.6 顺序结构程序设计举例
4.1 C语句概述
C程序
源程序文件1
源程序文件2
源程序文件n
预处理命令
数据声明
函数1
运行程序: 运行程序:
从键盘输入字符‘ 从键盘输入字符‘a’ Enter键 按Enter键 屏幕上将显示输出的字符‘ 屏幕上将显示输出的字符‘a’ a a
C程序设计(第三版) 程序设计(第三版) 程序设计
4.5 格式输入与输出
(一)格式输出函数 函数作用:向终端(或系统隐含指定的输出设备)输出若干 函数作用:向终端(或系统隐含指定的输出设备)输出若干 的数据。 个任意类型的数据 个任意类型的数据。 一般格式:printf( 格式控制,输出表列) 一般格式:printf( 格式控制,输出表列)
C程序设计(第三版) 程序设计(第三版) 程序设计
4.1 C语句概述
(二)函数调用语句 有一个函数调用加一个分号构成一个语句
Printf(“This is a C statement.”);
C程序设计(第三版) 程序设计(第三版) 程序设计
4.1 C语句概述
(三)表达式语句 有一个表达式加一个分号构成一个语句
C程序设计(第三版) 程序设计(第三版) 程序设计
4.5 格式输入与输出
(1) d格式符。用来输出十进制整数。 格式符。用来输出十进制整数。
几种用法: 几种用法: %d:按十进制整型数据的实际长度输出。 ① %d:按十进制整型数据的实际长度输出。 %md: 为指定的输出字段的宽度。如果数据的位数小于m, ② %md:m为指定的输出字段的宽度。如果数据的位数小于m, 则左端补以空格,若大于m,则按实际位数输出。 m,则按实际位数输出 则左端补以空格,若大于m,则按实际位数输出。 printf(″ d,%4 ,a,b); 例: printf(″%4d,%4d″,a,b); a=123,d=12345 123,d=12345, 若a=123,d=12345,则输出结果为 123, 123,12345 %ld:输出长整型数据。 ③ %ld:输出长整型数据。 a=135790 135790; 定义a为长整型变量* 例: long a=135790;/* 定义a为长整型变量*/ printf(″%ld″ printf(″%ld″,a);
赋值表达式
分号
表达式语句
a = 3 ;
C程序设计(第三版) 程序设计(第三版) 程序设计
4.1 C语句概述
(四)空语句 只有一个分号的语句
(循环体
C程序设计(第三版) 程序设计(第三版) 程序设计
4.1 C语句概述
(五)复合语句 用一对{}括起来的语句 用一对{}括起来的语句 {}
C程序设计(第三版) 程序设计(第三版) 程序设计
4.1 C语句概述
(一)控制语句 完成一定的控制功能
1 if() ~else 条件语句 条件语句 6 break 间断语句 2 for()~ 循环语句 循环语句 7 switch() 开关语句 3 while()~循环语句 循环语句 8 goto 转向语句 循环 4 do ~while();循环语句 9 return 返回语句 循环语句 循环 5 continue 继续语句 继续语句
C程序设计(第三版) 程序设计(第三版) 程序设计
4.3 数据输入输出的概念及在C 语言中的实现
(一)所谓输入输出是以计算机主机为主体而言的 输出:从计算机向外部输出设备(显示器,打印机) 输出:从计算机向外部输出设备(显示器,打印机) 输出数据。 输出数据。 输入:从输入设备(键盘,鼠标,扫描仪) 输入:从输入设备(键盘,鼠标,扫描仪)向计算机 输入数据。 输入数据。
C程序设计(第三版) 程序设计(第三版) 程序设计
4.3 数据输入输出的概念及在C 语言中的实现
(三)在使用系统库函数时,要用预编译命令“#include”将有关 的“头文件”包括到用户源文件中。 例如:在调用标准输入输出库函数时,文件开头应该有:
#include “stdio.h” 或: #include <stdio.h>
C程序设计(第三版) 程序设计(第三版) 程序设计
4.5 格式输入与输出
(4)u格式符,用来输出unsigned型数据。 unsigned型数据 (4)u格式符,用来输出unsigned型数据。
一个有符号整数(int型 也可以用%u格式输出; 一个有符号整数(int型)也可以用%u格式输出; (int %u格式输出 一个unsigned型数据也可以用%d格式输出; unsigned型数据也可以用%d格式输出 一个unsigned型数据也可以用%d格式输出; unsigned型数据也可用%o或%x格式输出 型数据也可用%o 格式输出。 unsigned型数据也可用%o或%x格式输出。
C程序设计(第三版) 程序设计(第三版) 程序设计
4.3 数据输入输出的概念及在C 语言中的实现
(二)C语言本身不提供输入输出语句,输入和输出操作是由C函数 )C语言本身不提供输入输出语句,输入和输出操作是由C 语言本身不提供输入输出语句 库中的函数来实现的。 库中的函数来实现的。 例如: 例如: 字符输入函数: 字符输出函数:putchar 字符输入函数: getchar 字符输出函数:putchar 格式输入函数: 格式输出函数: 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字符串输出函数:puts 字符串输入函数:gets 字符串输出函数:puts
C程序设计(第三版) 程序设计(第三版) 程序设计
4.5 格式输入与输出
格式符。以八进制整数形式输出。 (2) o格式符。以八进制整数形式输出。
输出的数值不带符号,符号位也一起作为八进制数的一部分输出。 输出的数值不带符号,符号位也一起作为八进制数的一部分输出。 a=例:int a=-1; printf("%d,%o", printf("%d,%o",a,a); 在内存单元中的存放形式(以补码形式存放)如下: -1在内存单元中的存放形式(以补码形式存放)如下: 1111111111111111 输出为: 输出为: -1,177777 不会输出带负号的八进制整数。对长整数(long (long型 不会输出带负号的八进制整数。对长整数(long型)可以 %lo”格式输出。还可以指定字段宽度 指定字段宽度。 用“%lo”格式输出。还可以指定字段宽度。 printf(" ,a); 例:printf("%8o",a); 输出为: 177777。 数字前有2个空格) 输出为: 177777。 (数字前有2个空格)
C程序设计(第三版) 程序设计(第三版) 程序设计
4.5 格式输入与输出
(3)x格式符。以十六进制数形式输出整数。 (3)x格式符。以十六进制数形式输出整数。同样不会出 现负的十六进制数。 现负的十六进制数。 例: int a=-1; a=-1
printf(″%x,%o,%d ,a,a,a); printf( %x,%o,%d″,a,a,a); %x,%o,%d 输出结果为: 输出结果为 ffff,177777,-1 ,-1 ,177777,- 可以用“%lx”输出长整型数,也可以指定输出字段的宽度。 可以用“%lx”输出长整型数,也可以指定输出字段的宽度。 指定输出字段的宽度 “%12x” 例: %12x
{ z=x+y; t=z/100; printf(“%f”,t); }
相关文档
最新文档