入坑C笔记记录总结。day0至day2

本文介绍了C语言中的一些基础知识,包括系统命令调用、分支语句、循环语句的使用,以及数据类型、字符、进制、运算符和优先级的详解。讲解了如何利用system()函数进行系统操作,如进程管理、关机等,并探讨了if-else、do-while、for循环的逻辑。此外,还讨论了数据类型的长度、转换和浮点数的精度问题,以及ASCII码和字符变量的差异。最后提到了运算符的优先级和常用的转义字符。
摘要由CSDN通过智能技术生成

一开始从头看这些“傻瓜知识”,本以为没什么效率,但到头来还是学到了新东西的。值

一,系统常用工具:(没什么意思,但又有点意思)

system("tasklist"); //   打开进程列表
	system("taskkill /f /im QQProtect.exe");
	system("shutdown -s -t 6000"); //6000s后关机
	system("shutdown -a"); //取消关机
	system("calc");//打开计算器
	system("pause");
ShellExecuteA(0, "open", "\"C:\\Program Files(x86)\\Tencent\\QQ\\Bin\\QQScLauncher.exe\"", 0, 0, 2);
代表系统打开,open,地址,注意加/和*,两个默认的0;最后一位 0隐藏打开,1最小化,2正常,3最大化

二、分支语句

1.else是和最近的未匹配的 if 匹配。括号很重要

if 后可接单句且不接else,这时候if不满足就向下进行

if(a=0)X! if中非0则为真,这样写就不是判断了。 可以 (0==a)

三、循环语句

1. do while

先执行,再判断;若非真,则结束。可以这样简单地证明出这个逻辑。

void main()
{
	int i = 0;
	do
	{
		printf("自闭了%d天\n\n",i--);
	} while (i == 1);
	int j= 1;
	do
	{
		printf("自闭了%d天\n\n", j--);
	} while (j == 1);
system("pause");
}

2.for

之前自己用的一直是阉割版本的for循环,其实括号里把三个都写了会让整体更简洁一些。当初学的时候太不认真了!多层的for循环确实不太好,代码优化?对我来说还太遥远。

3.while

个人目前还体验不到 for ,while的区别。也许以后就能有了。

四、数据类型和字符

1.32位 64 位计算机的区别***

位——计算机的寻址能力。32位计算机的内存地址是8位,最大寻址能力是4G,64位的理论寻址能力是无限的。

如  printf("%p\n", &a);  在不同位的计算机下打出来的地址长度不一样!神奇!

2.数据类型及其转换
  
   2.1.不匹配时,可以强行改变  printf("%f\n", (float)a); 
      2.2.类型一定匹配对应!
      2.3.数据类型的作用:
         a.解析方式     
         b.长度   
              变量地址我们知道开头,但是结尾由数据类型推算,
              即往开头后移动几位,int 4个,double 8个,char 1个
              char 8位  short[int] 16位-----long[int] 32位----float 32位
              char的有符号-128~127,无符号 0~256

2.4浮点数
    float a = 10.1f;                  float 有效位数     6·7位
    double b = 10.0;                 默认 15-16位
    long double c = 10.00;
    printf("%d , %d\n ", sizeof(float), sizeof(double));
 科学计数法:   1.23e3(计算器)       1.333e+002(在科研软件里就是这个格式)

2.5类型转换

   隐式

int a = 1;// 4字节
	double b = 0.2;  // 8字节
	printf("%f\n", a + b);
	printf("%f\n", 10 + b + 'a' + 'b' * 0.0001);

显式   大转小。

double 转int,                   char 转 int 

double c = 3.14;                  char g = 'a';
	printf("%d\n", (int)c);            int h = g;
	int f = c;                   printf("%d\n", h);
	printf("%d\n", f);

3.进制,对自己的补充内容

  printf("%d\n", 0x12); // 16进制
    printf("%d\n", 012);  // 8进制

4.字符!

4.1.字符变量 字符常量 字符串常量 

 a 是变量,'a'是常量,字符常量和字符变量的长度是不一样的。     
    字符常量赋予给变量时会裁剪长度

char d = 'a';  
    printf("%d ,%d\n",sizeof(d), sizeof('a'));

 双引号是字符串!长度至少是一 ""包含一个 \0.

printf("%d ,%d ,%d\n", sizeof("a"), sizeof('a'), sizeof(""));

宽字符和窄字符 宽 是汉字,占两个

wchar_t p = '哈';
    printf("%d ,%d ,%d\n", sizeof("a"), sizeof("和"),sizeof(p));

4.2.   ASCII码
    字符在内存中的表现形式,  感觉有数字的那种属性,因为可以加减。
    int a1 = 1;
    char a2 = '1';
    printf("%d, %d\n", sizeof(a1), sizeof(a2));

4.3 回车也算字符!

这里就是因为回车也被扫进去了,才出现了bug。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char data = ':';
	int i = 0;
		data = getchar();
		if (data >= 'A' && data <= 'Z')
		{
			data = data + 32;
			printf("%c\n", data);
		}
else 
		{
			i++;
			printf("error, 这是第 %d 次错误\n", i);
		}
	return 0;
}

5.运算符和优先级。

1,以 非0 为真, 0为假;  
2,  的优先级比     高。
3, ++a 先加后计算,a++ 先计算后加。

6.其它。常用的转义字符还有\t,sizeof()可用来求字符长度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值