C语言分支结构
库函数
概念:C语言处理系统提供事先编好的函数,
供用户在编程时调用。
它们通常通过头文件(.h文件)定义。
使用#include命令加载头文件,从而引用库函数
输入输出库stdio.h
数学库math.h
输入输出库(stdio.h)函数
printf
格式化输出函数
/**
* @name printf
*
* @description 输出函数,在console界面上将对象内容输出
* printf(格式控制字符串, 输出参数1, … , 输出参数n);
* @param {string} 格式控制字符串,控制输出的格式。其语法规则如下:
* %d,以整型的形式输出参数,
* %f,以浮点型的形式输出参数,
* %s, 以字符的形式输出参数,
* 其他字符,原样输出*
* @param {object} 要显示的输出参数,可以是各种类型的变量,可以有多个
*/
@example
* printf("%s\n", "hello world");
* 结果为:hello world;
@example
* printf("hello world\n");
* 结果为:hello world;
@example
* a=100, b=37;
* printf("fahr = %d, celsius = %d\n", a, b);
* 结果为:fahr=100, celsius=37;
@example
* a=3, b=a*a;
* printf("%d=%d*%d, b, a, a);
* 结果为:9=3*3;
scanf
格式化输入函数
/**
* @name scanf
* @kind function
*
* @description 输入函数,允许用户输入数据
* scanf(格式控制字符串, 输入参数1, … , 输入参数n);
*
* @param {string=} 格式控制字符串,语法规则与printf一样
* @param {object} 要显示的输入参数,可以是各种类型的变量,可以有多个
参数前必须加&符号,代表引用
*/
* @example
* scanf("x=%lf", &x);
* 输入: x=9.5
@example
* scanf("%d%d%lf", &money, &year, &rate);
* 输入:1000 3 0.025
putchar
单个字符输出函数
/**
* @name putchar
* @description 输出一个字符
* putchar(输出参数);
*
* @param {object} 单个字符变量
*/
* @example
* putchar ('?');
* 输出:?
getchar
单个字符输入函数
/**
* @name getchar
* @description 输入一个字符
* getchar();
*/
* @example
* char ch; ch = getchar ();
* 输入一个字符
数学库函数
例子
#include<stdio.h>
#include<math.h>
int main(void){
float money, rate, sum;
int year;
printf("请依次输入金钱、利率、年份,注意年份不能是小数\n");
scanf("%f%f%d",&money, &rate, &year);
sum = money * pow((1+rate), year);
printf("经过计算,存款总额为%.2f", sum);
return 0;
}
分支结构
if-else语句
一般的if-else语句
例题
单个if语句
控制语句的特性
花括号的意义
多个if-else并列使用
例:将百分制转换成5级制
多个if-else嵌套使用
例
switch语句
通常的switch语句
例题
#include <stdio.h>
int main(void){
int choice;
double price;
printf("[1] 薯片\n");
printf("[2] 爆米花\n");
printf("[3] 巧克力\n");
printf("[4] 可乐\n");
printf("[0] 退出 \n");
printf("请问你要查询哪种商品?请输入数字 ");
scanf("%d", &choice);
if(choice != 0){
switch (choice) {
case 1: price=3.0; break;
case 2: price=2.5; break;
case 3: price=4.0; break;
case 4: price=3.5; break;
default: price=0.0; break;
}
printf("此物价格 = %0.1f\n", price);
}else
printf("谢谢查询 \n");
}
没有break的情况
例
输入10个字符,分别统计出其中空格或回车、数字和其他字符的个数。
#include<stdio.h>
int main(void)
{ int blank, digit, i, other; char ch;
blank = digit = other = 0; i=1;
printf("Enter 10 characters: ");
while( i <= 10){
ch = getchar();
switch (ch){
case ' ' :
case '\n':
blank ++;
break;
case '0' : case '1' : case '2' : case '3' : case '4' :
case '5' : case '6' : case '7' : case '8' : case '9' :
digit ++;
break;
default:
other ++;
break;
}
i++;
}
printf("blank=%d, digit=%d, other=%d\n", blank, digit, other);
}