3.1 引例。
例3.1:求华氏温度100℉对应的摄氏温度。
例3.2:由键盘输入一个小写字母,将其转换成大写字母输出。
上述两个例子的程序运行时都是顺序执行的,程序代码中没有出现分支,循环的结构,往往这样的结构只能求解简单的问题。
3.2:c语言的语句
在c语言中语句是以分号结尾的字符序列,是程序最基本的执行单位,分号是c语句的必要组成成分。
1.说明语句:用于定义程序所使用的变量与类型。如:int a,b;/*定义两个整型变量*/
2.表达式语句:由表达式加上分号“;”组成。其一般形式如下:表达式;。如:c=a+b是一个赋值表达式,而c=a+b;是一个表达式语句。
3.分支语句:分支语句实现分支控制过程,根据条件成立与否执行不同的语句。有两种分支结构,一种是双分支if——else语句与多分支的switch语句。
4.循环语句:c语言中循环语句有3种,即for语句,while语句和do——while语句。
5.转向语句:c语言中有break语句,continue语句,return语句。
6.复合语句:用一对{}将若干语句顺序组合在一起所形成的语句称为复合语句。c语言中除复合语句外的其他所有语句都以分号结束。
7.空语句:只由一个分号构成;空语句一般用在程序的某个位置上,在功能上并不执行任何实际操作。如空语句用于循环语句中的循环体时,可以实现延时功能。
8.函数定义与调用:函数是完成特定功能的小模块,是c语言中唯一的种子程序,常常在一个c程序中包含若干个函数,复杂的任务通过调用这些函数来完成。
9.:输入与输出:c语言没用提供用于数据输入及输出的语句,所有的输入与输出都是通过系统提供的有关函数(如scanf()和printf()函数)来实现的。
3.3数据的输入和输出
3.3.1输出函数printf()和输入函数scanf()
1.printf()函数:格式:printf(“格式控制字符串”,输出项表列)
例3.3按指定格式输出整型数据示例
使用printf()函数时应注意:1.格式字符与输出项的类型要一一对应,不同类型的数据所使用的格式字符不同;2.一般情况下,格式字符与输出项的个数应相同,如果格式字符的个数多于输出项的个数,则多余的格式将输出不确定的值,如果格式字符的个数少于输出项的个数,则多余的输出项将不能输出。3.函数将按从右到左的顺序计算出其值后输出。4.若要输出字符%应在格式控制字符串中使用连续两个%%。
使用scanf函数是系统提供的用于标准输入设备(键盘)输入数据的库函数,一般格式为scanf(“格式控制字符串”,输入项表列);应注意1.格式字符与输入项的类型,个数要一一对应;输入项必须是地址 ,不能是变量名。2.格式字符可以指定输入数据所占的列数,系统会截取相应列数的数据。3.在输入数据时遇到以下情况则认为数据输入结束:空格,tab键,回车键,非法输入指定宽度。用户也可以自己指定其他字符作为输入间隔。
3.3.2整型数据的输入和输出
格式字符 含义
d 以十进制形式输入/输出带符号整数
o 以八进制形式输入/输出无符号整数
x,X 以十六进制形式输入/输出无符号整数
u 以十进制形式输入/输出无符号整数
printf()函数中的格式修饰符
l 用于输出长整型
- 输出结果左对齐,右边补空格
+ 输出符号(正号或负号)
# 对d,u格式字符2无影响;对o格式字符,在输出时加前缀0;对x格式字符,在输出时加前缀0x
m 指定数据的输出宽度。当数据的世纪位数大于m时,则按实际位数输出;当数据的实际位数小于m时,若输出宽度前有“-”则左对齐右补空格,否则右对齐左补空格
scanf()函数中的格式修饰符
l 用于输入长整型
m 指定输入数据所占的宽度
* 表示本输入项不会赋值给相应的变量
例3.4整型数据的输出示例
例3.5整型数据的输入示例
例3.6带有修饰符的整型数据的输入输出示例
3.3.3实型数据的输入和输出
printf函数
f 以小数形式输出单精度或双精度数(保留6位小数)
E,e 以指数形式输出单精度或双精度数
g 以%f,%e中较短的输出宽度输出单精度或双精度数
scanf函数
f 以小数形式输入单精度数
E,e 以指数形式输入单精度数
il 以小数形式输入双精度数
le 以指数形式输入双精度数
使用scanf()函数输入实型数据时不能指明精度,即使用“%,nf”的格式是错误的
例3.7 实型数据的输入输出示例
3.3.4字符型数据的输入和输出
getchar()和putchar()函数只能用于单个字符的输入和输出,scanf()和ptintf()函数可以用于多个字符的输入输出。
例3.8字符型数据的输入输出示例
若程序运行时输入 x y z则结果为
getchar()函数一般调用格式为ch=getchar();
putchar()函数一般调用格式为putchar(输出参数);
3.4数学库函数
1.指数函数exp(x)计算e^x;
2.绝对值函数fabs(x)计算|x|;
3.以e为底的对数函数log(x)计算lnx;
4.幂函数pow(x,y)计算x^y;
5.平方根函数sqrt(x)计算根号x
例3.10输入一个球的半径,根据公式4Π/3r^2计算并输出球的体积
例3.11求一元二次方程ax^2+bx+c=0的根,设b^2-4ac>0x=(-b±根号b^2-4ac)/2a