Linus学习(实训-day2)

练习:
1)建立test1、test2文件夹
2)在test1文件夹中建立1.txt文件,在1.txt中写上50行“hello farsight!”,
复制1.txt成为2.txt,并把2.txt中所有的“farsight”改成“world”
3)移动test1文件夹到test2文件夹下
4)删除test1

C基础:
1.计算机的数据表示:
1)数值型数据:二进制、十进制、十六进制、八进制
基数:2、10、16、8
位权:
十进制: 0-9
二进制:0,1
八进制:0-7
十六进制:0-9 a-f

进制的转换:2048 1024 512 256 128 64 32 16 8 4 2 1
十进制-二进制:123,除2倒取余或8421
     123 = 64+59
	 = 64+32+27
	 = 64+32+16+11
	 = 64+32+16+8+2+1
	 = 1 1 1 1 0 1 1
二进制-十进制:
    0b11011 = 1*2^4+1*2^3+0*2^2+1*2^1+1*2^0=16+8+2+1=27
	 
八进制-二进制:三位二进制表示一位8进制 (三位二进制数能表示八进制的任何位权)
    234 = 010 011 100
二进制-八进制:
    11011 = 011 011 = 33(三位一组,不足三位的补0)

十六进制-二进制:四位二进制表示一位16进制
    0xab = 1010 1011
二进制-十六进制:
    11011 = 0001 1011 = 0x1b(四位一组,不足四位的补0)

练习:
1)十进制转换为二进制
89 67 389 890
2)将八进制转化为二进制
67 45
3)将十六进制转化为二进制
af fa5 aa10
4)将二进制分别转换为十进制、
八进制、十六进制
0001 0011 1111 1011
0001 0101 1100 0100
1010 1011 0101
2)非数值型数据:
ASCII值 man ascii
‘\0’ – 0
‘\n’ – 10
‘space’ – 32
‘0’ – 48
‘9’ – 57
‘A’ – 65
‘Z’ – 90
‘a’ – 97
‘z’ – 122
‘A’ = ‘a’ - 32/’ ’
‘a’ = ‘A’ + 32/’ ’
2.常量:在程序运行期间其数值不发生变化的数据。
1)整型常量:进制数 2,8,10,16
2)浮点型常量:小数 1.23
3)指数常量:110^2 --> 1e+2 210^5 --> 2e+5
4)字符常量:用单引号引起来的一个字符
char ch = ‘A’;
5)字符串常量:用双引号引起来的一串字符
char str[] = “hello”
6)标识常量:宏定义
#define 宏名 表达式
typedef :数据类型重命名
注意:只是单纯的替换
宏名可以在其他宏中使用
宏名一般用大写

3.格式输出函数:
int printf(const char *format, …);
功能:按照指定的格式输出
参数:格式输出符,
返回值:输出字符的个数

%d  -- int、short(整数(int \short))
%ld -- long(长整数(long))
%c -- char(字符型)
%f -- float(浮点型(小数))
%lf -- double(浮点型(精度要高))
%s -- 字符串("hello")
%p -- 地址(内存的地址)
%#x -- 十六进制0x
%#o -- 八进制
%[0+/-m.n]:按指定格式限制输出内容
   .n :保留小数点后n位
   m  :限定位宽为m
      如果m大于实际位宽,按m位宽输出
      如果m小于实际位宽,按实际位宽输出
   -:表示左对齐,默认为右对齐右边补空格
   +:输出数据的正负号左边补空格
   0:在输出数据的前面补0

变量:在程序运行期间其数值发生变化的数据。
分类: 局部变量:内部变量,是在程序的内部,作用域仅限于函数中
全局变量:外部变量,作用域为整个程序.
在这里插入图片描述

关键字:
a.存储类型: auto(自动型) register(寄存器类型) extern(外部引用) static(静态型)
C语言内存划分:
1、静态区
代码区:只读(常量)
数据区:
全局变量、局部静态变量(初始化)
BSS区:
全局变量、局部静态变量(未初始化)
2、非静态区
栈区(临时变量、函数参数、函数返回地址等)
堆区(程序员手动开辟空间,使用函数malloc等,需要手动释放。)

b.数据类型: int(整型) short(短整型) long(长整型)char(字符类型)float(单精度浮点)double(双精度浮点)
unsigned(无符号) signed(有符号)
定义变量格式:(有无符号)存储类型 数据类型 变量名;
(auto)int a;
int a; – (signed) int a;有符号
unsigned int a; 无符号
c.杂项:const(常量化) sizeof(计算数据所占空间大小)typedef
(重命名) void(参数、函数的返回值) volatile(防止被编译器优化)

标识符:
1)标识符由一个或多个字母、数字或下划线组成
2)标识符的第一个字符必须是字母或下划线
3)标识符不能与任何关键字相同
格式输入函数
int scanf(const char *format, …);
功能:按照指定的格式进行输入
参数:格式输入符,地址列表
返回值:成功输入字符的个数
练习1:从终端输入字符实现大小写的转换(大写转小写)
在这里插入图片描述

练习2:输入一个华氏温度,要求输出摄氏温度,公式为C=5/9*(F-32),输出取两位小数。
在这里插入图片描述

垃圾字符的回收:
1)scanf("%c %c %c", &ch1, &ch2, &ch3);
回收一个或多个空格、tab、回车\n

2)scanf("%c%*c%c%*c%c", &ch1, &ch2, &ch3);
回收一个空格、tab、回车\n

3)getchar()从终端输入
回收一个字符

scanf遇到空格、tab、enter结束

练习:求a
在这里插入图片描述
运行结果:
a=9
a=++sql(k+1)=++k+1*k+1=9
(不加括号进行运算)

练习2:
在这里插入图片描述

该程序的输出结果是14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值