c语言——基本语法
Posted 朱先生和陈小姐的SMART日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言——基本语法相关的知识,希望对你有一定的参考价值。
前言
c语言由Dennis MacAlistair Ritchie创始,是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。
本期将简洁地介绍c的基本语法。
目录
1.输入输出
2.选择结构
3.循环结构
4.数组
5.结构体
6.子函数
01
输入输出
一、printf输出
格式:printf(格式控制,输出表列);
例如:printf("%d, %c\n", i, c);
二、scanf输入
例如:scanf("a=%f", &a);
注意:输入的内容要与引号内的内容一致
输入输出中的“%+格式符”控制了输入输出的格式,两者的格式符相似:
d,表示有符号的十进制整数
u,表示无符号的十进制整数
c,表示单个字符
s,表示字符串,以'\0'结束
f,表示实数,含6位小数。输出时若要指定数据宽度和小数位数,用%m.nf,例如%7.2f表示,输出数据占7列,其中包括2位小数
l,附加字符,ld和lu表示长整型,lld表示双长整型,lf表示double型数据
02
一、if语句
格式:if (表达式1)
{语句1}
else if (表达式2)
{语句2}
...
else
{语句n}
注意:若语句只有一句,则可以省略大括号
表达式中要使用关系运算符和逻辑运算符:
<, <=, >, >=, ==, !=
与&&,或||,非!
优先度:非! → 算数运算符 → 关系运算符 → 与&&和或|| → 赋值运算符
03
循环结构
一、while语句——先判断,再循环
格式:while (表达式)
{语句}
二、do...while语句——先循环,再判断
格式:do
{语句}
while (表达式);
三、for语句——循环次数确定
格式:for (赋初值;循环条件;增/减值)
{语句}
例如:for (i=1; i<=10; i++)
{
sum=sum+i;
}
break语句可以终止循环,continue语句可以提前结束本次循环
04
数组
一、一维数组
定义:类型符 数组名[常量];
例如:int a[10];
注意:c语言中的元素下标从0开始
给数组初始化,可以写a[2] = {1, 2};
也可以只赋值一部分,a[2] = {1};
全赋值为0,a[10] = {0};
二、二维数组
定义:类型符 数组名[常量][常量];
例如:float form[4][5];
其用法与一维数组类似
三、字符数组
定义:类型符 数组名[常量];
例如:char c[10];
字符串以'\0'为结束标志,使用printf("%s", c)输出整个字符数组c时,遇到'\0'便结束
05
一、结构体变量
定义:struct 结构体名
{
成员表列
} 变量名表列;
例如:struct Student
{
long int num;
char name[20];
char sex;
} identity;
引用结构体变量中的成员,方式为
结构体变量名.成员名
例如:identity.num
这些变量也可以参与运算、赋值等
06
子函数
一、无参函数
定义:类型名 函数名()
{
函数体
}
调用:如move(),可以作为单独一个语句,调用定义的函数move,完成一定的操作:
void move()
{语句}
//类型为void,没有返回值
二、有参函数
定义:类型名 函数名(形式参数表列)
{
函数体
}
调用:如c = max(a,b),将a、b两个实际参数传递到子函数的形式参数,再用return返回数值:
c = max(a,b);
int max(int a, int b)
{
int z;
z = x>y? x:y; //比较a、b的大小
return z;
}
不同函数可以互相调用,但main函数不能被调用。同一函数也可以调用本身,这样就形成了递归函数。
最后附上完整的斐波那契递归函数
#include <stdio.h>
#include <stdlib.h>
long F(long n);
int main()
{
long n;
printf("输入n值\n");
scanf("%ld",&n);
printf("斐波那契数列第n项是%d",F(n));
return 0;
}
long F(long n)
{
if (n<=2)
return n;
else
return F(n-2)+F(n-1);
}
THE
END
XIUMI
扫描二维码
感谢你的关注与支持
以上是关于c语言——基本语法的主要内容,如果未能解决你的问题,请参考以下文章