一、基本语句
1、表达式语句
格式:表达式;
执行表达式语句就是计算表达式的值
2、函数调用语句
格式:函数名(实际参数表);
调用函数体并把实际参数赋予函数定义的形式参数,然后执行被调函数体中的语句
3、控制语句
条件判断语句 :if 、switch
循环语句:do while 、while、for
转向语句:break、goto、continue、return
4、复合语句:用{}将单条语句括起来,看作单条语句
5、空语句: { ;}就是什么都不执行
二、赋值语句
形式:变量=表达式;
注意:
1、“=”的右边又可以是一个赋值表达式。
如:变量=(变量=表达式);
2、变量说明中给变量赋值初值和赋值语句区别
Int a=1,b,c;
3、变量说明中不允许连续给多个变量赋初值
Int a=b=c=3;此为错误
Int a=3,b=3, c=3;
4、赋值语句和赋值表达式的区别
赋值表达式是一种表达式,可以出现允许地方,而赋值语句不行
If((x=y+5)>0) z=x; 为正确
If((x=y+5;)>0) z=x;为错误
三、字符数据的输入输出
putchar函数(字符输出函数)
其功能是在显示器上输出单个字符
形式:putchar(字符变量)
四、格式输入与输出
printf函数(格式输出函数)
最后一个字母f表示format,按照用户指定的格式进行输出。
格式:printf(”格式控制字符串”,输出列表)
格式字符串:
“%d”表示按十进制整型输出
“%ld”表示按十进制长整型输出
“%c”表示按字符型输出
格式字符串和各输出项在数量和位置上一一对应
#include <stdio.h>
void main()
{
int a=88,b=99;
printf("%d%d\n",a,b);
printf("%d\n%d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c%c\n",a,b);
printf("a=%d,b=%d\n",a,b);
}
1)格式字符串
格式字符 | 解释 |
d | 以十进制形式输出带符号整数(正数不输出符号) |
o | 以八进制形式输出无符号整数(不输出前缀o) |
x,X | 以十六进制形式输出无符号整数(不输出前缀x) |
u | 以十进制形式输出无符号整数 |
f | 以小数形式输出单、双精度实数 |
e,E | 以指数形式输出单、双精度实数 |
g,G | 以%d或%e中较短的输出宽度输出单、双精度实数 |
c | 输出单个字符 |
s | 输出字符串 |
2)标志:标志字为—、+、#空格四种
标志 | 解释 |
- | 结果左对齐,右边填空格 |
+ | 输出符号(正号或负号) |
空格 | 输出值为正冠以空格,为负号冠以负号 |
# | 对0类前加前缀o,对x类前加x,对e、g、f当有小数结果加小数点 |
3)输出最小宽度:用十进制整数表示输出的最少位数,若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0
4)精度:
精度格式符以“.”开头,后缀十进制整数,本项的意义:如果输出数字,则表示小数的位数,如果输出的是字符,则表示输出字符的个数,若实际位数大于所定义的精度数,则截去超过的部分。
5)长度:长度格式符为h、l两种,h表示短整型量输出,l表示按长整型量输出
scanf函数(格式输入函数)
scanf(”格式控制字符串”,地址列表)
a=100;
a为变量名,100为变量的值,&a为变量的地址
赋值号右边为变量名,不能写地址,而scanf函数的本质是给变量赋值,但是要求写变量地址。
#include <stdio.h>
int main()
{
int a,b,c;
printf("请输入三个数字\n");
scanf("%d%d%d",&a,&b,&c);
printf("%d%d%d",a,b,c);
system("pause");
return 0;
}
格式字符串形式:%[*][输入数据宽度][长度]类型
类型:表示数据类型
d十进制
o八进制
x十六进制
u无符号十进制
f实型
c单字符
s字符串
“*”:表示该输入项,读入后不赋予相应的变量,即跳过该输入值
Scanf(”%d&d”)
输入宽度:取几位
长度:l和h,l长整型,h短整型
间隔用空格,tap,回车
对于%c是输入,空格也是一个字符
#include <stdio.h>
int main()
{
char a,b;
printf("请输入字符\n");
scanf("%c%c",&a,&b);
printf("%c%c",a,b);
system("pause");
return 0;
}
ASCII
A-65
a-97
相差32
五、顺序结构程序设计举例
已知三角形三边长a,b,c求三角形面积公式:Area=square root (s(s-a)(s-b)(s-c))
#include<stdio.h>
#include<math.h>
double main()
{
double a,b,c,s,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
s=1.0/2.0*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2g,b=%7.2g,c=%7.2g,s=%7.2g\n",a,b,c,s);
printf("area=%7.2f\n",area);
system("pause");
return 0;
}
求a𝑥2ax^2+bx+c=0方程的根,a,b,c由键盘输入,设𝑏2−4ac>b^2-4ac>0。