当前位置:
文档之家› 《程序设计基础》基本输入输出
《程序设计基础》基本输入输出
主要内容
1
字和词 数据及其类型 运算符与表达式 基本输入输出
17
2
3
4
《程序设计基础》
4.1 标准输出(printf)
1.一般格式: 带格式的输出函数
printf(格式控制串,输出项序列)
亦称转换控制字符串,指出 各输出项所要求的格式(形式、 宽度等),用””括起来。 列出本句要输出的数据 项(表达式) 各数据项之间用逗号隔 开
《程序设计基础》
注意事项: 1.必须声明 2.iostream.h后面的.h不写 3.此文件的后缀名应为.cpp
2
课后作业答案
开始 m=1,n=1
求5!,画出流程图
m=m*n; n=n+1; n>5
Yes No
输出m
结束
《程序设计基础》
3
主要内容
1
字和词 数据及其类型 运算符与表达式 基本输入输出
例: int x=3.54; //x的值为3(结果为整型,取整数部分) (3)与数学等式、赋值表达式的区别 数学等式 赋值表达式 关系表达式 x=3 x=3 x==3
x的值等于3,是事实
使x的值等于3,与x原来值无关
判断x的值是否等于3,但x的值不一定就等于3
《程序设计基础》
13
13
3.7 赋值表达式
2.连续赋值运算 形如: V1=V2=V3=…=E 例 x=y= t*t //变量x和y的值都赋成t2 a=b=c=1.6; //连续赋值语句 等价于
a=(b=(c=1.6)); 若b是整型,而a和c是实型 结果:c等于1.6,b等于1,而a等于1.0
《程序设计基础》
14
14
3.7 赋值表达式
3.复合赋值运算 算术运算符和位运算符后面加赋值运算符 算术运算与赋值运算的复合 += -= *= /= %= 位运算与赋值运算的复合 &= ^= |= <<= >>=
(1)计算E1的值 ( 2 )若 E1 的值不为 0 (真),则计算 E2 的值(作为整个表 达式的结果值) 例:max=a>b?a:b; ( 3 )若 E1 的值为 0 (假),则计算 E3 的值(作为整个表达 式的结果值) 等价于:if(a>b) max=a; else max=b; //更习惯
格式控制串被两个%号分成5段: a= %d 原样输出 数据项a的要求的格式
, b=
%7.2f \n
原样输出
数据项b+1的要求的格式 原样输出(换行符,引起换行)
输出结果:
《程序设计基础》
a=123, b= -233.32
21
4.1 标准输出(printf)
3.注意事项:
(1)格式段个数要与输出项个数相同 (2)不同类型用不同的格式字符 例外:整型和字符型可以通用 输出结果为:ch=6, char ch='6'; printf("ch=%c, ASCII=%d", ch, ch);
《程序设计基础》
24
4.1 标准输出(printf)
#include <stdio.h>
void main( )
{ long lid=123456789;
char ch='m';
float fScore = 89.2; printf("查询结果:"); /*输出提示信息*/
"zhang",ch);
f
用于输出实数时,指定小数要占 n位 6位小数 小数形式输出单、双精度实数 ,隐含输出 用于输出字符串,指定只输出串中前n个字符
(2)普通字符(原样输出的内容)
《程序设计基础》
20
4.1 标准输出(printf)
例:若a=123,b= -234.321
printf("a=%d, b=%7.2f\n", a,b+1);
2. 示例
a=8, a*10 x=(a=3,6*3) x=a=3,6*a //a=8,表达式值=80 //a=3,x=18 //x和a的值为3,表达式的值为18
3. 除了作为运算符外,逗号用作为分隔符
例: int x, y; char test(int ch1, int ch2);
《程序设计基础》
16
或指数形式输入
《程序设计基础》
27
4.2 标准输入(scanf)
a||b 0 1 1 1
注意:C语言 中,判断“真 假”时,以非 零为“真”, 零为“假”, 但逻辑表达式 的值为1或0
3.6 条件表达式
1. 条件运算符
? : (三目运算符) 非0(真) E1
E2
为0(假)
2. 条件表达式
E1 ? E2 : E3 其中,E1,E2,E3 是任一表达式
E3
3.
执行步骤
printf("学号:%ld, 姓名:%s, 性别:%c ,\n", lid,
printf("成绩:%f\n", fScore);
}
《程序设计基础》
25
4.2 标准输入(scanf)
1.一般格式:
scanf(格式控制串,地址序列); 与printf相似 列出需要读取数据的变量的地址 变量名前加&(取地址运算符)
《程序设计基础》
10
3.6 条件表达式
4. 优先级和结合型 优先级仅高于赋值运算符和逗号运算符 max= a>b ? a : b +1; 相当于 max=( a>b ? a : b +1); a>b ? a : b +1 相当于 (a>b)? a : (b+1)
《程序设计基础》
11
11
3.7 赋值表达式
《程序设计基础》
19
4.1 标准输出(printf)
2.格式控制串: (1)格式段 % 附加格式说明 格式字符
例 常用附加格式 常用格式字符 %c //字符输出格式 (m必须是某具体的正整数值 ) d m 十进制带符号的整数(正数不输出符号) 指定数据所占域宽最小为 m %5d //整数输出格式 c 输出一个字符 (n必须是某具体的正整数值 ) s .n 输出一个字符串 %10.2f //实数输出格式
#include <stdio.h>
stdio是standard input and output的缩写
《程序设计基础》
18
4.1 标准输出(printf)
示例: printf("%d,%d",a,b+c); 共输出2项:a 和 b+c
"%d,%d"——格式控制串
用%d格式输出a的值,用%d格式输出b+c的值 输出一个逗号(位于两项之间)
1.简单赋值运算 赋值表达式的一般格式 V=E
V代表任一个变量名
E代表任一个表达式 含义:计算表达式E的值,将计算结果值赋给变量V; 以 E的值作为整个赋值表达式的值。
例: x=100 sum=a+b
《程序设计基础》
12
12
3.7 赋值表达式
(1)赋值运算符“=”左侧必须是变量名 (2)如果“=”两侧的类型不一致,但都是数值型或字符 a+b=c 型时,赋值时系统自动将表达式类型转换成赋值号左 5=x 侧变量的类型,然后再赋值。 f(a)=b
V op= E V = V op (E)
例如 a+=b a-=b+c a%=b+c
《程序设计基础》
等价于 a=a+b 等价于 a=a-(b+c) 等价于 a=a%(b+c)
15
15
3.8 逗号表达式
1. 一般格式
E1, E2 , …… , En 最后一个表达式En的值就是整个表达式的值 逗号运算符的优先级最低
4
2
3
4
《程序设计基础》
表达式
算术表达式(+、-、*、/、%)
关系表达式( ==、!= 、>、>=、<、<=)
逻辑表达式(&&、||、!) 条件表达式(?:) 赋值表达式(=) 逗号表达式(,)
《程序设计基础》
5
5
回
顾
D) '\019'
以下选项中非法的字符常量是( ) A) '\101' B) '\65' C) '\xff'
《程序设计基础》
• #include <stdio.h> //C main() { /*/* programming */*/ printf("programming! \n"); } • include <stdio.h> //D main() { /* programming */ printf(programming! \n); }
7
3.4 关系表达式
种类 < <= > >= ==(等于) !=(不等于) 用于比较两个操作数的大小关系 运算结果值为1(真)或0(假) 常作为判断条件,用于if语句和循环语句中 关系运算的优先级
例 int a=3,b=2,c=1,d,f; //表达式值1 a>b (<、<=、>、>=)高于(==、!=) (a>b)==c //表达式值1 b+c<a //表达式值0 //d=1 d=a>b //f=0 f=a>c>b
ASCII=54
(3)若指定的域宽过小,或没指定域宽 则按实长输出 输出结果为:a=123,b=-234.321