1 / 23

计算机硕士专业基础 —C 语言 赵海英 t.qq/flytianshan2012 c.koolearn/subject/zyk/jsj.jsp

计算机硕士专业基础 —C 语言 赵海英 http://t.qq.com/flytianshan2012 http://c.koolearn.com/subject/zyk/jsj.jsp. 目的:两个 (1) 掌握基础知识是考研专业是否取得高分一个关键。 (2) 转型:非计算机专业 ——> 计算机专业 方法: 以 C 语言为主线,以考研综合课程为点,进行穿针引线。. C 语言与考研课程关系 ★★ C 语言是数据结构的前导课 C 语言是操作系统的工具和应用 C 语言是计算机组成原理的辅助工具和表示形式 C 语言是计算机网络中二进制计算的保证.

Download Presentation

计算机硕士专业基础 —C 语言 赵海英 t.qq/flytianshan2012 c.koolearn/subject/zyk/jsj.jsp

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机硕士专业基础—C语言 赵海英 http://t.qq.com/flytianshan2012 http://c.koolearn.com/subject/zyk/jsj.jsp

  2. 目的:两个 (1)掌握基础知识是考研专业是否取得高分一个关键。 (2)转型:非计算机专业——>计算机专业 方法:以C语言为主线,以考研综合课程为点,进行穿针引线。

  3. C语言与考研课程关系★★ C语言是数据结构的前导课 C语言是操作系统的工具和应用 C语言是计算机组成原理的辅助工具和表示形式 C语言是计算机网络中二进制计算的保证

  4. C语言授课内容★★ 共十章,结合考研例题,紧密结合,考前先准备。 例题/习题的精选考试应用 讲授要求:以有助于专业综合课程考试,表现在: (1)读题 (2)解题 (3)规范答题

  5. 授课目标: 考研基础范围+考研题型+规范答题+思考方法 以求“高分”为目标 零基础,前期充分准备 框架+执行过程+基本标志

  6. C语言的组成结构 main() { int tmp1,tmp2,count; count=1; tmp1=count; tmp1++; count=tmp1; tmp2=count; tmp2=tmp2+2; count=tmp2; } int count=1; void fun1() { int tmp1; tmp1=count; tmp1++; count=tmp1; } void fun2() { int tmp2; tmp2=count; tmp2=tmp2+2; count=tmp2; } main() { /*int count=1;*/ fun1(); fun2(); }

  7. C语言的组成结构 main() { int tmp1,tmp2,count; count=1; tmp1=count; tmp1++; count=tmp1; tmp2=count; tmp2=tmp2+2; count=tmp2; } 执行过程: 结构(三句话) int count=1; void fun() { int tmp1; tmp1=count; tmp1++; count=tmp1; } void fun2() { int tmp2; tmp2=count; tmp2=tmp2+2; count=tmp2; } main() { /*int count=1;*/ fun1(); fun2(); } 执行过程: 复合框架 主子调用(三个要点)

  8. C语言的组成结构 形式的标志: () { } “ ” ‘ ’ \ \0 L % # 0 0x ; struct union enum 执行的标志: %s %c * & [ ] 运算的标志 ++ -- = struct node { datatype data; struct node *next; };

  9. 数制及转换 以二进制为例 (单位、内存、ASCII、编码、地址等考点) (1)定义 (2)二进制与十进制的转换 (3)二进制应用 内存与地址

  10. 2012-15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下:2012-15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下: struct{ int a; char b; short c; } record; record.a=273;   若record变量的首地址为0xC008,则地址0xC008中内容及re-cord.c的地址分别为

  11. 2012-15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下:2012-15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下: struct{ int a; char b; short c; } record; record.a=273;   若record变量的首地址为0xC008,则地址0xC008中内容及re-cord.c的地址分别为 这是一道计算机组成的考研题

  12. 2010-44. (12 分) 某计算 机的主 存地址 空间大小为 256M B,按 字节编 址。指令 Cache 和数 据 Cache 分离 ,均有 8个 Cache 行,每 个 Cache 行大 小为 64B,数 据 Cache 采用 直接映 射方式 。现有 两个功 能相同 的程 序 A 和 B,其伪代码 如下所 示: 假定 int 类型 数据用 32位补 码表 示,程 序编译 时 i, j,s u m 均分 配在寄 存器中 ,数 组 a 按 行优先 方式存 放, 其首地址 为320(十 进制数 )。 请回答 下列问 题,要 求说明 理由 或给出 计算过 程。 (1) 若不考 虑用 于 cache 一致性 维护和 替换算 法的控 制位, 则数 据 Cache 的总容 量为多 少? (2) 数组元 素 a[0][31]和 a [1][1]各自所 在的主 存块对 应的 Cache 行 号分别 是多少 ( Cache 行号从 0开 始)? (3) 程序 A 和 B 的 数据访 问命中 率各 是多少 ?哪个 程序的 执行时 间更短 ? 程序 A: int a[256][256] „„ int sum_array1() { int i, j, sum=0; for(i=0; i<256; i++) for(j=0; j<256; j++) sum += a[i][j]; return sum; } 程序 B: int a[256][256] „„ int sum_array2() { int i, j, sum=0; for(j=0; j<256; j++) for(i=0; i<256; i++) sum += a[i][j]; return sum; }

  13. 2010-44. (12 分) 某计算 机的主 存地址 空间大小为 256M B,按 字节编 址。指令 Cache 和数 据 Cache 分离 ,均有 8个 Cache 行,每 个 Cache 行大 小为 64B,数 据 Cache 采用 直接映 射方式 。现有 两个功 能相同 的程 序 A 和 B,其伪代码 如下所 示: 程序 A: int a[256][256] „„ int sum_array1() { int i, j, sum=0; for(i=0; i<256; i++) for(j=0; j<256; j++) sum += a[i][j]; return sum; } 程序 B: int a[256][256] „„ int sum_array2() { int i, j, sum=0; for(j=0; j<256; j++) for(i=0; i<256; i++) sum += a[i][j]; return sum; } 假定 int 类型 数据用 32位补 码表 示,程 序编译 时 i, j,s u m 均分 配在寄 存器中 ,数 组 a 按 行优先 方式存 放, 其首地址 为320(十 进制数 )。 请回答 下列问 题,要 求说明 理由 或给出 计算过 程。 (1) 若不考 虑用 于 cache 一致性 维护和 替换算 法的控 制位, 则数 据 Cache 的总容 量为多 少? (2) 数组元 素 a[0][31]和 a [1][1]各自所 在的主 存块对 应的 Cache 行 号分别 是多少 ( Cache 行号从 0开 始)? (3) 程序 A 和 B 的 数据访 问命中 率各 是多少 ?哪个 程序的 执行时 间更短 ?

  14. C语言的线性表的链式存储结构 (动态创建、访问、插入、删除) 举例:输出一个链表中最大结点(数据域) 标志 结构体使用规则 链表遍历三要点 数据域与指针域要分清 C语言的访问方式:四类 链表访问的特点

  15. C语言的作用★★——软件设计师 ————2011上半年软件设计师下午试题 • void sort(int n,int a[],int b[]) { • int c[R],i; • for(i=0;i< (1) ;i++) { • c[i]=0; • } • for(i=0;i<n;i++) { • c[a[i]]= (2) ; • } • for(i=1;i<R;i++){ • c[i]= (3) ; • } • for(i=0;i<n;i++) { • b[c[a[i]]-1]= (4) ; • c[a[i]]=c[a[i]] -1; • } • }

  16. C语言的作用★★——程序面试宝典 • #include<stdio.h> • main() • { • int b=3; • Int arr[]={6,7,8,9,10}; • Int *ptr=arr; • *(ptr++)+=123; • Printf(“%d,%d\n”,*ptr,*(++ptr)); • } • A、8 8 B、130 8 C、7 7 D、7 8

  17. 分析问题的能力: int fun(int t) { int f1,f2,f3; f1=0; f2=1; f3=f1+f2; while(f3<=t) { f1=f2; f2=f3; f3=f1+f2; } return f3; } 解决问题的能力: 求大于t的最小斐波纳契数列(Fibonacci Sequence)的数据

  18. C语言小技巧: 1、C语言两类变量 内容值 地址值 2、指针变量的定义 类型名 *指针变量名; 3、指针变量的使用 定义且初始化后才能使用

  19. 祝同学梦想成真! 谢谢 有问题要咨询噢!

More Related