#C语言基础
#今天学习了输入输出函数(printf、scanf)、流程控制——选择结构(if语句)
#输入输出函数
#printf()函数
printf()函数为格式化输入输出函数,其函数原型为:int printf(const char *format,...);调用方法为:printf("格式化控制字符串",输出参数列表)。
格式化字符串中分为普通字符和占位符,其中普通字符原样输出;
占位符用参数列表中的数值替换:输出整型数据的占位符有%d(转换为有符号十进制数输出)、%u(转换为无符号十进制数输出)、%x(转换为十六进制输出)、%o(转换为八进制输出);输出浮点型数据的占位符有%f(转换为小数形式输出,默认保留6位小数)、%e(以科学计数法的形式输出)、%g(以更简洁的形式输出,不将多余的0输出);输出字符型数据的占位符有%c(转换为数值对应的字符输出)、%s(输出字符串)。
在占位符中可以加辅助控制字符,控制输出的样式:1、# ,%#x可以将十六进制的前缀0x输出;%#o可以将八进制的前缀0输出。 2、m,可以控制输出数据的宽度,m <实际数据宽度时------输出实际的数据宽度,m>实际数据宽度------输出m宽度的数据,默认右对齐,前面补空格,0m则为补0,-m 转为左对齐,此时不能补0。 3、 .n ,%nf 表示结果中保留n位小数,%.ng 表示保留结果中n位数字,%.ns 表示保留前n个字符。4、%ld 表示匹配 long int 类型数据, %lld 表示匹配 long long int 类型数据, %hd 表示输出一半,%lf 匹配double类型数据,%Lf 匹配long double类型数据。特别注意:占位符与参数一一对应,参数个数多于占位符,编译报警,不影响输出结果,参数个数少于占位符,编译报警,多的占位符对应输出结果为随机值。
#scanf()函数
scanf()函数原型为int scanf(const char *format, ...);scanf的格式为:scanf("格式控制字符串",地址列表);格式控制字符串同样分为普通字符和占位符,普通字符要求原样输入,占位符将键盘输入的数据转换为占位符指定的格式,整型数据的输入有:%d -- 转换为 有符号 十进制形式 输出 ,%u -- 转换为 无符号 十进制形式 输出,%x -- 转换为 十六进制形式 输出,%X -- 转换为 十六进制形式 输出 输出结果中字符 都是大写形式 ,%o -- 转换为 八进制形式 输出;浮点型数据的输入有: %f -- 转换为 小数形式输出,默认保留 6位 小数,%e -- 转换为 科学计数法形式 输出,指数部分 会显示 正负号 如果是一位数 则会补个0,%g -- 以一种 更简洁的方式输出 ,不会将多余0输出 ;字符型数据的输入有:%c -- 转换为 数值 对应 字符形式 输出 --- 键盘输入的 都可以被当作字符 %c 都能识别,%s -- 以字符串的形式(一串字符)输出。辅助控制符: m 指定输入宽度 ,注意:浮点数中 小数点 也算一列宽度;输入时,不能指定输入数据的精度 ;%lf 表示 给doule类型变量中输入数据 , %f 表示给float类型的变量中输入数据 ,%Lf 表示给 long double 类型变量中输入数据。scanf读取字符结束的条件遇到空白符(空格、回车、Tab)、遇到非法字符、到达指定的输入宽度。
#流程控制——选择结构(if语句)
判断条件的产生:运用关系运算符和关系表达式。C语言中用1(真) 0(假)来反映关系是否成立。
逻辑与运算:&& 一假则假 具有截断特性
逻辑或运算: | | 一真则真 也具有截断特性
逻辑非运算:! 真假相对
if语句的格式为:if (表达式)
{
语句;
}
表达式为真,则执行语句,为假表示if语句结束程序向下执行
if(表达式)
{
语句1
}else
{
语句2;
}
表达式为真执行语句1,为假执行语句2。
标签:语句,输出,转换,字符,--,占位,学习,嵌入式 From: https://blog.csdn.net/weixin_62423255/article/details/145166782