北京工业大学《895核算机学科专业基础》考研冲刺串讲及仿照四套卷…(北京工业大学857微生物基础)

2023年 8月 23日 作者 gong2022 0

1讲 c言语.flv2讲 序文和线性表.flv3讲 栈和行列.flv4讲 数组、广义表和二叉树.flv5讲 二叉树和树.flv6讲 图.flv7讲 查找和排序.flv8讲 仿照试卷一(1).flv9讲 仿照试卷一(2).flv10讲 仿照试卷二(1).flv11讲 仿照试卷二(2).flv12讲 仿照试卷三(1).flv13讲 仿照试卷三(2).flv14讲 仿照试卷四(1).flv15讲 仿照试卷四(2).flv北京工业大学《895核算机学科专业基础》考研冲刺串讲及仿照四套卷.pdf
北京工业大学《895 核算机学科专业基础》
考研冲刺串讲及仿照四套卷
第1讲 c言语
主讲教师:付秋平 本讲内容要点
一、数组
二、指针和引证
三、规划体
四、链表
五、文件
六、归纳总结
page 2一、数组
【考点一】一维数组
<元素数据类型> <数组变量名>[<元素数量>]; 如:int vote[10];
分析:
??悉数数组元素都是所界说的元素数据类型
??数组变量命名与一般变量命名方法相同
??有必要阐明元素数量
数组的特征
??每个数组元素数据类型要相同
??每个数组元素上一般的操作要相同
page 3page 4
一、数组
每个元素均为整型。
存放在10个接连的地址空间。数组占存储空间的巨细:元素数量*每
个元素储存空间巨细
数组元素下标从0初步,所以第5个元素的下标是4,就是:vote[4]
0 1 2 3 4 5 6 7 8 9
vote
int vote[10]; 一、数组
数组的初始化
界说数据规划时即初始化悉数元素
int vote[10]={10,2,3,6,8,9,12,7,4,5}
更一般的用键盘读入进行数组的初始化
for(i=0;i<n;i++)
scanf(?%d?,&a[i]);
page 5page 6
一、数组
引证数组元素:
<数组变量名>[<下标表达式>],如:
vote[0],vote[1],vote[2],…
for( i=0; i<n; i++ )
vote[i]++;
留心下标表达式的值必定要鄙人标取值规模内?page 7
一、数组
【考点二】字符数组与字符串
字符串初始化
char str[] =
char str[] = {
char str[] ={
c
p
r
o
g
r
a
m \0
0 1 2 3 4 5 6 7 8 9?
四、算法方案题(30分,每题15分)c言语程序方案有些
一、阅览以下程序,写出输出成果,并写出程序的功用。(30分,每题
10分)
1.#include <stdio.h>
void abc(char *str)
{
int i,j;
for(i=0,j=0;str[i];i++)
if(str[i]!=c)
str[j++]=str[i];
str[j]=’\0’;
}
page 8page 9
void main()
{
char str[100];
gets(str);
abc(str);
puts(str);
}
假定输入abcdef
输出成果是abdef
在输入的文本中删去c字符。
c言语程序方案有些page 10
2. #include <s

tdio.h>
#include <string.h>
int index(char s[],char t[]);
void main()
{
char str1[80],str2[80];
gets(str1);
gets(str2);
printf(
}
c言语程序方案有些page 11
int index(char s[],char t[])
{
int i,j,k;
for(i=0;s[i]!=i++){
k=0;
for(j=i;t[k]!=j++)
k++;
if(t[k]==)
return i;}
return -1;
}
假定输入str1为abcdefg,str2
为cdef,输出为2
假定输入str1为abcdefg,str2
为def,输出为-1
功用:字符串中是不是包括另一个
字符串,若包括回来子串在字符
串中的方位,若不存在则回来-1
c言语程序方案有些page 12
3. #include <stdio.h>
#include <stdlib.h>
#define size 20
void main(){
int i,k, a[size]={0};
for(i=1;i<=size/2;i++)
{右边;
}
for(i=0;i<size;i++)
printf(
printf(}
do{
k=random(size);
}while(a[k]==1);
a[k]=1;
程序的功用是:随机发生10个
0和10个1
c言语程序方案有些page 13
二、依照以下需求,答复疑问。而且编制程序(20分)
1、请阅览以下算法的描绘,写出该算法的用处(
5分)

1)输入一组数,数依照从小到大摆放存在a中

2)从键盘读入1个数

3)low=0,high=n-1

4)mid=(low+high)/2

5)假定数组中mid中的数据和要查找的数相等转到(
8)

6)假定不相等,判别比要查找的数据大仍是小,假定大high=low-1,
假定小low=mid+1
c言语程序方案有些page 14

7)假定high<low,循环结束,否则从头重复实施(
3)、(
4)、(
5)
和(6)

8)假定high<low,证明数组中不存在这个数,否则打印这个数在数组
中的方位
功用:二分查找
2.请用c言语编制程序,完成该算法(15分)
#include <stdio.h>
int search(int a[],int key,int n);
c言语程序方案有些c言语程序方案有些
void main()
{
int a[100],key,i,pos;
scanf(
for(i=0;i<n;i++)
scanf(
scanf(
pos=search(a,key,n);
if(pos==-1)
printf(
else
printf(
}
page 15c言语程序方案有些
int search(int a[],int key,int n)
{
int low,high,mid;low=0;high=n-1;
while(low<=high){
mid=(low+high)/2;
if(a[mid]==key)
return mid;
else if(a[mid]<key)
low=mid+1;
else
high=mid-1;}
return -1;
}
page 16本讲小结
page 17谢谢!
page 18
https://pan.quark.cn/s/a2c6b88c