基础
语句以分号结束
区分大小写
1.注释
//单行注释 /* 多行注释 */ |
2.头文件
扩展名为.h的文件,包含c函数声明和宏定义
3.输入输出
输出: printf() 、 putchar() 、
输入: scanf() 、 getchar()
//Hello World ! #include<stdio.h> int main(){ printf("Hello World !"); return 0; } |
格式化输入输出:
printf(格式控制 ,输出表列);
scanf(格式控制 ,地址表列);
格式控制 | 含义 |
%d | 整型数据 |
%c | 字节型数据 |
%s | 字符串数据 |
%f | 浮点型数据 |
%i | 整型,在scanf中可以匹配八进制、十进制、十六进制表示的整数。 |
%e | 指数形式 |
%o | 八进制形式 |
//比大小 #include<stdio.h> int main(){ int a,b,c; scanf("%d %d",&a,&b); c=a>b?a:b;//条件运算符 printf("%d",c); return 0; } |
4.变量常量
常量定义:
变量定义:
#define 标识符 常量
类型名 变量名
//圆面积 #include<stdio.h> #include<math.h> #define PI 3.1415926 int main(){ int r; double s; scanf("%d",&r); s=PI*pow(r,2); printf("%.4f",s); return 0; } |
变量作用域
局部变量——在函数或语句块内定义的变量,只在范围内有效
全局变量——在main外定义,在整个程序有效
变量的存储方式
自动变量——auto,在调用结束时自动释放
auto int a=0; 默认声明变量的方式为auto
静态变量——static,保留原值,占有的存储单元不释放,并且静态变量有初值
static int a=0;
5.数据类型
整型: int 、 long int 、 short int
浮点型: float 、 double
字符型: char
6.运算符
算术运算符: + - * / %
赋值运算符: =
关系运算符: > < == >= <= !=
逻辑运算符: ! && | |
自增自减运算符: ++ --
条件运算符: ? :
求字节数运算符: sizeof()
//华氏温度-摄氏温度 //公式:c=5/9(f-32) #include<stdio.h> void main(){ float c;//华氏温度 int f=99;//摄氏温度 c=5.0/9*(f-32); printf("%f",c); } |
7.转义字符
转义字符 | 含义 |
\n | 换行 |
\t | 用于对齐 |
\b | 退格 |
\\ | 代表一个“\" |
\' | 代表一个单撇号 |
8.ASCII
字符 | ASCII |
0 | 48 |
9 | 57 |
a | 97 |
z | 122 |
A | 65 |
Z | 90 |
空格 | 32 |
基本语句
1.if语句
//简单格式 if(表达式) 语句; //非真即假 if(表达式) 语句1; else 语句2; //多层判断 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; …… else 语句n; |
//成绩判断 #include<stdio.h> int main(){ int num; scanf("%d",&num); if(num>=90) printf("优秀!"); else if(num>=70) printf("良好"); else if(num>=60) printf("合格"); else printf("继续努力,不要放弃!"); } |
2.switch语句
//格式 switch(表达式){ case 常量表达式1:语句1;break; case 表达式2:语句2;break; …… case 表达式n:语句n;break; default:语句n+1; } |
//成绩判断 #include<stdio.h> void main(){ int num; scanf("%d",&num); num=num/10; switch(num){ case 10: case 9:printf("优秀!");break; case 8: case 7:printf("良好");break; case 6:printf("合格");break; default:printf("继续努力,不要放弃!"); } } |
3.循环语句
while循环
//先判断表达式,后执行循环体 while(表达式){ 循环体语句 } //先执行循环体,在判断表达式,循环体至少执行一次 do{ 循环体语句 }while(表达式) |
for循环
for(表达式1;表达式2;表达式3){ 循环体语句 } |