C语言学习笔记(0)

1.启动和终止程序、显示运行中的程序列表

#include<stdio.h>
#include<stdlib.h>

void hw0()
{
	//启动计算器,记事本,查看系统进程
	system("calc");
	system("notepad");
	system("tasklist");
}

void hw1()
{
	//进程终止
	system("taskkill /f /im qq.exe");
}

2.显示一个变量的内存地址

void cr1()
{
	int a = 10;
	//printf("%p",&a)会显示变量的内存地址
	printf("%p", &a);
	system("pause");
}

3.在head文件中定义函数名称,使之可以使用中文编程

rvnhead.h

#include<stdio.h>
#include<stdio.h>
#include<Windows.h>

#define 返回值 void
#define 分号 ;
#define npd "notepad"

homework0.c

//因为在rvnhead.h中定义了void和;号,此文件中用中文代替也能编译运行
返回值 cr3()
{
	printf("1.75s\n")分号
	system("pause")分号
}

4.字符、字符集、ASCII码与转义字符

#include<stdio.h>
#include<stdlib.h>

void cr4()
{
	/*

	字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。
	转义字符以\或者\x开头,以\开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。

	字符 1、2、3、a、b、c 对应的 ASCII 码的八进制形式分别是 61、62、63、141、142、143,十六进制形式分别是 31、32、33、61、62、63。下面的例子演示了转义字符的用法: 
	char a = '\61';  //字符1
	char b = '\141';  //字符a
	char c = '\x31';  //字符1
	char d = '\x61';  //字符a
	char *str1 = "\x31\x32\x33\x61\x62\x63";  //字符串"123abc"
	char *str2 = "\61\62\63\141\142\143";  //字符串"123abc"
	char *str3 = "The string is: \61\62\63\x61\x62\x63"  //混用八进制和十六进制形式

	转义字符		意义							ASCII码值(十进制)
	\a			响铃(BEL)							007
	\b			退格(BS) ,将当前位置移到前一列		008
	\f			换页(FF),将当前位置移到下页开头	    012
	\n			换行(LF) ,将当前位置移到下一行开头	010
	\r			回车(CR) ,将当前位置移到本行开头	    013
	\t			水平制表(HT) 						009
	\v			垂直制表(VT)						    011
	\'			单引号								039
	\"			双引号								034
	\\			反斜杠								092

	*/

	int a = 5;
	while (a<10)
	{
		printf("\a"); //转义字符,\a即触发系统一次响铃
		Sleep(3000); //等待3000ms,3000毫秒,即3秒,该函数位于Windows.h的头文件中
		a++;
	}
	
}

5.进制表示与进制转换

void cr5()
{
	printf("%d\n", 0x12);  //0x开头的都是16进制
	printf("%d\n", 012);   //0开头的都是8进制

	//如何通过计算器验证计算是否正确:
	//切换计算器到程序员模式

	/*
    Win10中,如果计算器是英文版的,程序员模式(Programmer)的缩写含义如下:
	1、BIN:binary,二进制的;
	2、OCT:octal,八进制的;
	3、HEX:hexadecimal,十六进制的;
	4、DEC:decimal,十进制的。
	*/


	//10进制、2进制、16进制转10进制
	//123 10 =1*10^2+2*10^1+3*10^0=100+20+3=123
	//110 2  =1*2^2+1*2^1+0*2^0=4+2+0=6
	//AB  16 =10*16^1+11*16^0=160+11=171
	
	/*
	2进制转8进制:从右往左,每3位数字一组,不足三位的用0补足3位,转换为8进制,具体参考下面的对应表
	2进制		8进制
	 000		0
	 001		1
	 010		2
	 011		3
	 100		4
	 101		5
	 110		6
	 111		7

	//110010=110 010=6*10+2=62
	//1101001=001 101 001=1*100+5*10+1=100+50+1=151

	8进制转2进制:从右往左,根据每一位8进制数根据对照表排列2进制数值
	17=001 111=1111
	*/

	/*
	2进制转16进制:从右往左,每4位数字一组,不足三位的用0补足4位,转换为16进制,具体参考下面的对应表
	2进制		10进制	16进制	
	0000		0		0
	0001		1		1
	0010		2		2
	0011		3		3
	0100		4		4
	0101		5		5
	0110		6		6
	0111		7		7
	1000		8		8
	1001		9		9
	1010		10		A
	1011		11		B
	1100		12		C
	1101		13		D
	1110		14		E
	1111		15		F

	2进制/16进制相互转换:
	9527=1001 0101 0010 0111=1001010100100111
	11010101111101=0011 0101 0111 1101=3 5 7 
    D=357D=3*16^3+5*16^2+7*16^1+13*16^0=12288+1280+112+13=13693

	10进制转2进制:每一次除以2后取余,直到数字被除到1为止,逆序排列
	89%2=1
	44%2=0
	22%2=0
	11%2=1
	5%2=1
	2%2=0
	1 1
	89=1011001

	10进制小数转换为2进制:数字乘以2取整,顺序排列
	10进制 0.625
	0.625*2=1.25  取整1
	0.25*2=0.5    取整0
	0.5*2=1		  取整1
	即101
	*/

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值