中央广播电视大学C程序设计Word文件下载.docx

上传人:b****4 文档编号:6838113 上传时间:2023-05-07 格式:DOCX 页数:18 大小:22.25KB
下载 相关 举报
中央广播电视大学C程序设计Word文件下载.docx_第1页
第1页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第2页
第2页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第3页
第3页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第4页
第4页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第5页
第5页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第6页
第6页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第7页
第7页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第8页
第8页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第9页
第9页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第10页
第10页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第11页
第11页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第12页
第12页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第13页
第13页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第14页
第14页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第15页
第15页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第16页
第16页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第17页
第17页 / 共18页
中央广播电视大学C程序设计Word文件下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

中央广播电视大学C程序设计Word文件下载.docx

《中央广播电视大学C程序设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《中央广播电视大学C程序设计Word文件下载.docx(18页珍藏版)》请在冰点文库上搜索。

中央广播电视大学C程序设计Word文件下载.docx

,则该数组所占存储空间的字节数为60

8.使用“typedefcharBB[10][50];

”语句定义BB为含有10行50列的二维字符数组类型。

9.字符串“a:

\\xxk\\数据”的长度为11

16.假定p所指对象的值为25,p+1所指对象的值为46,则,*++p的值为46。

11.假定一个数据对象为int*,类型,则指向该对象的指针类型为int**

12.假定一个结构类型的定义为“structA{inta,b;

A*c;

};

”,则该类型的长度为12

13.假定要访问一个结构对象x中的数据成员a,则表示方式为_x.a。

三、写出下列每个程序运行后的输出结果(每小题6分,共30

1.#include<

stdio.h>

voidmain(){

inti,s=0

for(i=1;

;

i++){

if(s>

30)break;

if(i%2==0)s+=i;

}

printf("

s=%d\n"

s)

解:

s=42

2.#include<

voidmain()

inta[9]={36,25,48,24,55,40,18,66,20};

inti,bl,b2;

bl=b2=a[0]

i<

9;

if(a[i]>

bl)bl=a[i];

if(a[i]<

b2)b2=a[i];

%d%d\n"

bl,b2)

6618

3.#include<

voidSB(charch){

switch(ch){

case'

A'

:

case,a'

printf("

WW”);

break

case'

B'

case'

b'

printf("

GG“);

break

default:

BB“);

break;

voidmain(){

charal“'

a'

a2='

B'

,a3二,f'

SB(al);

SB(a2);

SB(a3);

\n"

);

WWGGBB

4.#include<

#defineM6

voidmain()

inti,x;

inta[M]={10,15,22,37,46,58);

for=(i=O;

M/2i++){x=a[i];

a[i]=a[M一1一1〕;

a[M-1一i]=x;

for(i=0;

6;

i++)print("

%d"

a[i]);

584637221510

5.#include<

structWorker

charname[15];

intage;

floatpay;

structWorkerx={"

wanghua'

52,2350};

structWorkery,*p

y=x;

P=&

x

%d%7.2f\n"

y.age+p->

age,p->

pay+20)

1042370.00

四、写出下列每个函数的功能(每小题6分,共12分)

1.intFH()

intx,y=0;

scanf("

%d"

,&

x);

while(x!

=-1){y+=x;

scanf("

&

returny;

函数功能:

求出从键盘上输入的一批整数的总和,以-1作为结束输人的标志。

2.intFF(structIntNode*f)//f为指向一个单链表的表头指针

{

intn=0

if(!

f)return0;

while(f){

n++

f=f->

next;

returnn

假定structIntNode的类型定义为:

structIntNode{intdata;

structIntNode*next;

求出并返回由f所指向的单链表中所有结点的个数。

五、按题目要求编写程序或函数(每小题6分,共12分)

1、编写一个程序,利用whil·

循环,计算并打印输出1十音+合十⋯+告的值,其中正整数n值由键盘输入。

假定求和变量用sum表示,计数变量用i表示,sum,i和n均定义为全局变量,sum和i的初值分别被赋予0和1,

1.#include<

stdio.h>

Intn,i=1;

doublesum=0;

voidmain()

.n);

while(i<

=n)sum+=(double)1/i++;

sum=%1f\n"

sum);

2.根据函数原型"

voidDD(inta[],intn,intMM)”编写函数定义,利用双重循环查找并、打印输出数组a[n〕中任何两个元素的值等于mm值的元素值。

假定a[司十a[j〕等于mm,则输出格式为:

(a[i],a[J])

voidDD(inta[],intn,intMM)

inti,j;

fore=0;

1<

n;

i++)

for(j=i+l;

j<

j++)

if(a[i]+a[j]==MM)printf("

%d,%d\n"

a[i],a[j]);

 

中央广播电视大学2009-2010学年度第一学期“开放本科”期末考试

一、单选题(每小题2分。

共20分)

l.C语言源程序文件的缺省扩展名为(D)。

A.cppB.exeC.objD.C

2.设x和Y均为逻辑值,则x&

Y为真的条件是(A)。

A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假

3.在下列的符号常量定义中,正确的定义格式为(C)。

A.#defineMlB.constintM220C.#defineM310D.constcharmark

4.for循环语句能够被改写为(D)语句。

A,复合B.ifC.switchD.while

5.在下面的一维数组定义中,错误的定义格式为(C)。

A.inta[]={1,2,3}B.inta[10]={0}C.inta[]D.inta[5]

6.下面的函数原型声明中存在语法错误的是(C)。

A.AA(inta,intb)C.AA(inta;

intb;

)B.AA(int,int)D.AA(inta,int)

7.假定a为一个数组名,则下面存在错误的表达式为的(B)。

A.a[i]B.*a++C.*aD.*(a+1)

8.假定有定义为“inta[10],x,*pa=a;

,若要把数组a中下标为3的元素值赋给x,则不正确的赋值为(D)。

A.x=pa[3]B.x=*(a+3)C.x=a[3]D.x=*pa+3

9.char类型的长度为(A)个字节。

A.1B.2C.3D.4

10.向一个二进制文件中写人信息的函数为(D)。

A.fgets()B.fputs()C.fread()D.fwrite()

1.C语言中的每条复合语句以}(或右花括号)作为结束符。

2.在#include命令中所包含的文件,可以是头文件,也可以是程序文件。

3.十进制数35对应的八进制数为043。

4.假定x=5,则表达式2+x++的值为7。

5.增量表达式++y表示成赋值表达式为y=y+1

6.若x=5,y=10,则X>

y的值为0。

,则该数组所含元素的个数为15。

8.执行“typedefintABC[10];

”语句把ABC定义为具有10个整型元素的数组类型。

9.strcat()函数用于连接两个字符串。

10.假定p所指对象的值为25,p+1所指对象的值为46,则‘p++的值为25。

11.若要把一个整型指针P转换为字符指针,则采用的强制转换表达式为(char*)p

12.NULL是一个符号常量,通常作为空指针值,它对应的值为0。

13.假定要动态分配一个类型为structWorker的对象,并由r指针指向这个对象,则使用的表达式为structWorker*r=malloc(sizeof(structWorker))

三、写出下列每个程序运行后的输出结果(每小题6分.共30分)

voidmain(){

inti,s=0;

i++)s+=i*i;

s=%d\n"

s);

s=55

#defineN6

voidmain()

inti,a[N]={2,5,8,10,15,21};

N;

if(a[i]%5)printf("

2821

#include<

string.h>

inti;

unsignedintlen;

char*a[5]=("

student"

"

worker,"

cadre'

soldier'

zzeasan123"

len=strlen(a[0]);

5;

i++)

if(strlen(a[i])>

len)len=strlen(a[i]);

%d\n"

,len);

10

inta,b;

for(a=2,b=3;

b<

20;

){

%d%d"

a,b);

a=a+b;

b=a+b;

%d%d\n"

a,b);

23581321

voidLE(int*a,int*b){

intx=*a;

*a=*b;

*b=x;

intx=15,y=26;

x,y);

LE(&

x,&

y);

x,y);

1526

2615

四、写出下列每个函数的功能【每小题6分.共12分)

math.h>

intSG(intx){//x为大于等于2的整数

inta=(int)sqrt(x);

//sqrt(x)取x的平方根

inti=2;

=a){

if(x%i==0)break;

1++;

}

if(i<

=a)return0;

elsereturn1;

判断x是否为一个素数,若是则返回1,否则返回。

2.intFindMax(structIntNode*f)//f为一个单链表的表头指针

{

intx;

f){printf("

单链表为空\n"

),exit(l);

x=f->

data;

f=f一>

if(f->

data>

x)x=f->

returnx;

structIntNode(intdata;

structIntNode=next;

求出由f所指向的单链表中所有结点的最大值。

五、按题目要求编写程序或函数(每小题6分,共12分!

1.编写一个程序,输出50以内(含50)的、能够被3或者5整除的所有整数。

#include<

voidmain()

for(i=3;

=50;

i++)

if(i%3==0││i%5==0)printf("

i);

2.编写一个递归函数"

intMinta[],intn)"

,求出数组a中所有n个元素之积并返回。

intFF(inta[],intn)

if(n<

=0){printf("

n值非法\n"

),exit

(1);

if(n==1)returna[n-1];

elsereturna[n-1]*FF(a,n-1);

中央广播电视大学2008-2009学年度第一学期“开放本科”期末考试

一、单选题(每小题2分.共20分)

1.由C语言目标文件连接而成的可执行文件的缺省扩展名为(D)。

A.cppB.exeC.obiD.c

2.设有两条语句为“inta=12;

a+=a*a;

,则执行结束后,a的值为(C)。

A.12B.144C.156D.288

3.带有随机函数调用的表达式rand()%20的值在(C)区间内。

A.1~19B.1~20C.0~19D.0~20

4.for循环语句“for(i=0;

i<

i+=2)S;

”中循环体S语句被执行的次数为(A)

A.(n十1)/2B.n/2+1C.n/2一1D.n-1

5.在下列的字符数组定义中,存在语法错误的是(D)。

A.chara[20]="

abcdefg"

B.chara[]="

x+y=55.“;

C.chara[15]={’1’,’2’};

D.chara[10]=5’;

6.若有一个函数原型为“double*function()"

,则它的返回值类型为(B)。

A.实数型B.实数指针型C.函数指针型D.数组型

7.在C语言中,所有预处理命令都是以(B)符号开头的。

A.*B.#C.&

.D.@

8.假定整数指针p所指数据单元的值为30,p+1所指数据单元的位为40,则执行

*p++后,p所指数据单元的值为(A)。

A.40B.30C.70D.10

9.若要使p指向二维整型数组a[10][20],则p的类型为(D)。

A.intB.int**C.int*[20]D.int(*)[20]

10.表示文件结束符的符号常量为(C)

A.eofB.EofC.EOFD.feof

1一个函数定义由函数头和函数体两部分组成。

2.执行“printf("

%c"

F'

-2);

”语句后得到的输出结果为D

3.int类型的长度为4

4.表达式(float)25/4的值为6.25

5.若x=5,y=10,则x<

=y的逻辑值为1

6.作为语句标号使用的case和default只能用于switch或开关或分情况语句的定义体中。

7.在程序中执行到return或返回语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

8.假定二维数组的定义为“chara[M][N]”,则该数组所含元素的个数为M*N

9.存储字符’a’需要占用存储器的1个字节空间。

10.用于存储一个长度为n的字符串的字符数组的长度至少为n+l

11.假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式(*p)++后,P

所指对象的值为26

12.假定P是一个指向整数对象的指针,则用*P表示该整数对象。

13.假定一个结构类型的定义为“structB{inta[5];

char*b;

};

"

,则该类型的理论长度为24

三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

1.#include<

inti,sl=0,s2=0

10;

if(i%2)sl+=i;

elses2+=i;

sl,s2)

2520

2.#include<

stdio.h>

constintM=20

inti=2;

while

(1){

if(i>

M/2)break;

if(M%i==0)printf("

%d“,i);

1++;

Printf("

24510

inta[6]={4,5,6,15,20,42};

Sl=s2=0;

switch(a[i]%2){

case0:

s2+=a[i];

case1:

sl+=a[i];

,sl,s2);

2042

Voidmain(){

inta[3][3]={{3,5,7},(9,11,13},{6,8,20)};

inti,*p=&

a[0][0];

for(i=0;

9;

i++){

if(*p>

10)printf("

,*P);

P++;

\n"

);

111320

5.#include<

stdio.h>

#include<

string.h>

StructWorker{charname[15];

floatpay;

structWorkerx;

char*t="

liouting"

intd=38;

floatf=400;

strcpy(x.Name,t);

x.age=d;

x.pay=f;

x.age++;

x.pay*=2;

%s%d%6.2f\n"

,xName,xage,xpay);

liouting39800.00

四、写出下列每个函数的功能

intSA(inta,intb){

if(a>

b)return1;

elseif(a==b)return0

elsereturn一1;

比较两个整数a和b的大小,若a>

b则返回1,若a==b则返回0,若a<

b则返回-1

2.voidOutput(structIntNode*f)//f为单链表的表头指针

f)return;

while(f);

print{("

,f一>

data)

f=f一>

next;

print("

structIntNode*next;

};

遍历并输出由f所指向的单链表中每个结点的值。

五、按题目要求编写程序或函数

1.编写一个程序,计算1+3+3²

+…+3¹

º

的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

#include<

intp=1;

ints=1;

=10;

i++){p*=3;

s+=p;

%d\n"

s);

2.根据函数原型I'

intMinta[]intn)"

,编写函数定义,计算并返回数组a[n」中所有元素之和。

intFF(inta[],intn)

inti,sum=0

i++)sum+=a[i];

returnsum;

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2