//预编译头文件
#define _CRT_SECURE_NO_WARNINGS 1
//引用头文件,以使用printf()函数
#include <stdio.h>
// main() 主函数,一个工程中有且仅有一个main函数,一个工程可以有多个.c文件,但是多个.c文件中只能
//有 一个main函数
int main()
{
//打印函数
printf("第一个运行的程序");
return 0;
}
运行结果:
?数据类型:
int main()
{
//字符类型
char ch = 'a';
//整形
int age = 20;
//短整形
short num = 10;
//长整形
long dol = 23222322;
//更长的整形
long long nums = 2000000000000000;
//单精度浮点
float weight = 55.6;
//双精度浮点
double d = 0.0;
return 0;
}
数据类型大小:
int main()
{
//printf("hellow\n");
//
%d:打印一个整数
//printf("%d", 100);
// sizeof() 计算机类型或者变量所占空间的大小
printf("%d\n", sizeof(char));1(字节)
printf("%d\n", sizeof(short));2(字节)
printf("%d\n", sizeof(int));4(字节)
printf("%d\n", sizeof(long));5(字节)
printf("%d\n", sizeof(long long));8(字节)
printf("%d\n", sizeof(float));4(字节)
printf("%d\n", sizeof(double));9(字节)
return 0;
}
//计算机中的单位(由小到大):
bit ->比特位
byte->字节(一个字节八个比特位)
kb->1024byte
mb->1024kb
gb->1024mb
tb->1024gb
pb->1024tb
变量、常量:
常量:不能改变的量,就比如说血型、性别、圆周率
变量:能被改变的量,就比如说工资、年龄
例:
int main()
{
//创建一个变量
//类型 变量名 =0;推荐
//类型 变量名;不推荐
int age = 20;
double weight = 70.5;
age += 1;
weight -= 20;
printf("%d\n", age);
//%lf double用 ffloat用
printf("%lf\n", weight);
return 0;
}
变量的分类:
局部变量:{}内部定义的
全局变量:{}外部定义的
例:
//全局变量 ->{}外部定义的
int a = 100;
int main()
{
//局部变量 ->{}内部定义的
int a = 10;
printf("%d\n", a);//10 当局部变量和全局变量名字冲突是局部变量优先(不建议写成一样的)
return 0;
}
int main()
{
int a = 0;
int b = 0;
int sum = 0;
//scanf函数是输入函数
scanf("%d %d", &a, &b);
sum = a + b;
printf("sunm=%d\n", sum);
return 0;
}
//注scanf要使用要在第一行加#define _CRT_SECURE_NO_WARNINGS
?变量的作用域和生命周期:
作用域:一般程序代码中所用到的变量名并不总是有效的/可用的,限定这个名字的可用性的代码范围就是这个名字的作用域。通俗来说就是那里可以使用那里就是它的作用域。
例:
#include <stdio.h>
int num=2;
int main()
{
int a = 10;
printf("%d", a); //可以
printf("%d", num);//可以
return 0;
}
#include <stdio.h>
int main()
{
{
int a = 10;
}
printf("%d", a); //不可以
printf("%d", num);//可以
return 0;
}
文件引入:
extern int tse;//一文件引入另一个文件的变量
int main()
{
int a = 10;
printf("%d", tse);
return 0;
}
生命周期:
变量的生命周期:变量的创建和销毁之间的时间段
局部变量的生命周期:进去局部范围生命开始,出局部范围生命结束;
int main()
{
{
int a = 10;
printf("%d", a);
}
return 0;
}
全局变量的生命周期:程序的生命周期;
常量:
1、字面常量:
int main()
{
3.14;
10;
'a';
"absjdks";
return 0;
}
2、const修饰的常变量:
int main()
{
const int num = 10;//(num就是常变量->具有常属性(不可改变的属性)
num = 10;//会报错
const int n = 10;
int arr[n]={0};//会报错 n是常量
return 0;
}
3、#define定义的标识符常量:
#define MAX 1000;
int main()
{
MAX = 2000;//会报错
int n = MAX;
printf("%d", n);//1000
return 0;
}
4、枚举常量:
enum Sex
//这种枚举类型的变量的未来可能取值
{
MALE=3,//赋初值
FEMALE,
SECRET
};
int main()
{
enum Sex s = MALE;
MALE = 3;//报错
printf("%d\n", MALE);//3
printf("%d\n", FEMALE);//4
printf("%d\n", SECRET);//5
return 0;
}
字符串+转义字符+注释:
字符串就是一串字符->用""括起来的一串字符:
#include <string.h>//搭配strlen()
int main()
{
//字符数组-数组是一组同类型的元素
char arr[]="hello";//内存hello\0 \0结束标志 自带
char arr2[] = { 'h','e','l','l','o','\0'};//内存hello 打印内容不同,解决:手动加\0
int len = strlen("hello");//5 strlen 获取字符串长度
printf("%d\n", len);
printf("%d\n", strlen(arr2));
printf("%s\n", arr);
printf("%s\n", arr2);
return 0;
}
转义字符:
//转义字符 :转别这个字符的原有意思
int main()
{
printf("c:\test\test.c"); //c: est est.c
printf("c:\\test\\test.c"); //c:\test\test.c
printf("\a\a\a");//警告 电脑会响一下
return 0;
}
int main()
{
// printf("are you ok??");
//打印单引号
printf("%c\n", '\'');
return 0;
}
int main()
{
printf("%d", 100);//打印整数
printf("%c", 'a');//打印字符
printf("%s", "abc");//打印字符串
return 0;
}
ASCII码值:
int main()
{
// \后跟三个数字 就是把输入的字符8进制转换10进制所对应的ASCII码值
//ASCII码值:ASCII码表每一个字符都对应一个ASCII码值
printf("%c\n",'\130');//打印X X:ASCII码值是88
printf("%c\n", '\101');//打印A A:ASCII码值是65
printf("%c\n",'\x30');//打印0 就是输入的字符x后面的16进制所对应的ASCII码值
printf("%d\n",strlen("c:\test\test.c")); //12
return 0;
}
选择语句:
int main()
{
int input = 0;
printf("我是你大爷吗?(1/2)");
scanf("%d",&input);
if (input == 1)
{
printf("大爷好\n");
}
else
{
printf("滚犊纸\n");
}
return 0;
}
循环语句:
int main()
{
int line = 0;
while (line < 30000)
{
printf("写代码:%d\n",line);
line++;
}
if (line == 30000)
{
printf("我会了");
}
return 0;
}
函数:
int Add(int x, int y)
{
return x + y;
}
int main()
{
int num1 = 0;
int num2 = 0;
scanf("%d%d", &num1, &num2);
int num =Add(num1 ,num2);
printf("%d", num);
return 0;
}
数组:
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
char ch[5] = { '1','2' };//不完全初始化
int i = 0;
while (i < 10)
{
printf("%d", arr[i]);//12345678910
i++;
}
return 0;
}
操作符:
算数操作符:+ - * / %
移位操作符:>> <<
位操作符: &:(按位与) |:(按位或) ^:(按位异或)
赋值操作符:= += -= *= /= %= ^= |= &= <<= >>=
单目操作符:! - + ++ -- sizeof
|