C++基础二:三大结构

一、顺序结构

赋值表达式

在C语言中可以使用等号“=”来实现赋值操作

等号右边可以是一个值也可以是一个表达式

赋值运算符可以通过将其他运算符放在前面来实现赋值操作的简化

使用scanf和printf进行输入和输出

C语言的stdio.h库函数提供了scanf和printf函数,分别对应输入和输出

1.scanf函数

scanf是输入函数,其格式如下:
scanf("格式控制",变量地址);

双引号里面的%d表示通过这个scanf用户需要输入一个int型的变量

&n前面的&,在C语言中,变量在定义之后,就会在计算机内存中分配一块空间给这个变量,该空间在内存中的地址称为变量的地址,为了得到变量的地址,需要在变量前加一个&(取地址运算符)

从上表发现数组名str前面并没有&取地址运算符,因为数组比较特殊,数组名称本身就代表了这个数组第一个元素的地址,所以不需要再加取地址运算符

即在scanf中,除了char数组整个输入的情况下不加&之外,其他变量类型都需要加&

scanf的双引号内的内容其实就是整个输入,只不过把数据换成它们对应的格式符并把变量的地址按次序写在后面而已

如果要输入"3 4"这种用空格隔开的两个数字,两个%d之间可以不加空格

可以不加空格的原因是,除了%c以外,scanf对其他格式符的输入时以空白符(即空格、Tab)为结束判断标志的,因此除非使用%c把空格按字符读入,其他情况都会自动跳过空格

另外,字符数组使用%s读入的时候以空格跟换行为读入结束的标志

2.printf函数的使用

在C语言中,printf函数用来输出,与scanf函数类似,printf函数的格式如下:
printf("格式控制",变量名称);

可见,printf的双引号中的部分和scanf的用法是相同的,但后面并不像scanf那样需要给出变量地址,而是直接跟上变量名称即可

由上图可以看出,对于double类型的变量,其输出格式变成了%f,而在scanf中却是%if,在有些系统中如果把输出格式写成%if也不会出错

在printf中也可以使用转义字符,如果想在必要的地方换行,可以加上"\n"

如果想要输出"%"或者"\",则需要在前面加一个%或\,如下

printf("%%");

printf("\\");

三种实用的输出格式

(一)%md

%md可以使不足m位的int型变量以m位进行右对齐输出,其中高位用空格补齐,如果变量本身超过m位,则保持原样

(二)%0md

和%md唯一的不同点在于,当变量不足m位时,将在前面补足够数量的0而不是空格

(三)%.mf

%.mf可以让浮点数保留m位小数输出,这个保留使用的是精度的“四舍六入五成双”

即若要求浮点数的输出保留x位小数,或者精确到小数点后x位,就用该格式进行输出

注:如果是四舍五入,需要用到round函数

使用getchar和putchar输入\输出字符

getchar用来输入单个字符,putchar用来输出单个字符

注:getchar可以识别换行符

注释

注释是C/C++中常用的,用来在需要进行注解的语句旁边对语句进行解释,在程序编译的时候会自动跳过该部分,不执行这些被注释的内容

C++的注释有两种:

1.使用/**/注释

2.使用//注释

typedef

typedef可以给复杂的数据类型起一个别名,在使用中可以用别名来代替原来的写法

例如当数据类型是long long时,可以写下述代码

typedef long long LL;

常用的math函数

C语言提供了很多种实用的数学函数,如果要使用,需要在程序开头加上math.h头文件

1.fabs(double x)

该函数用于对doube型变量取绝对值

2.floor(double x)和ceil(double x)

以上两个函数分别用于double型变量的向下取整和向上取整,返回类型为double型

3.pow(double r,double p)

该函数用于返回rp,要求r和p都是double型

4.sqrt(double x)

该函数用于返回double型变量的算术平方根

5.log(double x)

该函数用于返回double型变量的以自然对数(e)为底的对数,即lnx

6.sin(double x)、cos(double x)、tan(double x)

以上三个函数分别返回double型变量的正弦值、余弦值和正切值,参数要求是弧度制,

7.asin(double x)、acos(double x)、atan(double x)

以上三个函数分别返回double型变量的反正弦值、反余弦值和反正切值,参数要求是弧度制,

8.round(double x)

该函数用于将double型变量x四舍五入,返回类型也是double型,需要进行取整

二、选择结构

if语句,格式如下

if语句当条件满足时会执行其中的内容,但如果当条件不满足时候也有语句需要执行,则应当使用else,格式如下

这样当条件A成立时就会执行第一个省略号中的内容,当条件A不成立时则执行第二个省略号中的内容

如果省略号中的内容只有一个语句,那么可以去掉大括号,使外观更简洁,一般只有在明确不会出错的情况下才可以将大括号去掉

如果需要在else的分支下再根据某个条件来选择不同的语句,那么可以使用else if的写法,即

这样就会先判断条件A是否成立,如果不成立,则判断条件B是否成立,如果还不成立,才会执行最后一个省略号的内容

if(n)的写法等同于if(n!=0),这里由于if条件语句接收的是括号中表达式的“真”或“假”,即1或0,而n本身作为一个整数,当n为0时,则相当于为“假”,当n不为0时,则相当于为“真”

if(!n)的写法等同于if(n==0),理由上同

if语句的嵌套

if语句的嵌套是指在if或者else的执行内容中使用if语句,格式如下

switch语句

switch语句在分支条件较多时会显得比较精炼,但是在分支条件较少时候用的不多,格式如下

循环结构

while语句,格式如下

while的格式十分简洁,并且跟if语句十分相像,只要条件A成立,就反复执行省略号的内容,如果不加大括号,则while循环只作用于while后的第一个完整语块

while条件判断的是真假,因此在条件语句中的技巧同样适用

1.如果表达式是"!=0",可以省略"!=0"

2.如果表达式是"==0",可以省略"==0",并在表达式前添加非预算符"!"

do while语句,格式如下

do while语句会先执行省略号中的内容一次,然后才判断条件A是否成立,如果条件A成立,继续反复执行省略号的内容,直到某一次条件A不再成立,则退出循环

for语句

for语句的使用频率是三种循环语句中最高的,格式如下

1.在for循环开始前,首先执行表达式A

2.判断表达式B是否成立,若成立,执行省略号内容,否则,退出循环

3.在省略号内容执行完毕后,执行表达式C,再回到步骤2

break和continue语句

break可以强制退出循环

continue可以在需要的地方临时结束循环的当前轮回,然后进入下一个轮回


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部