课程学习:程序设计与算法

基本单位

  • 0-1: 1位(2^1=2), 比特, bit(b)
  • 字节: 8位(2^8=256), byte(B);
  • 1KB: 210字节(213位)
  • ASCII编码方案就是用一个字节表示一个字母,数字或标点

进制转换

  • 十进制->n进制: A0xk0+....AnxKn
  • n进制->十进制: 取余数(从右往左)
  • 十六进制->二进制: 4进制对应1十六进制
  • 正数: 原码表示; 负数: 补码表示; 过程: 原码->反码(取反)->补码(+1)

C++

  • 基本程序
#include <iostream>
#include <cstdio>
using namespace std;

int main() {
    printf("hello world");
    return 0;
}
  • 输入: scanf("%d", &num)
  • 占位符: %d,(int) %c(char), %ul(unsigned long)
  • 注释: 多行/**/, 单行: //
  • sizeof求变量占用字节数
  • 强制类型转换:
    • 字符->整数(转ASCII后转整数) ;
    • 整型->字符(因为整型为多字节, 所有只会保留最右一个字节ASCII转换)
    • ASCII占一字节: '0-9' 48~57; 'A-Z' 65~90; 'a-z' 97~122;
  • 符号常量: $define 常量名 常量值

测验

  • 输出n菱形
#include <iostream>
#include <cstdio>
using namespace std;


int main() {
    int i, j, k, n;
    char c = '*';
    cin >> n;
    n /= 2;

    for (i = 0; i <= n; i++)    {
        for (j = 0; j <= n - 1 - i; j++)
            cout << ' ';
        for (k = 0; k <= 2 * i; k++)
            cout << c;
        cout << endl;
	}

	for (i = 0; i <= n - 1; i++) {
        for (j = 0; j <= i; j++)
            cout << ' ';
        for (k = 0; k <= (n - 1) * 2 - 2 * i; k++)
            cout << c;
        cout << endl;
	}

    return 0;
}

表达式的值结果以操作数中精度高的类型为准

  • double(float) > long long > int > short > char
原文地址:https://www.cnblogs.com/jinkspeng/p/8642317.html