今天又是学习的一天!!!
一.首先学的是强制类型转换,如下:
int a = 3.14;
a的是int类型, 3.14是double类型,两边的类型不⼀致,编译器会报警告,为了消除这个警告,我们可以使⽤强制类型转换,解决方法如下:
int a = (int)3.14;
/意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分。
**二.**接着学习了scanf和printf
先讲讲 printf,它的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format (格式化),表⽰可以
定制输出⽂本的格式。
举个例子,如上图,在括号里输入你想要的字符,在开始调试后屏幕上就会打印出来。printf() 不会在⾏尾⾃动添加换⾏符,运⾏结束后,光标就停留在输出结束的地⽅,不会⾃动换⾏。为了让光标移到下⼀⾏的开头,可以在输出⽂本的结尾,添加⼀个换⾏符 \n 。在使用的时候printf() 是在标准库的头⽂件== stdio.h ==定义的。使⽤这个函数之前,必须在源码⽂件头部引⼊这个头⽂件。
其次,再来讲讲scanf,当我们有了变量,我们需要给变量输⼊值就可以使⽤ scanf 函数。
scanf() 函数⽤于读取⽤⼾的键盘输⼊。
程序运⾏到这个语句时,会停下来,等待⽤⼾从键盘输⼊。
⽤⼾输⼊数据、按下回⻋键后, scanf() 就会处理⽤⼾的输⼊,将其存⼊变量。
它的原型定义在头⽂件 stdio.h 。
scanf() 的语法跟 printf() 类似。
scanf() 的返回值是⼀个整数,表⽰成功读取的变量个数。如果没有读取任何项,或者匹配失败,则返回 0 。如果在成功读取任何数据之前,发⽣了读取错误或者遇到读取到⽂件结尾,则返回常量 EOF。
语法:
1.printf还可以在输出⽂本中指定占位符。所谓 “占位符”,就是这个位置可以⽤其他值代⼊。
上⾯⽰例中, There are %d apples\n 是输出⽂本,⾥⾯的 %d 就是占位符,表⽰这个位置要
⽤其他值来替换。占位符的第⼀个字符⼀律为百分号 % ,第⼆个字符表⽰占位符的类型, %d 表⽰这
⾥代⼊的值必须是⼀个整数。printf() 的第⼆个参数就是替换占位符的值,上⾯的例⼦是整数 3 替换 %d 。执⾏后的输出结果就是 There are 3 apples 。
常⽤的占位符除了 %d ,还有 %s 表⽰代⼊的是字符串。
2.printf() 还允许限定占位符的最⼩宽度。
如:printf(“%5d\n”, 123);
上⾯⽰例中, %5d 表⽰这个占位符的宽度⾄少为5位。如果不满5位,对应的值的前⾯会添加空格。输出的值默认是右对⻬,即输出内容前⾯会有空格;如果希望改成左对⻬,在输出内容后⾯添加空格,可以在占位符的 % 的后⾯插⼊⼀个 - 号。
3.默认情况下, printf() 不对正数显⽰ + 号,只对负数显⽰ - 号。如果想让正数也输出 + 号,可
以在占位符的 % 后⾯加⼀个 + 。
4.输出⼩数时,有时希望限定⼩数的位数。举例来说,希望⼩数点后⾯只保留两位,占位符可以写
成 %.2f 。
**三.**if语句
if 语句的语法形式如下:
if ( 表达式 )
语句
表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏。在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是不是0,则语句执⾏。
else为if的反面,如果if不成立,那么else就会成立。例子如下:
默认在 if 和 else 语句中默认都只控制⼀条语句,那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤ {} 将代码括起来,else 后也可以跟上⼤括号。如下:
int age = 0;
scanf(“%d”, &age);
if(age >= 18) (if 后使⽤{} 控制多条语句-这个块也叫:程序块,或者复合语句)
{
printf(“成年了\n”);
printf(“可以交⼥朋友了\n”);
}
在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。⽐如:
else if(num > 0) (这⾥的if 相当于嵌套在els语句中,形成了嵌套结构)
printf(“输⼊的数字是正数\n”);
else
printf(“输⼊的数字是负数\n”)
上面景的代码就是嵌套在前⾯的 else ⼦句中的,构成了嵌套的if语句。
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配!!!
今天的学习就到这里,明天继续努力!