期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx

上传人:b****3 文档编号:17233890 上传时间:2022-11-29 格式:DOCX 页数:15 大小:42.92KB
下载 相关 举报
期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx_第1页
第1页 / 共15页
期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx_第2页
第2页 / 共15页
期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx_第3页
第3页 / 共15页
期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx_第4页
第4页 / 共15页
期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx

《期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx》由会员分享,可在线阅读,更多相关《期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

期末复习级软件系网络系和游戏系答案和说明Word文档格式.docx

do

{

printf("

%d"

x-=2);

}while(!

(--x));

A.1-2B.30C.1D.无输出第一次循环到while时,x为1,--x的值为0,!

0为1,因此需要继续循环。

这时x的值为0。

第二次循环时到while时,x为-2,--x为-3,!

(-3)的值为0,退出循环

7、下列程序段执行之后,输出的结果是【】

doublex=4,y;

if(x<

0)

y=0;

elseif(x<

10)

y=1.0/x;

else

y=1;

printf("

%.2f\n"

y);

A.0.25B.0.50C.0.75D.1.00

8、若已定义:

inta[]={0,11,22,33,44,55,66,77,88,99},*p=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是【】

A.p[i]B.*(&

a[i])C.a[10]D.a[p-a]

数组a的元素个数为10,最大可用下标为9

9、现有定义:

int*p[3];

下列关于标识符p的描述中,正确的是【】

A.定义不合法B.是一个指向整型变量的指针

C. 

是一个指针,它指向一个具有3个元素的一维数组

D.是一个指针数组名,每个元素是一个指向整型变量的指针

int(*p)[3]是数组指针,只定义一个指针,int*p[3]是指针数组,定义了3个指针

10、若有如下定义,则对ex中的a成员的正确引用是【】

structsk{inta;

floatb;

}ex,*p=&

ex;

A.(*p).ex.aB.p->

aC.p->

ex.aD.p.ex.a

11、判断字符串s1和s2是否相等的表达式是【】

A.s1=s2B.s1==s2C.strcpy(s1,s2)==0D.strcmp(s1,s2)==0

12、数字11与13进行“位或”运算(即11|13)的结果是【】

A.1B.11C.13D.15

(2)填空题

1、一个C语言程序的执行是从main函数开始的。

注意大小写

2、结构化程序的三种基本结构是:

顺序结构、选择结构和循环结构。

3、在VC++2008环境下,C语言源程序的扩展名是_c____,经过编译、链接后得到的可执行文件的扩展名是_____exe_____。

4、C语言中字符串的结束标志符是___'

_____;

转义字符__'

\n'

_____具有换行功能。

5、指针就是地址,指针变量就是用来存储地址的变量。

6、若a=5,b=3,则表达式a>

b?

a+b:

a-b的结果是8____。

7、数学式:

0<

x<

13对应的C语言表达式是______0<

x&

&

x<

13_____________。

8、一个函数的原型是voidfunc(int),现要求定义一个函数指针p指向该函数,那么p的正确定义格式是____void(*p)(int);

p=func;

_______________。

(3)写出下列程序的运行结果

1、

#include<

stdio.h>

intmain()

{

charc1,c2;

c1='

A'

+'

8'

-'

5'

c2='

4'

%c,%d\n"

c1,c2);

return0;

}

已知字母A的ASCII码为65,程序运行后的输出结果是D,69

2、

inta=5;

voidfun(intb)

inta=10;

a+=b;

%d,"

a);

{

intc=20;

fun(c);

a+=c;

%d\n"

程序运行后的输出结果是30,25

3.

voidbubbsort(inta[],intn)

inti,j,temp;

for(i=0;

i<

n-1;

i++)

for(j=0;

j<

n-1-i;

j++)

if(a[j]>

a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

intarray[]={3,15,9,6,12};

bubbsort(array,5);

for(inti=0;

5;

i++)

%d"

array[i]);

\n"

);

程序运行后的输出结果是3691215

注意标点符号和空格。

(4)程序填空

1、以下程序的功能是:

从键盘输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入的是负数时结束输入。

floatx,max,min;

请输入学生成绩:

"

scanf("

%f"

&

x);

max=min=x;

while(

(1))//x>

=0

if(

(2))max=x;

//x>

max

if(x<

min)min=x;

scanf("

max=%f,min=%f\n"

max,min);

2、以下程序的功能是:

先从键盘输入一个文件名,然后将输入的字符以文本方式依次存放到该文件中,用#作为输入的结束标志。

stdlib.h>

FILE*fp;

charch,fname[30];

请输入文件名:

\n"

gets(fname);

if((fp=(3))==NULL)//fopen(fname,"

w"

不能打开文件!

exit(0);

请输入数据:

while((ch=getchar())!

=(4))//‘#’

fputc((5),fp);

//ch

fclose(fp);

(5)编程题:

1、课件第3讲例3输入三角形的三边长,求其面积

math.h>

floata,b,c,s,area;

请输入三角形的三边长度:

%f%f%f"

a,&

b,&

c);

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

三角形的三边长度:

a=%f,b=%f,c=%f\n"

a,b,c);

三角形的面积:

area=%f\n"

area);

2、课件第6讲循环结

(2)例1

intsign=-1;

doubles=0,PI;

inti;

for(i=1;

1.0/i>

=1e-7;

i=i+2)

sign=-sign;

s=s+1.0/i*sign;

PI=s*4;

i=%d\n"

i-2);

PI=%10.8f\n\n"

PI);

3、课件第6讲循环结

(2)

例2:

输入一批学生成绩,输出其中的最高分、最低分

intscore,min,max;

请输入成绩(0--100),其它成绩结束:

"

);

score);

max=min=score;

//min、max赋初值

while((score>

=0)&

(score<

=100))

if(score>

max)

max=score;

if(score<

min)

min=score;

max=%d,min=%d\n"

4、课件第7讲数组

例5:

已知一个int型数组,数据元素分别为{9,8,5,4,2,0}。

要求按由小到大的顺序,重新排列数组元素(本例用选择排序法,也可以用冒泡排序法)

inta[6],i,j,t;

input6numbers:

for(i=0;

6;

a[i]);

for(j=0;

j++)

for(i=j+1;

if(a[i]>

a[j])

t=a[i];

a[i]=a[];

a[i+1]=t;

thesortednumbers:

a[i]);

5、课件第8讲数组

例6选择排序

#include<

string.h>

constintM=5;

//定义常量,下同

constintN=30;

voidSelectSort(charstr[M][N])//对字符串进行选择排序函数

inti,j,k;

chartemp[N];

//用于字符串交换时当作中间存放空间

M-1;

i++)//进行M-1次选择和交换

k=i;

//给k赋初值

for(j=i+1;

M;

j++)//选择出待排序元素中的最小值str[k]

if(strcmp(str[k],str[j])>

0)//进行字符串比较

k=j;

//记录较小值的位置

//利用字符串拷贝函数交换str[i]与str[k]的值

if(i!

=k)

{

strcpy(temp,str[i]);

strcpy(str[i],str[k]);

strcpy(str[k],temp);

}

intmain()

chars[M][N];

//定义二维字符数组

请输入%d个字符串:

gets(s[i]);

SelectSort(s);

//调用函数进行选择排序

\n排序后字符串:

puts(s[i]);

6、实验_12

第2题:

请参考教材P226-229图示,请说明下列函数中,哪些能实现主函数的实参数据交换功能,哪些不能实现或程序存在问题,为什么?

(最好上机验证)

(1)

voidswap1(int*p1,int*p2)

inttemp;

//临时变量的类型与要交换的值的类型一致

temp=*p1;

*p1=*p2;

*p2=temp;

(2)

voidswap2(int*p1,int*p2)

int*temp;

*temp=*p1;

*p2=*temp;

(3)

voidswap3(intx,inty)

temp=x;

x=y;

y=temp;

(4)

voidswap4(int*p1,int*p2)

int*p;

p=p1;

p1=p2;

p2=p;

7、实验_82、输入一个字符串,请编程统计其中的字母、数字、空格(含制表符)、标点符号的个数并输出。

如下图所示:

(提示:

在教材的p385-386中有字符和字符串函数,可以直接引用。

如isalpha()判断字母函数、isdigit()判断数字函数、isspace()判断空格函数、ispunct()判断标点函数等)

ctype.h>

charstr[201];

请输入一个长度不超过的字符串:

gets(str);

intn1,n2,n3,n4;

n1=n2=n3=n4=0;

str[i];

if(isalpha(str[i]))

n1++;

elseif(isdigit(str[i]))

n2++;

elseif(isspace(str[i]))

n3++;

elseif(ispunct(str[i]))

n4++;

该字符串的字母个数:

%d,数字个数:

%d,空格个数:

%d,标点个数:

%d\n\n"

n1,n2,n3,n4);

8、实验_101、编程计算数组各元素的平方和,要求如下:

(1)voidarray_input(intarray[],intn)的功能是:

输入整型数组array的各元素值,参数n是数组元素的个数;

(2)intsquare_sum(intarray[],intn)的功能是:

对整型数组array的各元素的平方求和,参数n是数组元素的个数;

(3)主函数的功能:

定义一个是长度为6的整型数组,通过调用array_input()输入各元素的值,再调用square_sum()得到各元素平方和,最后输出结果;

(4)主函数在前,上述两个函数在后面定义。

程序运行如下图所示:

voidarray_input(intarray[],intn);

intsquare_sum(intarrya[],intn);

inta[6];

array_input(a,6);

intarray_square_sum=square_sum(a,6);

数组a的各元素平方和:

%d\n\n"

array_square_sum);

voidarray_input(intarray[],intn)//输入数组元素的函数

请输入整型数组的%d个元素:

n);

n;

array[i]);

intsquare_sum(intarray[],intn)//计算数组元素平方和函数

intsum=0;

sum=sum+array[i]*array[i];

returnsum;

9、实验_11结构体、共用体和枚举类型

3、学生有三门课程:

A、B、C,3名学生的成绩如下表所示:

姓名

A

B

C

平均分

张三

78

84

67

李四

88

90

95

王五

66

79

80

请先定义一个结构体Student,其成员包括:

name(姓名)、A、B、C、aver(平均分),再定义一个Student类型的数组stud[3]来存放学生资料。

现欲先输入学生三门课程成绩,再计算平均分,最后输出学生信息,要求用“模块化程序设计”方法来设计程序。

请根据题意、注释在代码段1-代码段5中填写程序所缺代码。

//定义结构体Student,学生姓名不超过10个字符

//三门课程成绩均为百分制,只取整数;

平均分带小数

structStudent

//代码段1

};

//定义结构体数组stud[3]

//对input()、average()、print()三个函数进行声明

//调用input()、average()、print()三个函数

//代码段2

//定义输入n名学生的姓名、三门课程成绩的函数。

voidinput(Students[],intn)

//代码段3

输入某一学生成绩的界面如下:

//定义计算n名学生三门课程平均分的函数

voidaverage(Students[],intn)

//代码段4

//定义输出n名学生的姓名、三门课程成绩、平均分的函数。

学生信息输出如下图所示

voidprint(Students[],intn)

//代码段5

输出结果界面如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1