好文档 - 专业文书写作范文服务资料分享网站

中央广播电视大学2008-2010C程序设计

天下 分享 时间: 加入收藏 我要投稿 点赞

中央广播电视大学2008-2009学年度第二学期“开放本科”期末考试 一、单选题(每小题2分,共20分}

1.由C语言源程序文件编译而成的目标文件的缺省扩展名为(D )。 A. cpp B . c C. exe D . obj

2.设x和y均为逻辑值,则x││y为假的条件是(C )。

A. 它们均为真 B.其中一个为真 C. 它们均为假D.其中一个为假 3.枚举类型中的每个枚举常量的值都是一个(A )。 A. 整数 B.浮点数 C. 字符D.记录

4.循环语句“for(i=0; 1<-n; i++)S;”中循环体S被执行的次数为(D A . 1 B. n – 1 C. n D . n + 1

5.假定有定义为”int a[4][5]={{1,3,5},{2,8}};\,则a[1][1]的值为(D) A . 3 B. 5 C. 2 D . 8

6.在下面的选项中,不能作为函数的返回类型的是( C)。 A .void B. int C. new D . long

7.假定x的值为5,y的值为6,则表达式x++*--y的值为( A)。 A . 25 B . 30 C. 36 D . 42

8.用calloc函数创建具有10个整型元素的动态存储空间正确调用是(C ) A. calloc(10,sizeof( char)) B.c alloc(10)

C. calloc(10,sizeof(int)) D. calloc(20,sizeof(int)) 9.假定有定义“int b[10], * pb;\,则不正确的赋值为(B )。 A. pb=b B. pb= b[5] C. p b=b+2 D . p b = &b [0] 10.标准输人设备的文件流标识符是(B )。 A . stderr B . stdin C. stdout D . stdio 二、填空题(每小题2分,共26分)

1.执行 “ print f(\’十2);”语句后得到的输出结果为C。 2.short int类型的长度为2

3. 用类型关键字表示十进制常数3.26f的类型为_float。 4. 假 定 y=10,则表达式++y*3的值为33

5. 逻辑 表 达式(x==0&&y>5)的相反表达式为(x!=0’II Y <=5)或:(x II Y <=5) 6.若 x= 5,Y= 10,则x!=y的逻辑值为_1 。 7. 假定二维数组的定义为“int a[3][5];\,则该数组所占存储空间的字节数为60

8. 使用“ typedefc har BB[10][50];”语句定义BB为含有10行50列的二维字符数组类型。

9. 字 符 串“a:\\\\xxk\\\\数据”的长度为11

16. 假 定 p所指对象的值为25,p+1所指对象的值为46,则,*++p的值为46 。 11. 假 定一个数据对象为int*,类型,则指向该对象的指针类型为int* * 12. 假 定 一个结构类型的定义为“struct A {int a,b; A *c;};”,则该类型的长度为12

13. 假定要访问一个结构对象x中的数据成员a,则表示方式为_x. a 。 三、写出下列每个程序运行后的输出结果(每小题6分,共30 1.#include void main( ){ int i,s= 0

for(i=1;;i++){ if(s>30) break; if(i%2==0) s+=i; }

printf(\解:s= 42

2.#include void main()

int a[9]={36,25,48,24,55,40,18,66,20}; int i,bl,b2; bl= b2=a[0]

for(i=1;i<9;i++){

if( a[i]> bl) bl=a[i]; if( a[i]< b2) b2=a[i]; }

printf(\}

解:66 18

3.#include vo idS B(charc h){ sw itch (c h) {

ca se ' A ': ca s e ,a ': printf (\” ); br eak cas e ' B ': c as e' b ': pri ntf (\“);break default:

printf (\“);break; ) }

void main(){

cha r a l “'a',a2='B',a3二,f' SB ( al );SB(a2);SB(a3); printf(\}

解: WW GG BB

4.#include # de fin eM 6 vo id m ain() inti ,x ;

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

for=(i=O;i< M/2 i++){x =a[i];a[i]=a[M一1一1〕;a[M-1一i]=x;} for(i=0;i<6;i++)print(\printf(\}

解:58 46 37 22 15 10 5.#include struct W orker

char name[15];int age; float pay; }

void main()

structW orkerx ={ \,2350}; struct Worker y, * p y=x; P=&x

printf(\,p->pay+20) }

解:104 2370.00

四、写出下列每个函数的功能(每小题6分,共12分) 1. int FH() int x,y=0;

scanf(\,&x);

while(x!=-1){y+=x;s canf(\return y;

函数功能: 求出从键盘上输入的一批整数的总和,以-1作为结束输人的标志。 2.i ntF F(structI ntNode *f ) //f为指向一个单链表的表头指针 {

int n= 0

if(!f) return 0; while(f){ n++

f=f->next; }

return n }

假定struct IntNode的类型定义为:

struct IntNode{int data;struct IntNode * next;

函数功能: 求出并返回由f所指向的单链表中所有结点的个数。 五、按题目要求编写程序或函数(每小题6分,共12分)

1、编 写一个程序,利用whil·循环,计算并打印输出1十音+合十?+告的值,其中正整数n值由键盘输入。假定求和变量用sum表示,计数变量用i表示,sum,i和n均定义为全局变量,sum和i的初值分别被赋予0和1, 1. # include Int n,i= 1 ; double sum = 0; void main ( ) {

scanf(\,&.n) ;

while(i< =n) sum+=(double)1/i++; printf(\

}

2. 根 据 函数原型\”编写函数定义,利用双重循环查找并、打印输出数组a[n〕中任何两个元素的值等于mm值的元素值。假定a[司十a[j〕等于mm,则输出格式为:(a[i],a[J]) void DD(int a[],int n, int MM) {

int i,j;

fore=0;1

if(a[i]+ a[j]==MM)p rintf(\,a[j]); }

中央广播电视大学2009-2010学年度第一学期“开放本科”期末考试 一、单选题(每小题2分。共20分)

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

2.设x和Y均为逻辑值,则x&&Y为真的条件是(A)。

A. 它们均为真B.其中一个为真 C. 它们均为假D.其中一个为假 3.在下列的符号常量定义中,正确的定义格式为(C)。

A. #defineMl B . const int M2 2 0 C. #defineM3 10 D . const char mark 4. for循环语句能够被改写为(D)语句。 A, 复合 B.if C. switch D. while

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

A. int a[]={1,2,3} B.int a[10]={0}C. int a[] D. int a[5] 6.下面的函数原型声明中存在语法错误的是(C)。

A. AA(int a, int b) C. AA(int a; int b;) B. AA(int, int) D. AA(int a, int) 7. 假 定 a为一个数组名,则下面存在错误的表达式为的(B)。 A. a[i] B. * a++ C.*a D .*(a+1)

8. 假定有定义为“int a[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 . 1 B . 2 C. 3 D . 4

10.向一个二进制文件中写人信息的函数为(D)。 A. fgets() B. fputs ()C. fread() D . fwrite( ) 二、填空题(每小题2分,共26分)

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 。

7. 假定二维数组的定义为“int a[3][5];\,则该数组所含元素的个数为15 。

8. 执 行“typedef int ABC[10];”语句把ABC定义为具有10个整型元素的数组类型。

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

10. 假定p所指对象的值为25,p+1所指对象的值为46,则‘p++的值为25 。 11. 若要把一个整型指针P转换为字符指针,则采用的强制转换表达式为(char*)p

12. NULL是一个符号常量,通常作为空指针值,它对应的值为0 。 13 .假定要动态分配一个类型为struct Worker的对象,并由r指针指向这个对象,则使用的表达式为struct Worker* r =malloc(sizeof(struct Worker)) 三、写出下列每个程序运行后的输出结果(每小题6分.共30分) 1.#include void main() { int i,s=0;

for(i=1;i<6;i++)s+=i*i; printf(\}

解:s= 55

2.#include #define N 6 void main( ) {

int i,a[N]={2,5,8,10,15,21}; for(i=0;i

if(a[i]%5) printf(\printf(\}

解:2 8 21

3.#include #include void main(){ int i;

unsigned int len;

char* a[5]=( \len=strlen(a[0]); for(i=1;i<5;i++)

if( strlen(a[i])>len)len=strlen(a[i]); printf(\,len); 解: 10

4.#include void main( ) {

inta ,b ;

for(a=2,b=3;b<20;){ printf (\

中央广播电视大学2008-2010C程序设计

中央广播电视大学2008-2009学年度第二学期“开放本科”期末考试一、单选题(每小题2分,共20分}1.由C语言源程序文件编译而成的目标文件的缺省扩展名为(D)。A.cppB.cC.exeD.obj2.设x和y均为逻辑值,则x││y为假的条件是(C)。A.它们均为真B.其中一个为真C.它们均为假D.其中一个
推荐度:
点击下载文档文档为doc格式
88f2b11mzy8mpoj7ocb09o8y29wt5t00z3c
领取福利

微信扫码领取福利

微信扫码分享