目前这c语言都已学了有一年半,但是平时用处嗷不大,再归纳一下
1. 顺序程序设计:
格式字符
- 字符char的输入输出:getchar()的作用为终端输出一个字符 。 putchar()的作用为向系统隐含的输入设备中输入一个字符。(不常用)
- 格式的输入输出:printf(),
printf("%d",i);
括号包括:%和格式字符组成。常见的格式字符有d:#十进制整数。%d,按照实际长度显示;%md,m代表输出宽度,%ld:输出位长整型数据。long型。o:#%o为输出八进制数;x:#%x为十六进制数;c为一个字符。s:#为一个字符串,%s为实际长度;%ms,m代表输出长度,若m>列长,左补空格;%-ms,右补空格。%m.ns,输出字符串中从左数n列,左补空格m-n.f:#用来表示小数。有效小数为6位。
格式字符 | 诠释 |
---|---|
d | 整数 |
o | 八进制输出整数 |
x | 十六进制输出整数 |
c | 只输出一个字符 |
s | 输出字符串 |
l | 长整型整数 |
m | 数据的宽度 |
n | n位小数 |
— | 右补空格 |
scanf():scanf("%d%d%d",&a,&b,&c);
格式控制加地址表列。
2.选择结构
关系运算符的优先级低于算术运算符;高于赋值运算符;
逻辑运算符低于关系运算符高于赋值。
术系辑值 3
- 关系运算符有(<,>,<=,>=;等级相同,高于==,!=)
- 算术运算符有(+,-,*)
- 赋值运算符有(=)
- 逻辑运算符&&,||,!,&&与||为双目运算符,必须有两个运算量,!为一目运算(都真且为真,都假且为假,亦真亦假或为真,非假则为真)。
5.条件运算符:三目运算符(1)?(2):(3),执行顺序从1到3 ,若1 为真,带入2 判断;若1 为假,带入3 。2,3即为表达式的值。
if语句
- if(表达式)
- if(表达式)语句1else语句2
- if(表达式)语句1 elseif(表达式2)语句2
- if语句的嵌套:
else 总是与离它最近的if配对,可用花括号改善;
if()
if()
else
if()
else
-----------------
if()
{
if()
}
else
switch语句
switch语句是多分支选择语句,
switch()
{
case 常量表达式1 :语句1 ;break;
case 常量表达式2 :语句2 ;break;
case。。。。。
default:xxxxx;
}
switch后表达式的值可以为整数,字符型
3.循环控制
3.1goto语句
goto一般不建议使用,容易打乱程序的顺序。为无条件转向,内循环跳到外层。
loop:if()
{
***
goto loop;
}
3.2 while 语句
当语句,叠加循环,与do while类似,但是当你输入的初值不满足判断条件时,do while 计算错误,因为它是先进行执行循环体,再判断循环条件 。
3.3for语句
除了可以代替while语句的已经循环次数,还可以应用于未知循环次数。
说明:for(表达式1 ;表达式2;表达式3)
表达式1 为循环变量的初值,表达式2为循环判断条件,表达式3为循环变量增值。1可以舍去,但“;”不可以丢掉,2如果去掉,则一直处于死循环相当于while(1),3可以放在for的子语句里。for语句可以同时控制两个以上的变量,如:for(i=0,j=100;i<=j;i++,j--)
表达式1,3可以有逗号表达式。
3.4 break语句与continue语句
break与continue用于for,while,do while,break表示可以跳出循环;continue表示跳出本次循环,也可以用于if的循环语句。但不能用于if与goto语句。
栗子:求出一个范围里的所有满足要求的数100-200中不能被3整除
#include<stdio.h>
void main ()
{
int i;
for(i=100;i<=200;i++)
{ if(i%3)!=0
continue;
printf("%d",i);
}
}
说明:break,continue不可作用于除循环语句与switch之外。