//////————————————————————进阶版
////数据在内存中的存储
////1.数据类型的介绍
//#include
//int main()
//{
// int a = 10;//4字节
// float f = 10.0;//4字节
// short int b = 10;
// printf(“%pn”,f);
// return 0;
//}
////整型类型
//char//[int]均可省略
// unsigned char
// signed char
//short
// unsigned short[int]
// signed short[int]
//int
// unsigned int
// signed int
//long
// unsigned long[int]
// signed long[int]
//浮点数类型:
//float
//double
//构造类型
//数组类型
//结构体类型 struct
//枚举类型 enum
//联合类型 union
//指针类型
//int* pi;
//char* pc;
//float* pf;
//void* pv;
//空类型:
//void 表示空类型(无类型)
//通常应用于函数的返回类型、函数的参数、指针类型。
//空类型举例
//#include
////第一个void表示不会返回值
//void test(void)//()中的void是表示此函数是不需要参数的,且此处的void可有可无
//{
// printf(“hehe”);
//}
//int main()
//{
// test();
// return 0;
//}
//2.整形在内存中的储存
//数值有不同的表示形式:2、8、10、16进制
//整数的2进制也有三种表现形式:
// 前提:1.服务器托管网正整数的原、反、补均相同2.负整数:通过下列计算得出
// 原码:根据数值的正负直接写出的2禁止序列
// 反码:原码的符号位不变,其他的位,按位取反(0->1,1->0)
// 补码:反码+1
//#include
//int main()
//{
// int a = 20;
// //a的2进制序列
// //原码:00000000 00000000 00000000 00010100
// // 原码的16进制:0x00 00 00 14
// //反码:01111111 11111111 11111111 11101011
// //补码:01111111 11111111 11111111 11101100
// int b = -10;
// //b的2进制序列
// //原码:10000000 00000000 00000000 00001010
// //原码的16进制:0x00 00 00 0a(每4个比特位为一个字节0000->0)//a为10
// //反码:11111111 11111111 11111111 11110101(每4个比特位为一个字节1111->f,f=15)
// //反码的16进制:0xfffffff5
// //补码:01111111 11111111 11111111 11110110
// //补码的16进制:0xfffffff6
// return 0;
//}
//结论:整数在内存中存放时,存放的是二进制的补码
//理由在计算机系统中,数值一律用补码来表示和存储。使用补码,
// 可以将符号位和数值位(符号位和数值位——就是二进制序列的首位数字代表了二者其一的哪一位)
// 统一处理;同时,加法和减法也可以统一处理(CPU只有加法器)(虽然不可以减法,但是可以改成加法)
// 此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
//简单地说:eg:求1+(-1)
//1的原码 00000000 00000000 00000000 00000001
//1的补码 00000000 00000000 00000000 00000001(正整数原、反、补相同)
//-1的原码 10000000 00000000 00000000 00000001
//-1的补码 11111111 11111111 11111111 11111111
//原码相加 10000000 00000000 00000000 00000010(值为-2)错误
//补码相加 100000000 00000000 00000000 00000000(33位)相加时最高位“1”丢了,
//剩下的32个比特位全为0,则结果为0,正确
//————————————————————————————作业题
////【一维数组】输入10个整数,求平均值
//#define _CRT_SECURE_NO_WARNINGS 1
//#include
//int main()
//{
// int a,b,c,d,e,f,g,h,i,j;
// int Add = 0;
// scanf(“%d%d%d%d%d%d%d%d%d%d”,&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
// Add=a+b+c+d+e+f+g+h+i+j;
// int n = Add / 10;
// printf(“平均值为%dn”, n);
// return 0;
//}
////打印图案的练习,该任务是打印用“*”组成的X形图案。多组输入,一个整数(2—20),
//// 表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。针对每行输入,输出用“*”组成的X形图案。
////输入——–5
////* *
//// * *
//// *
//// * *
////* *
////输入——–6
////* *
//// * *
//// **
//// **
//// * *
////* *
//#define _CRT_SECURE_NO_WARNINGS 1
//#include
//int main()
//{
// int n;
// while (scanf(“%d”, &n) != EOF) {
// int i, j;
// for (i = 0; i
// for (j = 0; j
// if (i == j || i + j == n – 1) {
// printf(“*”);
// }
// else {
// printf(” “);
// }
// }
// printf(“n”);
// }
// }
//}
////打印图案的练习,该任务是打印用“*”组成的“空心”正方形图案。
////输入描述:
////多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“ * ”的数量。
////输出描述:
////针对每行输入,输出用“ * ”组成的“空心”正方形,每个“ * ”后面有一个空格。
////输入:4
////输出:
////* * * *
////* *
////* *
////* * * *
//#define _CRT_SECURE_NO_WARNINGS 1
//#include
//int main()
//{
// int n, i, j;
// while (~scanf(“%d”, &n))
// {
// for (i = 0; i
// {
// for (j = 0; j
// {
// if (i > 0 && (i 0 && (j
// printf(” “);
// else
// printf(“* “);
// }
// printf(“n”);
// }
// }
// return 0;
//}
////输入10个整数,要求按输入时的逆序把这10个数打印出来。逆序输出,就是按照输入相反的顺序打印这10个数。
////输入描述:
////一行,输入10个整数(范围 – 231~231 – 1),用空格分隔。
////输出描述:
////一行,逆序输出输入的10个整数,用空格分隔。
//#define _CRT_SECURE_NO_WARNINGS 1
//#include
//int main()
//{
// int a[10] = { 0 }, i;
// for (i = 0; i
// {
// scanf(“%d”, &a[i]);
// }
// for (i = 9; i >= 0; i–)
// {
// printf(“%d “, a[i]);
// }
// return 0;
//}
////有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。
////输入描述:
////第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。(1≤n≤10, 1≤m≤10)
////从2到n + 1行,每行输入m个整数(范围 – 231~231 – 1),用空格分隔,共输入n * m个数,表示第一个矩阵中的元素。
////输出描述:
////输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。
//#define _CRT_SECURE_NO_WARNINGS 1
//#include
//int main() {
// int m, n;
// scanf(“%d %d”, &m, &n);
// int a[m][n];
// for (int i = 0; i
// for (int j = 0; j
// scanf(“%d”, &a[i][j]);
// for (int i = 0; i
// for (int j = 0; j
// printf(“%d “, a[j][i]);
// }
// printf(“n”);
// }
// return 0;
//}
////输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。
////数据范围:1
////输入描述:
////输入包含三行,
////第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,
//// m表示第三行第二个升序序列中数字的个数。
////第二行包含n个整数,用空格分隔。
////第三行包含m个整数,用空格分隔。
////输出描述:
////输出为一行,输出长度为n + m的升序序列,即长度为n的升序序列和
////长度为m的升序序列中的元素重新进行升序序列排列合并。
//#define _CRT_SECURE_NO_WARNINGS 1
//#include
//int main()
//{
// int n, m;
// scanf(“%d %d”, &n, &m);
// int nm[2000];
// for (int i = 0; i
// for (int j = 1; j
// {
// for (int i = 0; i
// {
// if (nm[i] > nm[i + 1])
// {
// int temp = nm[i + 1];
// nm[i + 1] = nm[i];
// nm[i] = temp;
// }
// }
// }
// for (int i = 0; i
// return 0;
//}
////【一维数组】交换数组将数组A中的内容和数组B中的内容进行交换。(数组一样大)
//#include
//void swapArrays(int a[], int b[], int size)
//{
// int temp;
// for (int i = 0; i
// {
// temp = a[i];
// a[i] = b[i];
// b[i] = temp;
// }
//}
//int main() {
// int size = 5; // 数组大小
// int a[] = { 1, 2, 3, 4, 5 }; // 数组a
// int b[] = { 6, 7, 8, 9, 10 }; // 数组b
// printf(“Before swapping:n”);
// printf(“Array a: “);
// for (int i = 0; i
// {
// printf(“%d “, a[i]);
// }
// printf(“n”);
// printf(“Array b: “);
// for (int i = 0; i
// {
// printf(“%d “, b[i]);
// }
服务器托管网
// printf(“n”);
//
// swapArrays(a, b, size);
//
// printf(“nAfter swapping:n”);
// printf(“Array a: “);
// for (int i = 0; i
// {
// printf(“%d “, a[i]);
// }
// printf(“n”);
// printf(“Array b: “);
// for (int i = 0; i
// {
// printf(“%d “, b[i]);
// }
// printf(“n”);
// return 0;
//}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 盲打键盘的正确指法指南简介键盘布局各手指的键位专业的打字软件
简介 很多打字初学者,并不了解打字的正确指法规范,很容易出现只用两根手指交替按压键盘的“二指禅”情况。虽然这样也能实现打字,但是效率极低。本文将简单介绍盲打键盘的正确指法,以便大家在后续的学习和工作中能够提高工作效率。 键盘布局 我们日常使用的键盘通常为QWE…