C 的基本结构
示例1
#include <stdio.h> //预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
int main() //主函数,程序从这里开始执行
{
/*第一个C程序*/
printf("Hello,kimyu");
return 0; //终止 main() 函数,并返回值 0
}
结果:
C的变量定义
示例2(申明与定义的区别
extern int a=11,b=17; //a与b的申明和初始化
int a=11,b=17; //定义并初始化
byte =22; //定义并初始化
char x='kim'; //变量x的值为‘kim’
示例3(变量在头部就已经被声明,但是定义与初始化在主函数内
#include <stdio.h>
// 函数外定义变量 x 和 y
int x;
int y;
int addtwonum() //相加
{
// 函数内声明变量 x 和 y 为外部变量
extern int x;
extern int y;
// 给外部变量(全局变量)x 和 y 赋值
x = 1;
y = 2;
return x+y;
}
int main()
{
int result;
// 调用函数 addtwonum
result = addtwonum();
printf("result 为: %d",result);
return 0;
}
结果:
const关键字
示例4(使用 const 前缀声明指定类型的常量
#include <stdio.h>
int main()
{
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n'; //新的一行换行
ares= LENGTG*WIDTH;
printf(“value of area : %d”,area): //%d:输出为整型
printf("%c",NEWLINE);//%c:输出为字符
return 0;
}
结果:
static 存储类
示例5(使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。
static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。
全局声明的一个 static 变量或方法可以被任何函数或方法调用,只要这些方法出现在跟 static 变量或方法同一个文件中。
#include <stdio.h>
void func1(void); //函数声明,调用函数
static int count = 10; //全局变量
int main()
{
while(count--){ //count逐步减一(9-0)
func1();
}
return 0;
}
void func1(void) //声明函数func1
{
/* 'thingy' 是 'func1' 的局部变量 - 只初始化一次
* 每次调用函数 'func1' 'thingy' 值不会被重置。
*/
static int thingy=5;
thingy++;
printf(" thingy 为 %d , count 为 %d\n", thingy, count);
}
结果:
运算
示例 6(算术易混淆
#include <stdio.h>
int main()
{
int c;
int a = 10;
c = a++;
printf("先赋值后运算:\n");
printf("Line 1 - c 的值是 %d\n", c );
printf("Line 2 - a 的值是 %d\n", a );
a = 10;
c = a--;
printf("Line 3 - c 的值是 %d\n", c );
printf("Line 4 - a 的值是 %d\n", a );
printf("先运算后赋值:\n");
a = 10;
c = ++a;
printf("Line 5 - c 的值是 %d\n", c );
printf("Line 6 - a 的值是 %d\n", a );
a = 10;
c = --a;
printf("Line 7 - c 的值是 %d\n", c );
printf("Line 8 - a 的值是 %d\n", a );
结果:
判断
示例7(三元运行
#include <stdio.h>
int a=10;
int b=20;
char buy;
int sum,number;
int main(){
printf("一下是本店的商品及价格:\n a 商品每个十元;\n b 商品每个二十元;\n\n");
printf("请输入你所需的产品(a or b):");
scanf("%c",&buy); //输出,等同于Python的input
printf("请输入所需的数量:");
scanf("%d",&number);//表示从键盘接收一个整数存储到内存中&number所指的地址,也就是变量number中。
/* sum总量赋值于buy,“?与:”的作用是:若buy的赋值与a为真,则选择a*number,否则为b*number*/
sum=buy=='a'?a*number:b*number;
printf("\n你所需要的%d个%c商品总共%d元。\n",number,buy,sum);
return 0;
}
结果:
循环类型
- while 循环
C 语言中 while 循环的语法:
while(condition) //condition为任意表达式
{
statement(s); //一个单独的语句,也可以是几个语句组成的代码块
}
示例8
#include <stdio.h>
int main(){
int a = 28;
while(a>17){
printf("a的值为:%d\n",a)
a++;
}
return 0;
}
结果:
- for 循环
C 语言中 for 循环的语法:
for ( init; condition; increment ) //
{
statement(s);
}*
- do…while 循环
- 嵌套循环