C语言基础学习(一)

常量

       二进制   0b1010
       八进制   012  (OCT)
       十进制 10	    (DEC)
       十六进制 0x0A    (HEX)
        浮点型  10.1  1.01e1   1.01e-2
       字符常量   ‘a’
       字符串常量 “hello world”
       man ascii 查找ASCII表示
     变量在整个程序运行过程中会发生变化的

变量的定义

      一般需要写上变量的类型+变量名 
      变量的基本数据类型有(默认都是带符号的)

整型变量(B指字节数)/

int 4B
char 1B
short 2B
long 4B
long long 8B
浮点型变量

float 4B
double 8B

如果需要定义不带符号的变量, 在前面加上unsigned. 如unsigned int

char 1B
Char a ; a的取值范围(- 128 ~ +127 )
(1000 0000 ~~ 0111 1111)
Char a = ‘c’ ; 143 99 63 c

man ascii 查找ASCII表示

000 0
00 NUL ‘\0’ 数字0
060 48
30 0 字符0
101 65
41 A
141 97
61 a

Printf(“%d”)

%d 表示基于该地址最多取4字节的数据,并把这个数据当成是带符号的十进制打印出来
最高位为符号位, 如果为1则是负数;会把内存中的数据当成是补码,显示出对应的原码
%u 表示基于该地址最多取4字节的数据,并把这个数据当成是无符号的十进制打印出来
%x 表示基于该地址最多取4字节的数据,并把这个数据当成是十六进制打印出来
%hd 表示基于该地址最多取2字节的数据,并把这个数据当成是带符号的十进制打印出来
H表示一半
%hhd 表示基于该地址最多取1字节的数据,并把这个数据当成是带符号的十进制打印出来
Hh 表示一半再一半,

数据在内存中默认是补码
如果正数 原码 反码 补码是一致
如果是负数 数字本身叫原码
补码是反码+1
原码除了符号位全部取反得到反码
反码再+1 得到补码
-127
原码 1111 1111
反码 1000 0000
补码 1000 0001

格式化IO : Printf() scanf()
Printf() 默认把数据显示到终端(命令行窗口)
scanf() 从键盘上得到数据
%d 4字节 printf(“%d”)显示为带符号的10进制数
如果是scanf(“%d” , &a); 从键盘上取0–9 + - ,如果取不到则报错返回0
%u 4字节 printf(“%u”)显示为无符号的10进制数
如果是scanf(“%d” , &a); 从键盘上取0–9 + - ,如果取不到则报错返回0
%x 4字节 printf(“%x”)显示为16进制数
如果是scanf(“%x” , &a); 从键盘上取0–9 a–f ,如果取不到则报错返回0
%c 取一个字符 整个ASCII表对应的字符
Printf(“%c”) 把这个数字对应的字符给显示出来
scanf(“%c” , &a); 通常情况是给char类型数据赋值

%o 八进制
%p 打印地址值
%s 字符串

%e 以指数形式打印出浮点数
%f 以小数点形式打印浮点数
L 表示长型
H 表示一半字节长度
%% 表示一个%号

字符中:
转义序列符
\表示转义
\ 表示才表示\的意思
\n 换行符 012 10 0A LF ‘\n’ (new line) 换行符 在linux由【enter】产生
\t 制表符
\v
\b 退格
\r 回车符
\0 表示数字0

可以用转义序列符表示某个字符
141 97 61 a
Char x = 97;
Char x = 0141;
Char x = 0x61;
Char x = ‘a’ ;
Char x = ‘\141’ 使用转义符只能跟8进制或16进制一起表示
Char x = ‘\x61’ 16进制要加上x

数据类型转换
隐式转换
在运算过程中 由于类型不一致需要做的转换
1: 赋值 按=左边变量类型进行转换
2: + - * /
字节数比较少的向字节数比较多的类型转换
有符号数向无符号数转换

显式转换
定义了变量后, 在使用变量时候(新变量类型)进行转换
Int a = 0x123456;
( Char) a

变量名
由字母和下划线开头,由字母下划线还有数字组成的
最好看到变量名就知道它的大概意思
不要和系统默认的关键字同名

表达式
int a , (char)a

语句
If(ret == 0)
Short b = a ;

写程序注意事项:
1: 定义的变量名等要有一定的意思
2: 程序的布局, 适当使用空行和缩进
// 头文件
#include <stdio.h>

// 函数名
int main(void) 或者 int main(int argc, char **argv)
{
//函数的定义 函数的实现
// { } 中的内容要比{ }所在位置多一个tab
int a = 0;
if (a == 0)
{
printf( “ a = %d \n”, a) ;
}

return 0;
}
3:可以在代码中加上简单的注释
// 注释
/* 注释 */

运算符:
赋值运算符

算术运算符

      • %(取余) /(取整)

浮点型数和int计算 对应的表达式是个double类型的数据
输出结果的时候要注意你的格式

关系运算符 判断时候使用

< == != >= <=
逻辑运算符
0 为假 非0就是真
! 逻辑反
&& 逻辑与
|| 逻辑或

(学习笔记若有错误,希望指出,谢谢观看)

原创文章 21 获赞 6 访问量 5350

猜你喜欢

转载自blog.csdn.net/weixin_44244812/article/details/105269598