c语言第四章

合集下载

计算机二级 C语言第四章-第五章

计算机二级 C语言第四章-第五章

逻辑或
逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
C语言程序设计
第五章 选择结构程序设计
逻辑运算真值表
a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),
优先次序:高(2) 结合方向:从右向左 (11) 从左向右
4.00, c=
6.00 s=
6.50
C语言程序设计
第四章 顺序程序设计
例4.11 从键盘输入大写字母,用小写字母输出
#include "stdio.h" void main() { char c1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
第五章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年
判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0

C语言程序设计第4章

C语言程序设计第4章
16
4.2.2 逻辑表达式
例:设a=3,b=4,x=0,y=0,求值: 结果:0 1、a < b && x > y 结果:1 2、a = = b || x = = y 3、! a || a > b 结果:0 4、! a && b || x > y 结果:0 5、int a=-1,b=1,c=2,d=3,m=5,n=2,k; k=(m=a+b)&&(n=c+d) k为0 ,m为0, n为2
当尝试对该程序进行编译时,C语言编译器会报告 "illegal else without matching if"的语法错误。 28
4.3.4使用if语句应注意的问题
void main() { int x; x=1; if(x==1) printf("x等于1\n"); else ; /*这里多加了个分号*/ printf("x不等于1\n"); }
if(表达式) 语句1 else 语句2
真 表达式 语句1 语句2 假

如果括号内的表达式为真,则执行括号后面的 语句1。如果表达式值为假,则执行else后面的 语句2;语句1和语句2只能有一个被执行。
21
4.3.2 else子句
【例4-2】输入两个整数,将较大者输出。 /*程序4-2*/ #include<stdio.h> void main () { int a, b, max; printf("Please input the data a and b:"); scanf("%d, %d",&a, &b); if(a>=b) max=a; else max=b; printf("The max is %d\n", max); }

C语言-第4章 选择结构程序设计

C语言-第4章 选择结构程序设计

第4章选择结构程序设计注:选择结构的考点,最重要的有两个,一个是逻辑表达式的值,另一个是分支界限。

弄明白这两个知识点,就能够以不变应万变了。

一、单项选择题1. 在C语言中,能代表逻辑值"真"的是。

A) true B)大于0的数C)非0整数D)非0的数2. 表示关系x<=y<=z的c语言表达式为。

A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)3. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是。

A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=04、判断char型变量c1是否为大写字母的表达式为。

A)’A’<=c1<=’Z’ B)(c1>=’A’) & (c1<=’Z’)C)(’A’<=c1)AND (‘Z’>=c1) D)(c1>=’A’)&& (c1<=’’Z’)5. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为。

A) ‘A’=<c<=’Z’ B)c>=‘A’&& c<=’Z C)A=<c<=Z D) c>=A && c<=Z6. 设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是。

A)1B)0 C)-1 D)出错7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是。

C语言 第4章 选择结构程序设计

C语言 第4章 选择结构程序设计

#include <stdio.h> int main() { float a,b,c,t; scanf("%f,%f,%f",&a,&b,&c); if(a>b) 如果 a>b,将a和b对换 , 和 对换 是 、 中的小者 { t=a; a=b; b=t; } a是a、b中的小者 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; }
if (disc<0) 8<0为假 为假 printf(“has not real roots\n”); else 的值变为-1 的值变为 { p=-b/(2.0*a); p的值变为 的值变为0.71 的值变为 q=sqrt(disc)/(2.0*a); q的值变为 x1=p+q; x1的值变为 的值变为-0.29 的值变为 x2=p-q; x2的值变为 的值变为-1.71 的值变为 printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; }
if (disc<0) printf(“has not real roots\n”); else { p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2); } return 0; 复合语句 }
C语言有两种选择语句: 语言有两种选择语句: 语言有两种选择语句 (1)if语句,实现两个分支的选择结构 语句, 语句 (2)switch语句,实现多分支的选择结构 语句, 语句

福建师范大学 c语言 第四章输入与输出

福建师范大学 c语言 第四章输入与输出
19/24
第四章:输入与输出
字符输入函数(getchar)p98
格式:getchar( ) 功能:从键盘读一字符 返值:正常,返回读取的代码值;出错,返回EOF(-1)
/*use of getchar function*/ 运行结果: #include <stdio.h> Enter a character:A↵ void main() A--->hex41 { int c; printf("Enter a character:"); c=getchar(); printf("%c--->hex%x\n",c,c); }
9/24
第四章:输入与输出
转义序列2/2
\”——” \\——\
printf("\"Hello!\""); Output: /* prints "Hello!" */ printf("\\"); Output: /* prints one \ character */
10/24
第四章:输入与输出
格式化输入(scanf函数p29)
输入实数时不能规定精度
15/24
第四章:输入与输出
scanf输入字符和字符串
char ch; char name[10]; scanf(“%c%s”, &ch, name); printf(“%c %s”, ch, name); 键入:a zhangsan↵ 输出:a zhangsan char c1,c2,c3; scanf(“%c%c%c”,&c1,&c2,&c3); printf(“%c%c%c”, c1,c2,c3); 键入:a b c↵ 输出:a b

C语言第4章-分支结构.

C语言第4章-分支结构.
❖注意表达式之间的顺序关系 ❖课堂作业:将表达式位置倒过 来后,即低等级先判断,高等级 后判断,完成框图与程序
§【源程序】 §main( ) §{ int grade; printf ( "input the grade:"); § scanf ("%d",&grade); § if (grade>=90) printf("A\n"); § else if(grade>=80) printf("B\n"); § else if(grade>=70) printf("C\n"); § else if(grade>=60) printf("D\n"); § else printf("E\n"); §}
§2.添break、可跳出。见下节
【例呢?
§ //百分制成绩的等级划分问题之解法3(不完善):
§ main( )
§ {int grade; printf("input the grade:");
§ scanf("%d",&grade);
§ switch(grade/10) //按单值匹配,故要将范围映射为单值
§4.各个case子句出现的次序对执行结果没任 何影响,即顺序可以任意布局。
§5.每一个case能够拥有一条或多条语句,其最大的 不同之处在于使用多条语句时不需要用“{}”括起来。
§6.多个case可以共用一组执行语句。例如:
§

§
case ‘A’:
§
case ‘a’: ++count ; break ;
§

《C语言程序设计课件》第四章-数组

《C语言程序设计课件》第四章-数组
提示:程序在读入数时将其存储在一个数组中, 然后通过数组反向开始一个接一个地显示出数组 元素。
#include <stdio.h> #define N 10 int main(void)
{ int a[N], i; printf("Enter %d numbers: ", N);
for (i = 0; i < N; i++)
for(i=0;i<1;i++) if (a[i]>a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; }
a[0]
20
a[1]
02
a[2]
44
a[3]
55
a[4]
88
a[5]
99
for(i=0;i<5;i++) if (a[i]>a[i+1]) { ……}
for(i=0;i<4;i++) if (a[i]>a[i+1]) { ……}
4.2 一维数组
一维数组主要用来存储一组类型相同并且数量一定 的数据。其中,每个数据称为数组的一个元素。
4.2.1 一维数组定义 一维数组的定义形式如下: 类型名 数组名[常量表达式]; int x[100]; char string[10]; double data[10];
常量表达式给出了数组的长度,在C语 言中定义数组时必须确定数组的长度。
600
xxx[[[654]]]
700
xxx[[[765]]]
800
xxx[[[876]]]
900
xxx[[[987]]]

C语言程序的设计第四章顺序程序的设计

C语言程序的设计第四章顺序程序的设计

C语言程序的设计第四章顺序程序的设计在学习 C 语言程序设计的过程中,第四章的顺序程序设计是构建程序基础的重要环节。

它就像是搭建房屋的基石,为后续更复杂的程序结构奠定了坚实的基础。

顺序程序设计,简单来说,就是按照语句出现的先后顺序依次执行。

这是程序设计中最基本也是最常见的结构。

在这一章节中,我们首先要了解的是数据的输入和输出。

C 语言中,常用的输入函数是`scanf`,而输出函数则是`printf`。

就拿`printf`来说,它可以以各种不同的格式来输出数据,比如整数可以用`%d`,浮点数可以用`%f`,字符用`%c`等等。

通过这些格式控制符,我们能够让程序输出的内容更加清晰、准确,符合我们的预期。

在顺序程序中,变量的定义和使用也是关键的一部分。

变量就像是一个个小盒子,我们给它们贴上不同的标签(变量名),然后往里面存放不同类型的数据(比如整数、浮点数、字符等)。

定义变量的时候,要明确变量的类型,这决定了它能够存储的数据范围和精度。

比如说,我们定义一个整数变量`int num = 10;`,这里的`int`就是变量类型,`num`是变量名,`10`是给变量赋的初始值。

在程序执行过程中,这个变量的值是可以改变的。

接着,我们来谈谈算术运算。

C 语言提供了丰富的算术运算符,像加法`+`、减法``、乘法``、除法`/`以及取余`%`。

在进行算术运算时,要注意数据类型的匹配和运算的优先级。

比如,先乘除后加减,如果有括号,先计算括号内的表达式。

赋值运算也是经常用到的。

`=`这个符号可不是数学里的“等于”,而是把右边的值赋给左边的变量。

而且,还可以进行复合赋值运算,比如`+=`、`=`、`=`、`/=`等,这让代码更加简洁高效。

在顺序程序设计中,关系运算和逻辑运算同样不可或缺。

关系运算包括大于`>`、小于`<`、等于`==`、大于等于`>=`、小于等于`<=`、不等于`!=`,通过这些运算,我们可以比较两个值的大小关系,并根据结果做出不同的处理。

《C语言程序设计课件》第四章-循环语句

《C语言程序设计课件》第四章-循环语句
scanf("&d",&n); while(n!=0)
{ sum+=n; scanf("%d",&n); }
printf("The sum is :%d\n",sum);
return 0; }
从任意 n 个实数中选出最大数 和最小数
从任意 n 个实数中选出最大数和最小数
#include <stdio.h> int main( ) {
/*程序4-1*/ #include <stdio.h> int main() {
int i,sum=0; i=1; while(i<=100) {
sum += i; i++; } printf("sum=%d\n",sum); return 0; }
【例4-2】输入一行字符以回车键结束,分别 统计出其中英文字母、空格、数字和其它字符 的个数。
#include <stdio.h> int main( ) {
int i,n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table:");
scanf("%d",&n); i=1; while (i<=n)
【例】求整数1~100的累加和,使用for语句实 现。
#include <stdio.h> int main() {
int i,sum=0; for(i=1;i<=100;i++)

高树芳C语言程序设计--第四章

高树芳C语言程序设计--第四章
37
4.5 switch语句
案例4-10 计算成绩级别 案例4-11 根据月份求季度 案例4-12 输入算式做四则运算
38
4.5 switch语句
案例4-10 [案例任务]
计算成绩级别
输入百分制成绩,输出成绩级别A、B、C、D、E。 90~100分以上为A,80~89分为B,70~79为C, 60~69为D,0~59为E,其他成绩则显示“成绩 错误!”。
26
4.4
if语句
4.4.3多分支
案例4-7 用多分支求解分段函数
27
4.4
if语句
4.4.3多分支
案例4-7 用多分支求解分段函数
[案例任务]
对于如下函数: 用scanf函数输入x的值,输出y的值。 运行结果如下(输入的数据是9)
[解决方案]使用if „ else if„else语句。
28
4.4
分析下列程序的运行结果,掌握“与”、 “或”、“非”三个逻辑运算符及其优先级。
程序代码
11
4.3 逻辑运算符和逻辑表达式
相关知识: 1.逻辑运算符及其优先级 2. 逻辑表达式 3. 逻辑表达式的优先级与结合性
12
4.3 逻辑运算符和逻辑表达式
案例4-4 [案例任务]
逻辑运算中的“短路”现象
分析下列程序的运行结果,掌握多个运算对象 进行“与”、“或”情况下的“短路”现象。
22
4.4
if语句
4.4.2双分支
案例4-6 求两个数中的最大者
23
4.4
if语句
4.4.2双分支
案例4-6 求两个数中的最大者
[案例任务]
由键盘输入两个整数,输出它们中的最大 者。运行结果如下:

数据的基本表现形式 c语言 第4章

数据的基本表现形式 c语言 第4章
123(无前导0) 087(不能含有非八进制数码) O123(前导不能是字母O或o)
0x123(十进制整数291)
十六进制 0x9F(十进制整数159) -0X1AF0(十进制整数-6896)
0x9G7(不能含有非十六进制数码)
5A(无前导0x或0X) OX12A(前导不能是字母O或o)
程序设计基础
程序设计基础
4.1 常量
字面常量
3. 字符常量 字符常量通常指的是单个字符,在C语言中用单引号将单个字 符括起来,如'a'、'b'、'c'。 转义字符(用于描述不可见字符)以反斜线“\”开头,其含义 是将反斜线后面的字符转换成另外的含义。
转义字符 \a \b \f \n \r \t \v 含义 响铃(BEL) 退格 换页 换行 回车 水平跳格(tab) 垂直跳格 转义字符 \\ \? \' \" \0 \ddd \xhh 含义 反斜杠 问号 单引号 双引号 空字符(NULL) 1~3位八进制数所代表的字符 1~2位十六进制数所代表的字符
程序设计基础
4.1 常量
符号常量
使用符号常量有如下好处: 1. 程序的可读性好——见名知意; 2. 程序的可修改性好——改一处避免处处改。 3. 避免误操作——采用统一值。
程序设计基础
4.2 变量
变量的概念
变量:在程序的运行过程中其值可以被改变的量,变量用一 个标识符来表示,称为变量名。 编译器在对源程序进行编译时,会给每个变量分配一个特定 大小的存储单元,并将变量名与这个存储单元的起始地址绑 定在一起。
a的ASCII码为97 \0的ASCII码为0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0

C语言程序设计第4章

C语言程序设计第4章
技能目标
能够使用if语句和switch语句,进行 选择结构程序设计 会利用多分支结构解决较复杂逻辑 判断问题
目录
CONTENTS
00 案例4 百分制转换等级制 01 4.1 选择结构判定条件的构成 02 4.2单分支和双分支选择结构程序设计 03 4.3 多分支选择结构程序设计
目录
CONTENTS
04 4.4 小结 05 4.5 拓展案例
案例4 百分制转换等级制
问题描述
学生成绩管理系统中需要对老师录入的百分制转换为等 级制。百分制与等级制的对应关系如下:90-100 对应A、 80-89对应B、70-79对应C、60-69对应D、0-59对应E。
问题分析
这是一个需要根据不同条件作出相应选择的程序,根据 描述,我们可以定义float变量fScore用来存放成绩值, 从而根据题目列出下列条件表达式: fScore>=90&&fScore<=100 your grade is A fScore>=80&&fScore<=89 your grade is B fScore>=70&&fScore<=79 your grade is C fScore>=60&&fScore<=69 your grade is D fScore>=0&&fScore<=59 your grade is E
4.4 小结
(1)嵌套if-else语句和switch语句都是用来实现多分支选择结构的,它们的 应用环境不同,嵌套if-else 语句用于对多条件并列测试,从中取一的情形; switch语句用于单条件测试,从其多种结果中取一种的情形。 (2)一般情况下用switch能解决的问题,用嵌套if-else 也一样能解决,反 之用嵌套if-else 语句能解决的问题用switch也能解决,在使用时要根据具体 问题灵活运用。 (3)如果多分支选择结构中需要判断的逻辑关系只是是否相等,则最好用 switch语句。switch语句的执行效率高于嵌套if-else语句。

C语言课件第四章PPT

C语言课件第四章PPT
break; case 1: printf (“**2**\n”);
break; }
case 2: printf (“**3**\n”); } 运行结果为:**1**
5) case语句的嵌套。
**3**
else if (s<2000) d=.08;
else if (s<3000) d=.1;
else
d=.15;
f=p*w*s*(1-d); printf("\n w=%-f s=%-f f=%-f ",w,s,f);
}
条件运算符及条件表达式
条件运算符要求有三个运算量,这是一个三 目运算符,其表达式的一般格式:
流程图
程序如下: (c507)
main()
{ float f,p,w,s,d;
printf("input p,w,s : "); scanf("%f,%f,%f",&p,&w,&s);
if (s<250.) d=0.;
else if (s<500.) d=.02;
else if (s<1000.) d=.05;
。根
先程
看序
一,
下考
流虑
程系
图数
例:
程序c506:
#include <math.h> main() { float a,b,c,p,q,t,x1,x2;
printf("input a,b,c: "); scanf("%f,%f,%f",&a,&b,&c); if (a==0.) printf("a==0!!! return."); else { p=-b/(2.*a); t=b*b-4*a*c; q=sqrt(fabs(t))/(2.*a);

C语言程序设计第四章

C语言程序设计第四章

运行情况: 1989↙ 1989is not a leap year.
2000↙
2000 is a leap year.
C程序设计
第五章
选择结构程序设计
例4.6 求
2 ax bx c 0 方程的解
#include "stdio.h" #include "math.h" main() {float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation"); if (fabs(a)<=1e-6) printf("is not a quadratic"); 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 complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } }

c语言 第四章 选择结构课件

c语言 第四章 选择结构课件

if (expr1) if (expr2) statement1 else statement2
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1) statement1
else if(expr3) statement3 else statement4
if ~ else 配对原则:缺省{ }时,else 总是和它上面离它最近的未配对的if配对
if(……) if(……) if(……) else…... else…...
else…...
例: if (a==b) if(b==c) printf("a==b==c");
else printf("a!=b");
if(x>y) printf("X>Y\n");
else printf("X<Y\n");
else printf("X==Y\n");
}
运行:Enter integer x,y:12,23 X<Y Enter integer x,y:12,6 X>Y Enter integer x,y:12,12 X==Y
内嵌if
if (expr1)
if (expr2) else
statement1 statement2
内嵌if
else
if(expr3) else
statement3 statement4
内嵌if
例 输入两数并判断其大小关系
main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)

C语言讲义C4

C语言讲义C4

{ char ch; scanf(“%c”, &ch); ch= (ch>= ‘A’&& ch<= ’Z’)? (ch+32) : ch; printf(“%c”, ch) }
输入 A a
21
4.4 switch 语句
switch语句 问题:为什么引出switch语句? 该语句为开关语句,解决多分支的情况。 格式:switch(表达式) { case (常量表达式1):语句块1; case (常量表达式2):语句块2;
3
4.1.2 逻辑运算符及其运算结果
用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式。
1. 逻辑运算符及其优先次序 C语言提供三种逻辑运算符: && (逻辑与) 、 || (逻辑或) 、! (逻辑非) 注:“&&”和“|| ”是“双目(元)运算符”,它要求有两个运算量 操作数。而“! ”是“单目(元)运算符”,只要求有一个运算 量。 [例]:a&&b+c 、 (a>b)||(x>y) 、!(x<y)
0 0.0 2 0.0 5 d 0.0 8 0.1 0.1 5 s 250 250 s 500 500 s 1000 1 0 0 0 s 2 0 0 0 2 0 0 0 s 3 0 0 0 3 0 0 0 s
(4) case后的“常量表达式”只起到语句标号 的作用,而不进行条件判断,故在执行完某个 case后的语句序列后,将自动转移到下一个case 继续执行。其计算过程为:
23
a. 计算表达式的值; b. 找到与表达式的值相同的case常量表达式,执行该case后边 的语句序列,之后依次往下执行语句块。 表达式

《c语言程序设计教学资料》第4章---键盘输入与屏幕输出

《c语言程序设计教学资料》第4章---键盘输入与屏幕输出
%m.ne printf(”%13.2e”,123.456); 输出: 1.23e+002 (前面有4个空格)
编辑ppt
编辑ppt
格式化输出
例: m.n 例:int a=1234; float f=123.456; char ch=‘a’; printf(“%8d\n%2d\n”,a,a); printf(“%f\n%8f\n%8.1f\n%.2f\n%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch);
float f=123.456; printf(“%f\n%10f\n%10.2f\n%.2f\n%-10.2f\n”,f,f,f,f ,f ); }
编辑ppt
%e格式符
指定以指数形式输出实数 VC++给出小数位数为6位
指数部分占5列 小数点前必须有而且只有1位非零数字 printf(”%e”,123.456); 输出:1.234560 e+002
补空格。
编辑ppt
输出实数时的有效位数。
#include <stdio.h> void main() { float x,y;
x=111111.111; y=222222.222; printf(″%f″,x+y); }
编辑ppt
例4.8 输出实数时指定小数位数。
#include <stdio.h> void main() {
有以下几种用法:
① %f。不指定字段宽度,由系统自动指定字段宽度,使整数
部分全部输出,并输出6位小数。应当注意,在输出的数字中
并非全部数字都是有效数字。单精度实数的有效位数一般为7位。
②%m.nf。指定输出的数据共占m列,其中有n位小数。如果

c语言函数库-第四章(字符串函数)

c语言函数库-第四章(字符串函数)

c语言函数库第四章(字符串函数)1. atof:字符串转浮点型函数 (1)2. atoi:字符串转整型函数 (2)3. atol:字符串转长整型函数 (3)4. memchr:字符搜索函数 (4)5. memcmp:字符串比较函数 (4)6. memcpy:字符串拷贝函数 (5)7. memmove:字块移动函数 (6)8.memset:字符加载函数 (8)9. strcat:字符串连接函数 (8)10. strchr:字符串中字符首次匹配函数 (9)11. strcmp:字符串比较函数 (10)12. strcpy:字符串拷贝函数 (11)13. strcspn:字符集逆匹配函数 (12)14. strdup:字符串新建拷贝函数 (13)15. strerror:字符串错误信息函数 (14)16. strlen:计算字符串长度函数 (15)17. strlwr:字符串小写转换函数 (16)18. strncat:字符串连接函数 (16)19. strncmp:字符串子串比较函数 (17)20. strncpy:字符串子串拷贝函数 (18)21. strpbrk:字符集字符匹配函数 (19)22. strrchr:字符串中字符末次匹配函数 (20)23. strrev:字符串倒转函数 (21)24. strset:字符串设定函数 (22)25. strspn:字符集匹配函数 (22)26. strstr:字符串匹配函数 (23)27. strtod:字符串转换成双精度函数 (24)28. strtok:字符串分隔函数 (25)29. strtol:字符串转换成长整型函数 (27)30. strtoul:字符串转换成无符号长整型函数 (28)31. strupr:字符串大写转换函数 (29)32. strupr:字符串大写转换函数 (29)1.atof:字符串转浮点型函数函数原型:float atof(const char *str);头文件:#include<stdlib.h>是否是标准函数:是函数功能:将字符串转换成浮点值,也就是将字符串str转换成浮点值然后获取转换后的结果。

第4章c语言的三种基本结构

第4章c语言的三种基本结构

程序1: /*exp51.c*/ #include <stdio.h> main ( ) { int x, y;
scanf(“%d", &x); if (x<0)
y= -1; else if (x==0)
y=0; else
y=1; printf ("x=%d, y=%d\n", x, y); }
程序2:将程序1的if语句改为: /*exp52.c*/ #include <stdio.h> main ( ) { int x, y; scanf(“%d", &x); if (x>=0)
1. 顺序结构 先执行A, 再执行B.
A 表示 A B
B
2. 选择结构 存在某条件P, 若P为真,则执行A, 否则执行B。
TP F
A
B
表示为
TP F AB
另一种选择结构––多分支结构.
K
K=K1 K=K2
K=Kn
A1 A2 … Ai … An
3. 循环结构
有两种结构:当型和直到型 (1) 当型结构
例:计算10!并输出结果。
main()
main()
{
{
int i=1, sum=1;
int i=1; long sum=1;
loop: if (i<=10)
loop: if (i<=10)
{
{
sum=sum*i;
sum=sum*i;
i++;
i++;
goto loop;
goto loop;
}
}
printf(“10!=%d\n”,sum); printf(“10!=%ld\n”,sum
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计(第三版) c语言程序设计
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理与工程学院

学习目的: 掌握C程序的简单语句,会编写简单的顺序执 行C程序。
C语言程序设计(第三版) c语言程序设计
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

4.1 C语句概述
语句: 一个C语句经过编译后产生若干条机器指令。 声明部分不是语句,不产生机器指令,只是对有关数据的 声明。 C程序 C程序结构:
一个C程序可以 源程序文件1 源程序文件2 源程序文件n 由多个源程序 文件构成 预处理命令 数据声明 函数1 函数n 一个源程序文 件由若干函数、预编译命令及全局变量 函数首部 函数体 声明部分构成 函数包括数据定义部分和执行部分, 执行部分是C语言语句,完成对数据的 执行语句 数据声明 操作 C语言程序设计(第三版) 教育改变命运,励志改变人生。
c语言程序设计
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

4.3 数据的输入/输出
所谓数据的输入输出是从计算机角度出发的。
输出:从计算机向外部输出设备(显示器,打印机) 输出数据 输入:从输入设备(键盘,鼠标,扫描仪)向计算机 输入数据.
C语言程序设计(第三版) c语言程序设计
a= a %(表达式)
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

连续赋值语句
int a , b , c ; a=b=c=1 ;
int a=b=c=1 ;
步骤: 连续赋值语句应“从右向左”计算
a=b=c=1 ; 等价于: a=(b=(c=1) ); 1. 把常数 1 赋给变量c,表达式(c=1) 的值为1; 2. 把表达式(c=1)赋给变量b,表达式 (b=(c=1) )的值为1; 3. 将右侧表达式的值1赋给a , a =1 。 C语言程序设计(第三版) 教育改变命运,励志改变人生。
c语言程序设计
#include <stdio.h> 或 #include ”stdio.h” C语言程序设计(第三版) 教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

4.4 格式的输入/输出
printf函数(格式输出函数)
例:if ((a=b)>0) t=a; 不可写为:if ((a=b;)>0) t=a;
C语言程序设计(第三版) c语言程序设计
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

4.2 赋值语句
表达式中允许出现运算符号、变量、数值、函数
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

4.3 数据的输入/输出
C语言本身没有I/O语句,所有I/O都由函数来实现。 C语言的标准库函数
由编译系统提供的一系列函数,以库形式存放在系统中,不是 C语言文本的组成部分。 < *.h>时,编译系统从存放C编译系统的子目 常用头文件: 库函数已编译成目标文件(.obj),在连接阶段才与源程序编 录中去找所要包含的文件,这称为标准方式。 stdio.h 定义输入输出函数 译成的目标文件相连接,生成可执行文件。 string.h 定义字符串操作函数 调用形式: “ *.h”时,编译系统现在用户的当前目录中 math.h 定义sin、cos等数学函数 函数名(参数表) 寻找要包含的文件,若找不到,再按标准方式 注意在调用C语言库函数时,需要使用编译预处理命令 查找。 Turbo C 2.0可以 #include <相关的头文件>,使相应的头文件包含到用户源程 不加#include命令 序中。
格式说明决定最终输出的格式
运行结果: 3 4 a=3, b=4
格式说明应与输出列表项个数相同,顺序一致
C语言程序设计(第三版) c语言程序设计
格式说明通常用小写字母表示
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

%md格式:m指定输出字段的宽度 数据位数小于m,左端补空格,反之按实际输出。
u格式符:十进制输出unsigned型数据
int型可以用%u格式输出,unsigned型也可以用%d、 1 %o和%x格式输出。 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
例4.3 无符号数据的输出 #include <stdio.h> void main() { unsigned int a=65535; int b= -2; printf(“a=%d , %o , %x , %u\n ”,a,a,a,a); printf(“b=%d , %o , %x , %u\n” ,b,b,b,b); } 运行结果: a= - 1 , 177777 , ffff , 65535 b= - 2 , 177776 , fffe , 65534 C语言程序设计(第三版) c语言程序设计 教育改变命运,励志改变人生。
(条件语句) (循环语句)
(结束本次循环语句) (多分支选择语句) (终止switch或循环语句) (转向语句) (从函数返回语句)
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

函数调用语句:由函数加“ ; ”组成 printf(“This is a C program”);
135790 > 32767 ( int 型数据的最大值)
C语言程序设计(第三版) c语言程序设计
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院 o格式符:八进制输出整数

是将内存中的二进制位整个按八进制输出,所以输出 值没有符号。 可以指定输出宽度%mo,长整型可以用%lo格式输出。
c语言程序设计
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院

4.1 C语句概述
C语句分为5类
控制语句:共9种
完成一定的控制功能,这些语句能够根据一定的测试条件 决定某些语句是否被执行,如分支、循环、跳转等语句。
if( )~else~ for( )~ while( )~ do~while( ) continue switch break goto return C语言程序设计(第三版) c语言程序设计
示例 a+ = 表达式 a - = 表达式 a * = 表达式 a / = 表达式 a % = 表达式 含义 a= a + (表达式) a= a - (表达式) a= a * (表达式) a= a / (表达式)
C语言程序设计(第三版) c语言程序设计
只适合于 整型变量 教育改变命运,励志改变人生。
11 11 11 11 11 11 11 11
c语言程序设计
-1在内存的存放形式(补码) C语言程序设计(第三版) 教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院
1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1
int a=123 , b=12345 ; printf(“%4d %4d ”, a , b);
%ld格式:输出长整型数据 可以用%mld格式指定输出列宽
123 12345
long c=135790 printf(“%ld \n”, c); printf(“%8ld ”, c);
135790 135790
运行结果: Hello World!
调用 printf( ) 时可以省略# include 命令!
C语言程序设计(第三版) c语言程序设计
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范出十进制整数,有3种用法
教育改变命运,励志改变人生。
珠海广大科技专修学院07软件工程方弘 山东师范大学 管理科学与工程学院 复合语句:

用 {…}括起来的一组语句,也称作程序块。 一般形式:
int i=0,sum=0; while(i<=100) { sum=sum+i; i=i+1; }
%d格式:按数据实际长度输出,数据范围 32768~32767。 /* %d 格式的 printf( ) 函数使用 */
#include <stdio.h> void main() { int a=3 , b=4; printf(“%d %d\n ”,a,b); printf(“a=%d , b=%d\n”,a,b); }
printf函数的一般格式 格式: printf( 格式控制,输出表列);
“\108” 格式控制:用双引号括起来的字符串,包含两种信息 “\”ab\”” 格式说明:%[修饰符]格式字符,指定输出格式 “\68” 普通字符:原样输出 输出表列:要输出的数据,可以是变量或表达式,可以 格式说明 转义字符 输出表列 没有,多个时以“,”分隔)
x格式符:十六进制输出整数
同o格式符,无符号,即无负十六进制数。 可以指定输出宽度%mx ,长整型可以用%lx格式输出。
int a= -1; printf(“%d , %o , %8o , %x ”, a , a , a , a); 输出: -1,177777,_ _177777,ffff
说明 复合语句“ } ”后不加分号 语法上和其它语句相同 复合语句可嵌套
C语言程序设计(第三版) c语言程序设计
相关文档
最新文档