欢迎光临散文网 会员登陆 & 注册

北京工业大学《895计算机学科专业基础》考研冲刺串讲及模拟四套卷

2023-07-02 21:47 作者:考研保研直通车  | 我要投稿


1讲 C语言.flv
2讲 绪论和线性表.flv
3讲 栈和队列.flv
4讲 数组、广义表和二叉树.flv
5讲 二叉树和树.flv
6讲 图.flv
7讲 查找和排序.flv
8讲 模拟试卷一(1).flv
9讲 模拟试卷一(2).flv
10讲 模拟试卷二(1).flv
11讲 模拟试卷二(2).flv
12讲 模拟试卷三(1).flv
13讲 模拟试卷三(2).flv
14讲 模拟试卷四(1).flv
15讲 模拟试卷四(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[] = "C program";

char str[] = {"C program"};

char str[] ={'C', ' ','p','r','o','m','g','r','a','m','\0'};

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 <stdio.h>

#include <string.h>

int index(char s[],char t[]);

void main()

{

char str1[80],str2[80];

gets(str1);

gets(str2);

printf("%d\n",index(str1,str2));

}

C语言程序设计部分Page 11

int index(char s[],char t[])

{

int i,j,k;

for(i=0;s[i]!='\0';i++){

k=0;

for(j=i;t[k]!='\0'&&s[j]==t[k];j++)

k++;

if(t[k]=='\0')

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("%3d",a[i]);

printf("\n");}

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("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

scanf("%d",&key);

pos=search(a,key,n);

if(pos==-1)

printf("查找失败!\n");

else

printf("%d\n",pos);

}

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

pan.quark.cn/s/a2c6b88c


北京工业大学《895计算机学科专业基础》考研冲刺串讲及模拟四套卷的评论 (共 条)

分享到微博请遵守国家法律