C语言回顾
2019-06-20 23:48
85 查看
结构体、指针
编译器:VS2017
[code]#include<stdio.h> #include<string.h> struct Student { int age; float score; char sex; char name[100]; }; void InputStudent(struct Student *stu); int main(void) { struct Student st = { 18,99.9,'F',"你好"}; struct Student *st1 = &st; st1->score = 99.9; st1->sex = 'M'; strcpy_s(st1->name, 100,"我好"); InputStudent(&st); printf("%d %f %c %s\n",st.age,st.score,st.sex,st.name); printf("%d %f %c %s\n", st1->age,st1->score,st1->sex,st1->name); printf("%s %d %s %d \n","st1:", sizeof(st1),"st:",sizeof(st)); system("pause"); return 0; } void InputStudent(struct Student *stu) { (*stu).age = 10; strcpy_s(stu->name, 100, "不好"); (*stu).sex = 'F'; stu->score = 66.6; }
输出:
冒泡排序
编译器:VS2017
[code]#include<stdio.h> void sort(int * pArr, int len) { int i, j, c; for (i = 0; i<len -1; ++i) { for (j = 0; j<len - 1 - i; ++j) { if (pArr[j + 1] < pArr[j]) { c = pArr[j + 1]; pArr[j + 1] = pArr[j]; pArr[j] = c; } } } } int main(void) { int a[6] = { 10,2,12,-8,5,0}; int i = 0; sort(a, 6); for (i = 0; i < 6; ++i) { printf("%d ,", a[i]); } printf("\n"); system("pause"); return 0; }
编译器:VC++6.0
[code]#include<stdio.h> #include<malloc.h> void output(int *arr,int len); void sort(int *arr,int len); int main(void){ int a[6]={10,2,-9,54,2,0}; printf("原数组是:"); output(a,6); sort(a,6); printf("冒泡排序后的数组是:"); output(a,6); return 0; } void sort(int *arr,int len){ int c; for(int i=0;i<len-1;i++){ for(int j=0;j<len-1-i;j++){ if(arr[j]>arr[j+1]){ c=arr[j+1]; arr[j+1]=arr[j]; arr[j]=c; } } } } void output(int *arr,int len){ for(int i=0;i<len;i++){ if(i==len-1){ printf("%d \n",arr[i]); } else{ printf("%d ,",arr[i]); } } }
学生管理系统
编译器VC++6.0
[code]#include<stdio.h> #include<malloc.h> struct Student { int age; float score; char name[100]; }; int main(void) { int len; struct Student *pArr; int i; printf("请输入学生的个数:\n"); printf("len="); scanf("%d", &len); printf("%s %d\n", "学生的人数为:", len); pArr = (struct Student *)malloc(len * sizeof(struct Student)); for (i = 0; i < len; ++i) { printf("请输入第%d个学生信息:\n", i + 1); printf("age="); scanf("%d", &pArr[i].age); printf("score="); scanf("%f", &pArr[i].score); printf("name="); scanf("%s", pArr[i].name); } for (i = 0; i < len; i++) { printf("第%d个学生的信息是:", i + 1); printf("age=%d ,", pArr[i].age); printf("score=%f ,", pArr[i].score); printf("name=%s \n", pArr[i].name); } return 0; }
修改后:
[code]#include<stdio.h> #include<malloc.h> struct Student { int age; float score; char name[100]; }; void input(struct Student *pArr,int len); void outprint(struct Student *pArr,int len); int main(void) { int len; struct Student *pArr; printf("请输入学生的个数:\n"); printf("len="); scanf("%d", &len); printf("%s %d\n", "学生的人数为:", len); pArr = (struct Student *)malloc(len * sizeof(struct Student)); input(pArr,len); outprint(pArr,len); return 0; } void input(struct Student *pArr,int len){ for (int i = 0; i < len; ++i) { printf("请输入第%d个学生信息:\n", i + 1); printf("age="); scanf("%d", &pArr[i].age); printf("score="); scanf("%f", &pArr[i].score); printf("name="); scanf("%s", pArr[i].name); } } void outprint(struct Student *pArr,int len){ for (int i = 0; i < len; i++) { printf("第%d个学生的信息是:", i + 1); printf("age=%d ,", pArr[i].age); printf("score=%f ,", pArr[i].score); printf("name=%s \n", pArr[i].name); } }
按成绩排序:
[code]#include<stdio.h> #include<malloc.h> struct Student { int age; float score; char name[100]; }; void input(struct Student *pArr,int len); void outprint(struct Student *pArr,int len); void sortStudentByScore(struct Student *pArr,int len); int main(void) { int len; struct Student *pArr; printf("请输入学生的个数:\n"); printf("len="); scanf("%d", &len); printf("%s %d\n", "学生的人数为:", len); pArr = (struct Student *)malloc(len * sizeof(struct Student)); input(pArr,len); sortStudentByScore(pArr,len); outprint(pArr,len); printf("%d",pArr[1].age); return 0; } void input(struct Student *pArr,int len){ for (int i = 0; i < len; ++i) { printf("请输入第%d个学生信息:\n", i + 1); printf("age="); scanf("%d", &pArr[i].age); printf("score="); scanf("%f", &pArr[i].score); printf("name="); scanf("%s", pArr[i].name); } } void sortStudentByScore(struct Student *pArr,int len){ struct Student temp; for(int i=0;i<len-1;i++){ for(int j=0;j<len-1-i;j++){ if(pArr[j].score>pArr[j+1].score){ temp=pArr[j+1]; pArr[j+1]=pArr[j]; pArr[j]=temp; } } } } void outprint(struct Student *pArr,int len){ for (int i = 0; i < len; i++) { printf("第%d个学生的信息是:", i + 1); printf("age=%d ,", pArr[i].age); printf("score=%f ,", pArr[i].score); printf("name=%s \n", pArr[i].name); } }
原码:简单易懂,加减运算复杂,存在加减乘除四种运算,增加了CPU的复杂度,零的表示不唯一
反码:反码运算不便,也没有在计算机应用
移码:移码表示数值平移n位,n称为移码量
移码主要用于浮点数的阶码的存储
相关文章推荐
- c语言简单回顾
- 前期C语言回顾 函数
- 黑马程序员-2 ios学习历程 C语言基础回顾
- 黑马程序员-C语言回顾-分支结构
- C语言回顾(九、文件读写各种操作)——iOS开发基础
- 黑马程序员-C语言回顾-开发概述
- C语言回顾 十 动态内存分配
- c语言基础回顾-2
- 黑马程序员-C语言回顾-const关键字介绍及使用
- c语言回顾(七)
- c语言回顾—练习
- 前期C语言回顾 循环结构
- C语言Windows程序设计->第五天->回顾与反思
- C语言回顾(五、函数,递归,Hanoi汉诺塔,整数转字符串)——iOS开发基础
- c语言回顾--函数
- 黑马程序员———C语言回顾之复杂数据类型
- 01_什么是数据结构以及C语言指针回顾
- C语言回顾
- 黑马程序员-c语言回顾-进制
- C语言指针回顾(一)理解指针和指针指向的内容