
郝斌C语言基础
asty008
喜欢编程,网络和硬件
展开
-
郝斌的C语言基础 164 学生管理系统(输入,排序,输出)
#include#includestruct student{ int age; float score; char name[100];};void InputStudent(struct student *pArr,int len){ int i; for(i=0; i<len; i++) { printf("翻译 2016-12-11 16:05:52 · 812 阅读 · 5 评论 -
郝斌的C语言基础 103 是否存在多维数组
不存在因为内存是线性唯一的n 维数组可以当做每个元素是n-1维数组的一维数组 比如:int a[3][4];该数组是含有3个元素的一维数组,只不过每个元素都可以再分成4个小元素,每个小元素都是int 类型.int a[2][3][4]; 该数组是含有2个元素的一维数组,只不过每个元素都是3行4列的二维数组,如int a[3][4];翻译 2016-11-25 12:26:44 · 469 阅读 · 0 评论 -
郝斌的C语言基础 170 补码 下
#includeint main(voif){ char ch = 0x80; //1000 0000 因为是8位,第一位为1表示负数,取反加一得-128 printf("%d\n",ch); ch = 128; //1000 0000 同上 printf("%d\n",ch); ch = 129; //1000 0001 取反翻译 2016-12-13 19:17:41 · 432 阅读 · 0 评论 -
郝斌的C语言基础 101 数组的初始化
完全初始化 每个元素都赋一个值int a[5] = {1,2,3,4,5};不完全初始化 剩下的元素默认为0;inta[5] = {1,2,3};不初始化 里面元素的值为随机数inta[5];清零 所有元素赋值为0,效果和不完全初始化一样int a[5] = {0};翻译 2016-11-18 13:38:22 · 497 阅读 · 0 评论 -
郝斌的C语言基础 131-133 一维数组和指针关系
数组名一维数组名1,一维数组名是个指针常量.2,它存放的是一维数组第一个元素地址#includeint main(void){ //a是数组名,5是数组元素的个数,元素就是变量a[0]~a[4] int a[5]; // int a[3][4]; //3行4列,a[0][0]是第一个元素,a[i][j]是第i+1行j+1列 int b[5];翻译 2016-12-05 13:16:44 · 1012 阅读 · 2 评论 -
郝斌的C语言基础 168 补码 上
原码也叫 符号-绝对值码最高位0表示正,1表示负,其余二进制位是该数字的绝对值的二进制位.如-5的原码为10101原码简单易懂,但加减运算复杂,存在加减乘除四种运算,增加了cpu的复杂度,零的表示不唯一反码反码运算不便,也没有在计算机中应用移码移码表示数值平移n位,n称为移码量,主要用于浮点数的阶码的存储补码十进制转二进制正整数转二进制除2取余,直至商为翻译 2016-12-12 23:03:43 · 583 阅读 · 0 评论 -
郝斌的C语言基础 127 指针经典程序 两数互换
#includevoid huhuan(int *p,int *q){ int temp; temp = *p; *p = *q; *q = temp;}int main(void){ int a = 3; int b = 5; huhuan(&a, &b); printf("a = %d, b = %d\n",a翻译 2016-12-04 18:00:40 · 406 阅读 · 0 评论 -
郝斌的C语言基础 123,124 什么是地址,指针
地址:内存单元的编号从零开始的非负整数范围:以上图为例 0~4G减1内存的最小存储单元为字节,每个字节都有一个地址.1, 1根红线代表一个位,一个位有两种状态(0和1),所以组合起来可以确定内存条的2个地址2 如果地址总线是32位的,那么就可以控制2的32次方个地址(2^32是4294967296个地址,也就是4294967296个字节=4G)指针:翻译 2016-12-04 15:52:47 · 531 阅读 · 2 评论 -
郝斌的C语言基础 121 指针热身
#includeint main(void){ int *p; /* 定义了一个指针变量p int *p 不表示定义了一个名字叫*p的变量 int *p应该这样理解 p是变量的名 p变量的数据类型是 int*类型 所谓的int *类型就是存放int变量地址的类型翻译 2016-12-04 14:23:17 · 370 阅读 · 0 评论 -
郝斌的C语言基础 134 确定一个一维数组需要几个参数
下标和指针的关系如果p是个指针变量,则p[i] 永远等价于*(p+i)#include//f函数可以输出任何一个一维数组的内容void f(int *pArr, int len){ int i; for(i=0; i<len; i++) { printf("%d ",*(pArr+i)); } printf(翻译 2016-12-07 20:51:25 · 577 阅读 · 0 评论 -
郝斌的C语言基础 136 指针变量的运算
指针变量不能相加,不能相乘,也不能相除如果两个指针变量指向的是同一块连续空间(一般是数组)中的不同存储单元,则这两个指针变量才可以相减#includeint main(void){ int a[5]; int *p = &a[1]; int *q = &a[4]; printf("p和q所指向的单元相隔%d个单元\n",q-p); re翻译 2016-12-07 23:17:19 · 401 阅读 · 0 评论 -
郝斌的C语言基础 179 NULL的含义
二进制全部为零的含义 --000000000000的含义1. 数值零2. 字符串结束标记符 '\0'3. 空指针NULLNULL本质也是零,而这个零不代表数字零,而是表示的是内存单元的编号零,我们计算机规定了,以零为编号的存储单元的内容不可读,不可写翻译 2016-12-15 22:15:35 · 366 阅读 · 0 评论 -
郝斌的C语言基础 155 如何取出结构体中的每一个成员
#includestruct Student{ int age; float score; char sex;};int main(void){ struct Student st = {80,66,'F'};//初始化 定义的同时赋初值 struct Student *pst = &st; //&st不能改成st print翻译 2016-12-09 21:19:19 · 510 阅读 · 0 评论 -
郝斌的C语言基础 151~154 结构体的赋值和初始化
#include//第一种方式struct Student{ int age; float score; char sex;};/*//第二种方式struct Student2{ int age; float score; char sex;}st2;//第三种方式struct{ int age; floa翻译 2016-12-09 20:49:47 · 288 阅读 · 0 评论 -
郝斌的C语言基础 145 多级指针
#includevoid f(int **q){ //*q 就是p **q就是*p *p就是指向j **q = 25; //这就把 j 改成 25}void g(void){ int j = 10; int *p = &j; printf("j 原来的值是 %d\n",j); f(&p); //p是int *类型,&p是int **类翻译 2016-12-09 17:02:13 · 322 阅读 · 0 评论 -
郝斌的C语言基础 142 malloc函数的用法
#include#includevoid f(int *q){ // *p = 200; //error f函数没有p变量 //q = 200; //error q是指针类型,不能赋整数 *q = 200; // free(q); //把q所指向的内容释放了,不能写,不然20行的*p就没有意义了}int main(void){ int *p翻译 2016-12-09 11:47:26 · 437 阅读 · 0 评论 -
郝斌的C语言基础 141 malloc函数的简单介绍
malloc 是 memory(内存) allocate(分配) 的缩写#include#includeint main(void){ int i = 5; //分配了4个字节,静态分配 int *p = (int *)malloc(4); //8行 /* 1, 要使用malloc翻译 2016-12-09 11:17:43 · 432 阅读 · 0 评论 -
郝斌的C语言基础 109 break和return的区别
#includevoid f(void){ int i; for(i=0; i<5; i++) { printf("大家辛苦了!\n"); break; //用来终止循环 return; //用来终止函数 } printf("同学们好!\n");}int mai翻译 2016-11-26 13:02:10 · 292 阅读 · 0 评论 -
郝斌的C语言基础 108 如何定义函数
#includeint f(void){ return 10.5;}int main(void){ int i = 99; double x = 6.6; x = f(); //函数返回值以函数返回值类型int为准,所以只返回10 printf("%lf\n", x); return 0;}翻译 2016-11-26 12:47:36 · 305 阅读 · 0 评论 -
郝斌的C语言基础 120 局部变量和全局变量
#includeint i = 99;void f(int i){ printf("i = %d\n",i);}int main(void){ f(8); //局部变量会把全局变量屏蔽了 return 0;}翻译 2016-12-04 13:07:49 · 274 阅读 · 0 评论 -
郝斌的C语言基础 115 合理设计函数
#include#include//判断val是不是素数bool IsPrime(int val){ int i; for(i=2; i<=val; i++) { if(val%i == 0) break; } if(i == val) return true; else翻译 2016-12-02 19:32:12 · 438 阅读 · 0 评论 -
郝斌的C语言基础 176 位运算符
#includeint main(void){ char i = 5; //101 char j = 6; //110 char k; k = i & j; //100 printf("k = %d\n",k); k = i && j; //k的值只能是真(1)或假(0); printf("k = %d\n",k);翻译 2016-12-14 20:22:04 · 331 阅读 · 0 评论 -
郝斌的C语言基础 030
什么是ASCII码 ASCII 不是一个值,而是一种规定,它规定了一不同字符使用哪个整数值去表示 如: 'A' ------------ 65 'B' ------------ 66 ASCII 码字符 ASCII 码字符 ASCII 码字符 ASCII 码翻译 2016-10-30 21:59:48 · 609 阅读 · 0 评论 -
郝斌的C语言基础 024 常量以什么样的二进制存储在计算机中
整数是以补码的形式转化为二进制代码存储在计算机中的实数是以IEEE754标准转化为二进制代码存储在计算机中的字符的本质实际也是与整数的存储方式相同 int i = 86 将86转化为补码 再存到内存中 float i = 8.6 →按IEEE754转化为二进制,再存到内存中 'A' 按ASCII码转成整数65 再用整数的方法存到内存中.翻译 2016-10-30 20:20:07 · 701 阅读 · 0 评论 -
郝斌的C语言基础 023
这个发表总是有问题,最后一次修改,再不行就算了翻译 2016-10-29 13:47:35 · 679 阅读 · 0 评论 -
郝斌的C语言基础 018
#includeint main(void){ int i; i = 3; //3最终是存放在内存中,程序终止之后3所占的空间被释放 printf("i = %d",i); return 0;}翻译 2016-10-29 12:51:34 · 453 阅读 · 0 评论 -
郝斌的C语言基础 017
#includeint main(void){ int i = 10; //表示i变量是整型变量,i只能放整数,不能放实数 int b = 10.6; //如果一个整型放一个小数,会丢掉小数部分 printf("i = %d b = %d\n",i,b); return 0;}翻译 2016-10-28 22:22:36 · 742 阅读 · 0 评论 -
郝斌的C语言基础 011
#include #include int main(void){ //解一元二次方程,把三个数保存到计算机中 int a = 1; // = 不表示相等,表示赋值,== 才表示相等 int b = 5; int c = 6; double delta; //delta存放的是 b*b-4*a*c double x1; //存放翻译 2016-10-28 13:22:20 · 541 阅读 · 0 评论 -
郝斌的C语言基础 002
第一个C语言程序!翻译 2016-10-27 23:42:54 · 415 阅读 · 0 评论 -
郝斌的C语言基础 074 for循环执行顺序
顺序1 1→判断2→成立→语句A→3 完成一个循环顺序2 1→判断2→成立→4→判断5→成立→A→6→判断5→成立→A→6→判断5→不成立→3→判断2→不成立→B翻译 2016-11-12 21:53:03 · 288 阅读 · 0 评论 -
郝斌的C语言基础 033
#includeint main(void){ int x = 47; //默认是十进制 printf("%d\n",x); //以十进制进行输出 printf("%x\n",x); //以十六进制进行输出 printf("%X\n",x); //以十六进制进行输出 printf("%#x\n",x); //以十六进制进行输出翻译 2016-10-31 22:44:38 · 467 阅读 · 0 评论 -
郝斌的C语言基础 038
#includeint main (void){ int i; scanf("%d",&i); //&i表示i的地址 & 是一个取地址符 printf("i = %d",i); return 0;}翻译 2016-11-03 21:04:47 · 448 阅读 · 0 评论 -
郝斌的C语言基础 165,166 枚举
枚举:就是把一个事物所有可能的取值一一列举出来翻译 2016-12-11 21:40:43 · 331 阅读 · 0 评论 -
郝斌的C语言基础 163 冒泡排序
#includevoid sort(int *a,int len){ int i = 0; int j = 0; int temp; for(i=0; i<len-1; i++) { for(j=0; j<len-1-i; j++) { if(a[j] > a[j+1]) // > 升序 <翻译 2016-12-11 11:28:39 · 347 阅读 · 0 评论 -
郝斌的C语言基础 159-161 通过函数完成对结构体变量的输入输出
#include#includestruct Student{ int age; char sex; char name[100];};void InputStudent(struct Student *pst){ pst->age = 10; //等同于 *pst.age = 10; strcpy(pst->name,"张三");翻译 2016-12-11 10:39:01 · 428 阅读 · 0 评论 -
郝斌的C语言基础 067 for循环
#includeint main(void){ int i; int sum = 0; for(i=1;i<=100;i++) { sum = sum + i; } printf("sum = %d\n",sum); return 0;}翻译 2016-11-12 15:50:34 · 325 阅读 · 0 评论 -
郝斌的C语言基础 043
除法的运算结果和运算对象的数据类型有关,两个数都是int类型,则商就是int,若商是小数,则截取小数部分;被除数和除数中只要有一个或两个都是浮点型板数据,则商也是浮点型,不截取小数部分如: 16/5==3 16/5.0==3.20000 -13/4==-4 -13/-3==43/5==0 5/3==1取余的运算对象必须是整数,结果是整除后的余数,其余数的符号与被除数相同翻译 2016-11-05 13:15:21 · 329 阅读 · 0 评论 -
郝斌的C语言基础 042 运算符关系
运算符 算术 + 加 - 减 * 乘 / 除 % 取余 关系 > 大于 >= 大于等于 逻辑 ! 非 && 并且 || 或 赋值 = += -= *= /= 优先级别: 算术 > 关系 > 逻辑 > 赋值翻译 2016-11-05 12:46:49 · 333 阅读 · 0 评论 -
郝斌的C语言基础 041
#includeint main(void){ int i; char ch; scanf("%d",&i); printf("i = %d\n",i); //.......... while((ch = getchar()) != '\n')//如果ch的内容是\n ,那\n != \n就为假,跳出循环往下执行 conti翻译 2016-11-05 12:32:19 · 376 阅读 · 0 评论 -
郝斌的C语言基础 039
#includeint main(void){ int i; scanf("m%d",&i); printf("i = %d\n",i); return 0;}翻译 2016-11-03 21:19:44 · 315 阅读 · 0 评论