一、初识c语言
c语言是一种人与电脑沟通的语言,主要应用于操作系统、驱动层、硬件的底层开发,是一款编译型语言。
(1)基本格式
#include <stdio.h> //编译预处理命令,将头文件stdio.h包含在源文件中,以使用标准库函数
int main() //定义主函数(一个程序有且只有一个)
//int表示函数执行后会返回操作系统一个整型值
{ //函数开始的标志
printf("Hello,the world!\n"); //输出字符串:Hello,the world!
return 0; //返回整型值,表示程序正常结束
} //函数结束的标志
(2)数据类型
字符型char //字符数据类型
整型 short //短整型
int //基本整型
long //长整型
long long //长长的整形
unsigned //无符号整型
浮点型float //单精度浮点数
double //双精度浮点数
long double //长双精度整型
枚举类型 enum
(3)内存空间表示单位
1b(字节)=8bit(比特)1kb(千)=1024b 1mb(兆)=1024kb
1gb(吉)=1024mb 1tb(太)=1024gb
(4)计算变量或数据类型所占空间大小
格式字符:%d——表示按照十进制整型格式输出变量的值
%f——表示按照十进制小数格式输出变量的值(输出6位小数)
%c——表示输出字符型变量的值(一个字符)
sizeof是c语言提供的专门用于计算指定数据类型字节数的运算符,是关键字,不是函数名。
#include <stdio.h> //编译预处理命令,将头文件stdio.h包含在源文件中,以使用标准库函数
int main() //定义主函数(一个程序有且只有一个)
{ //函数开始的标志
printf(“%d\n”,sizeof(char)); //计算并显示一个变量所占内存的字节数
printf(“%d\n”, sizeof(short));
printf(“%d\n”, sizeof(int));
printf(“%d\n”, sizeof(long));
printf(“%d\n”, sizeof(long long));
printf(“%d\n”, sizeof(float));
printf(“%d\n”, sizeof(double));
printf(“%d\n”, sizeof(long double));
return 0;
} //函数结束的标志
(5)变量与常量
1、变量
定义变量的一般形式:类型关键字 变量名;
类型关键字用于声明变量的类型,变量的类型决定编译器为其分配内存单元的字节数、数据在内存单元中的存放形式
变量类型:局部变量——{}内部定义的变量
全局变量——{}外部定义的变量
当全局变量和局部变量名字相同的情况下,局部优先(建议不相同)
1)变量的作用域(可用范围)
局部变量的作用域是变量所在的局部范围
全局变量的作用是整个工程(若使用来自外部的符号,需要声明:
extern int 符号;
2)变量生命周期
局部变量:进入作用域生命周期开始,出作用域生命周期结束。
全局变量:整个程序的生命周期
2、常量
1)字面常量(整型、浮点型、字符型、字符串
2)const 修饰的常变量
const int a = 10——>a本质是变量,但不能被直接修改,有常量的属性
3)#define定义的标识符常量
#define qq 12 //qq不可更改
4)枚举常量
enum COLOR
{
RED,
GREEN,
BLUE,
};
int main()
{
enum COLOR c =RED //RED为常量,不可更改
return 0
}
(6)字符、字符串与转义字符
1、字符——‘w’
2、字符串——“abcd”
存放: char arr[] =“abcd”
strlen计算字符串的长度
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abc"));
return 0;
}
—————————————
#include <stdio.h>
int main()
{
char arr[] = "abcef";
printf("%d\n", strlen(arr));
return 0;
}
内存中:abcd\0(转义字符\0是字符串结束的标志,不算做字符串内容,不计入字符串长度)
例1:‘a’,’b’,’c’,’\0’=”abc”
例2:
#include <stdio.h>
int main()
{
printf("abc0def");
printf("abc\0def");
return 0;
}
3、转义字符(转变了原来的意思)
(一个转义符号长度为一个字符)
转义字符 | 释义 |
\? | 在书写连续多个问号时使用,防止它们被解析为三字母词 |
%d | 打印整型 |
%c | 打印字符 |
%s | 打印字符串 |
%f | 打印float类型的数据 |
%lf | 打印double类型的数据 |
%zu | 打印sizeof的返回值 |
\n | 换行 |
\’ | 打印单引号 |
\” | 打印双引号 |
\\ | 反斜线,使斜杠不组成其他转义字符 例:printf(“abcd\\0ab”)——>abcd\0ab |
\t | 水平制表符 |
\a | 蜂鸣警告 |
\r | 回车 |
\ddd(d代表数字) | 1~3位八进制ASCII码值所代表的字符 (8、9不能使用)例:\130——>88=x |
\xdd | 1~2位十六进制ASCII码值所代表的字符 例:\x11——>17 |
4、注释
C语言注释:/*xxxxxx*/
(缺陷:不能嵌套注释
C++注释://xxxx
二、两数之和
(1)
#include <stdio.h> //函数编译预处理
int main() //定义主函数
{
int a = 1; //定义整型变量a并对其初始化
int b = 2; //定义整型变量b并对其初始化
int sum = a + b; //求和
printf("%d\n", sum); //输出和
return 0; //函数执行完毕返回0
}
(2)
#define _CRT_SECURE_NO_WARNINGS //vs中使用scanf所特定的语句
include <stdio.h> //函数编译预处理
int main() //定义主函数
{
int a,b; //定义整型变量a,b
scanf("%d %d",&a,&b); //输入a,b值,需自行输入
int sum = a + b; //定义整型变量并求和
printf("%d\n", sum); //输出和
return 0; //函数执行完毕返回0
}