计算机硕士专业基础 —C 语言 赵海英 t.qq/flytianshan2012...
-
Upload
bradley-summers -
Category
Documents
-
view
120 -
download
10
description
Transcript of 计算机硕士专业基础 —C 语言 赵海英 t.qq/flytianshan2012...
计算机硕士专业基础— C 语言
赵海英http://t.qq.com/flytianshan2012
http://c.koolearn.com/subject/zyk/jsj.jsp
目的:两个(1) 掌握基础知识是考研专业是否取得高分一个关键。
(2) 转型:非计算机专业—— > 计算机专业
方法:以 C语言为主线,以考研综合课程为点,进行穿针引线。
C 语言与考研课程关系★★
C语言是数据结构的前导课
C语言是操作系统的工具和应用
C语言是计算机组成原理的辅助工具和表示形式
C语言是计算机网络中二进制计算的保证
C 语言授课内容★★共十章,结合考研例题,紧密结合,考前先准备。 例题 /习题的精选考试应用
讲授要求:以有助于专业综合课程考试,表现在: ( 1 )读题 ( 2 )解题 ( 3 )规范答题
授课目标:考研基础范围 + 考研题型 + 规范答题 + 思考方法
以求“高分”为目标
零基础,前期充分准备
框架+ 执行过程+ 基本标志
C 语言的组成结构 main()
{ int
tmp1,tmp2,count;
count=1; tmp1=count;
tmp1++;
count=tmp1;
tmp2=count;
tmp2=tmp2+2;
count=tmp2;
}
main()
{ /*int count=1;*/
fun1();
fun2();
}
int count=1;void fun1(){ int tmp1; tmp1=count;
tmp1++;
count=tmp1;
}
void fun2(){ int tmp2; tmp2=count;
tmp2=tmp2+2;
count=tmp2;
}
C 语言的组成结构 main()
{
int tmp1,tmp2,count;
count=1;
tmp1=count;
tmp1++;
count=tmp1;
tmp2=count;
tmp2=tmp2+2;
count=tmp2;
}
执行过程:
结构(三句话)
main()
{
/*int count=1;*/
fun1();
fun2();
}
执行过程:
复合框架
主子调用(三个要点)
int count=1;void fun(){ int tmp1; tmp1=count;
tmp1++;
count=tmp1;
}
void fun2(){ int tmp2; tmp2=count;
tmp2=tmp2+2;
count=tmp2;
}
C 语言的组成结构 形式的标志:() { }
“ ”
‘ ’
\
\0
L
%
#
0
0x
;
struct union enum
运算的标志++
--
=
struct node
{ datatype data;
struct node *next;
};
执行的标志:%s
%c
*
&
[ ]
章节 标题 内容 适用课程 例题 / 习题
第一章 基础知识 数制及转换计算机字长内存与地址
计算机组成计算机网络操作系统
考研真题
第二章 C 语言组成 C 数据组成、数据及数据类型
数据结构计算机组成操作系统
考研真题C 语言考研
第三章 顺序结构程序设计 框架语句输入、输出
C 语言考研 C 语言考研
第四章 选择结构程序设计 if---elseswitch(){…}
数据结构 C 语言考研
章节 标题 内容 适用课程 例题 / 习题
第五章 循环结构程序设计
3 种结构双循环break
continue
数据结构操作系统计算机组成
考研真题C 语言考研
第六章 数组 一维数组二维数组字符串
数据结构操作系统计算机组成
考研真题C 语言考研
第七章 函数与预编译 定义 / 调用 / 原型分析过程
传值
数据结构操作系统
考研真题C 语言考研
章节 标题 内容 适用课程 例题 / 习题
第八章 指针 列指针行指针函数指针等
数据结构 链表C 语言考研
第九章 结构体 sturct类型typedef构造 - 定义 - 使用
数据结构计算机组成
考研真题C 语言考研
第十章 位运算 / 文件
打开 / 关闭读写指针定位 / 测试
数据结构 C 语言考研
数制及转换 以二进制为例 (单位、内存、 ASCII 、编码、地址等考点)
( 1 )定义 ( 2 )二进制与十进制的转换
( 3 )二进制应用 内存与地址
2012-15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定 int和 short型长度分别为32位和 16位,并且数据按边界对齐存储。某 C 语言程序段如下: struct{ int a; char b; short c; } record; record. a=273; 若 record变量的首地址为 0xC008,则地址0xC008中内容及 re-cord. 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 的地址分别为
这是一道计算机组成的考研题
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;}
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 的 数据访 问命中 率各 是多少 ?哪个 程序的 执行时 间更短 ?
C语言的线性表的链式存储结构(动态创建、访问、插入、删除)举例:输出一个链表中最大结点(数据域)
标志 结构体使用规则 链表遍历三要点 数据域与指针域要分清
C语言的访问方式:四类 链表访问的特点
C语言的作用★★——软件设计师 ————2011上半年软件设计师下午试题
1 void sort(int n,int a[],int b[]) {2 int c[R],i;3 for(i=0;i< (1) ;i++) {4 c[i]=0;5 }6 for(i=0;i<n;i++) {7 c[a[i]]= (2) ;8 }9 for(i=1;i<R;i++){10 c[i]= (3) ;11 }12 for(i=0;i<n;i++) {13 b[c[a[i]]-1]= (4) ;14 c[a[i]]=c[a[i]] -1;15 }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
分析问题的能力: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 )的数据
C 语言小技巧:
1 、 C 语言两类变量 内容值 地址值
2 、指针变量的定义 类型名 * 指针变量名;
3 、指针变量的使用 定义且初始化后才能使用