中文字符解析
不同操作系统使用的中文编译器不同可能会输出乱码,可以使用最常用的软件,用一个软件来编译识别最好。
C语言入门
c语言的意义:
C语言是最底层的语言,相当于桥梁沟通外界。
int 类型的函数必须要有return的返回值
int 类型的函数必须要有return的返回值
格式控制符
- int 整型:%d
- unsigned int 无符号整型 : %u
- short整型:%hd,h代表half,即一半的存储字节
- long整型:%ld
- long long整型:%lld
- 显示不同进制的前缀 : %#o、%#x
- %p为取地址
- 符号位:
- 有符号的整型数据,首位为符号位,0表示正数,1表示负数。
- 无符号的整型数据,没有符号位
运行结果演示
main的基本运用
main()前面没有加任何类型的话,系统会默认为int类型。
#include <stdio.h>//<>是系统默认在/user/include寻找stdio.h这个头文件
#include "stdio.h"//""是系统默认在此程序当前目录(文件夹)寻找<stdio.h>,如果没有才会 在/user/include寻找stdio.h这个头文件
man手册第二本只应用于linux,第三本应用于windows。
implicit declaration of function 'fork' [-Wimplicit-function-declaration]
表示没有头文件,隐式问题
{}的写作格式
{}是用来当作一个作用域来使用;
无论有多少个{}正文都与{}空4格子
演示:
#include <stdio.h>
#include <stdio.h>
int main()
{
printf("总经理\n");
{
printf("研发部\n");
{
printf("我是程序员 ron");
}
}
{
printf("销售部\n");
{
printf("我是销售员 帅哥");
}
}
}
一些字符串在不同操作系统的储存大小
程序
32位
64位
下面是对格式控制符的深层应用
图片中有细节讲解值得仔细观看
#include <stdio.h>
int main(int argc, char const *argv[])
{
// 申请2个字节的空间,并取名为a,俗称定义变量a
// 空间a的内容为随机数
// a空间只能存放整数
// a空间存放的最大值为2字节的数据
short int a;
// 在同一个作用域({})下,不能出现两个同名的变量名
//short int a;
a = 10; // 将10存放到空间a里面
// 申请空间并将100放到里面
// 即定义变量并初始化
short b = 100;
printf("%hd\n",b);//h的意思为half即int 的一半
unsigned short ub = 200;
printf("%hu\n",ub);//h的意思为half即int 的一半
char c = -15;
printf("c = %hhd\n",c);
unsigned char uc = 15;
printf("%hhu\n",c);
int d = -1024;
printf("%d\n",d);// %d即能表示负数也能表示正数
unsigned int ud = 1024;
printf("%u\n",ud); // %u为无符号输出
long int le = 1000L; // L表示1000为长整型
printf("%ld\n",le);
long long int lle = 100000LL;
printf("%lld\n",lle);
float f = 3.14;
printf("%f\n",f);
练习:
数据类型的取值范围
编码形式:
原码:正数直接使用二进制来表达,比如a=100,在内存中是00...001100100
补码:负数用绝对值取反加一来表达,比如a=-3,在内存中是11...1111111101
注意负数的补码在取反加一的时候,符号位是不变的
double lf = 3.1415;
printf("%lf\n",lf);
// 在32位机里面,此类型越界无效
long double llf = 3.1415926;
printf("%Lf\n",llf);
int number = 10;
printf("%#o\n",number);// 八进制输出
printf("%#x\n",number);// 十六进制输出
return 0;
}
进制转换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NvYPthiL-1688195986039)(C:\Users\冯文玉\AppData\Roaming\Typora\typora-user-images\1688092284715.png)]
### 字符,转义字符,布尔类型
通过代码的运行参悟代码的含义
```c
#include <stdio.h>
#include <stdbool.h>
int main()
{
//字符
/* char a = 'a';
printf("%c,%d\n",a,a);
char b = 1;
char c = a + b;
printf("%c,%d\n",c,c);
char d = a - ' '; // ' '在ascII中表示32.
printf("%c,%d\n",d,' ');
return 0;
*/
/*//转义字符
printf("efg\a\n");
printf("efg\n");
printf("abcd\b\n");
//转义字符一定在十进制127以内
//十六进制最大7f,八进制最大177
char a = '\102';
printf("%o,%d,%c\n",a,a,a);
//转义字符---十六进制'\hh',
//printf("%o\n",'\109');
char b = '\x4f';
printf("%x,%d,%c",b,b,b);
return 0;*/
//在C语言,非0为真,0为假
//bool为布尔类型,一般只有两种状态 ture:真 false:假flage1
//作用是作为标志位,增加代码的可读性
bool flage = true;
bool flage1 = false;
printf("%d\n",true);
enum color{yellow = 10,green,blue,red};
printf("%d\n",yellow);
printf("%d\n",red);
return 0;
}
常量类型
### 7.标准输入
-
概念:键盘是系统的标准输入设备,从键盘中输入数据被称为标准输入
-
相关函数
相关例子
第一个代码:如果用户输入大小写字母,则输出字母对应的ASCII码值。
第二个代码:如果用户输入ASCII码值,则输出对应的大小写字母。
第三个代码:输入一个小写字母输出一个大写字母