ASCII码表

标准ASCII码表 0-127
标准 ASCII 最高位永远是 0,8 位二进制最高位为 0,这就是为什么一个 char (8bit) 足够存放全部标准 ASCII。
GB2312
简体中文
作业
拟写一个函数,如果是英文字符就查表标准版ASCII 如果是汉字就查询
分支语句if
if else if 分支语句 只要有一个已经成立的条件 就只执行那一条指令
一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。
当使用 if...else if...else 语句时,以下几点需要注意:
- 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
- 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
- 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。
作业
#include<stdio.h>
int g_x = 5;
int g_y = 4;
int g_z = 7;
int g_r = 0;
void MAX()//将最大的值存储到g_r中
{
if (g_x> g_y)
{
if (g_x > g_z)
{
g_r = g_x;
}
else
{
g_r = g_z;
}
}
else
{
if (g_y > g_z)
{
g_r = g_y;
}
else
{
g_r = g_z;
}
}
printf("MAX = %d", g_r);
}
int main()
{
MAX();
}
02
#include<stdio.h>
int arr[4] = { 2,7,7,1 };
int g_r;
void ArrMax()
{
if (arr[0]> arr[1])
{
if (arr[0]> arr[2])
{
if (arr[0]> arr[3])
{
g_r = arr[0];
}
else
{
g_r = arr[3];
}
}
else
{
if (arr[2]> arr[3])
{
g_r = arr[2];
}
else
{
g_r = arr[3];
}
}
}
else//arr[0]<arr[1]
{
if (arr[1]> arr[2])
{
if (arr[1]> arr[3])
{
g_r = arr[1];
}
else
{
g_r = arr[3];
}
}
else
{
if (arr[2] > arr[3])
{
g_r = arr[2];
}
else
{
g_r = arr[3];
}
}
}
printf("ArrMax = %d", g_r);
}
int main()
{
ArrMax();
}
03
#include<stdio.h>
void BubbleSort(int arr[],int n)
{
int temp;
for (size_t j = 0; j < n-1; j++)//筛选第j轮最后一个最大数 N个元素只需筛选N-1次
{
for (size_t i = 0; i < 9-j; i++)//循环比较两数 获得最大的放在最后 同时循环-j 不需要把已经筛选出来的放进来
{
if (arr[i] > arr[i+1])
{
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
}
int main()
{
int arr[10] = { 2,7,5,9,22,4,8,22,3,18 };
BubbleSort(arr,10);
for (int i = 0; i < 10; i++)
{
printf("address[%d] = %d\n", i, arr[i]);
}
return 0;
}
04
#include<stdio.h>
//英文的话读取字符且首位为0 如果是汉字的话读16位且首位为不为0
char* string = "china中国verygood天朝nice";
void Aifn(int n)
{
const char* string = "china中国verygood天朝nice";
char temp[200] = { 0 };
int src = 0; //源字符串字节下标
int cnt = 0; //已截取字符数量
int bufIndex = 0; //目标缓冲区下标
//循环直到截取够n个字符,或者读到字符串末尾
while (cnt < n && string[src] != '\0')
{
if (((unsigned char)string[src] & 0x80) != 0)
{
//汉字:读取2字节,字符计数只+1
temp[bufIndex++] = string[src++];
temp[bufIndex++] = string[src++];
cnt++;
}
else
{
//英文:读取1字节,字符计数+1
temp[bufIndex++] = string[src++];
cnt++;
}
}
//打印截取后的结果
printf("截取结果:%s\n", temp);
}
int main()
{
Aifn(5);
}