安徽大学数学期末试卷汇编c语言_C期末考试样卷B卷 下载本文

内容发布更新时间 : 2024/11/19 19:41:21星期一 下面是文章的全部内容请认真阅读。

安徽大学20 -20 学年第 学期

《C语言程序设计》期末考试试卷(B卷120分钟)

年级 院系专业 姓名 学号 座位号

题号 得分 一 二 三 四 五 六 七 八 得分

得分 一.单项选择题:(每题2分,共20分)

下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。

1.执行程序: int a; printf(\后,a的值是______。

A)60 B)20 C)15 D)10 2.程序段:int x=023; printf(\的输出是______。

A)19 B)18 C)23 D)22 3.程序段:static char s[10]={'C','h','i','n','a'}; printf(\的输出是______。

A)6 B)5 C)11 D)10

4.若fun( int x) { printf(“%d\\n”,x);},则fun_______。

A)返回值为void类型 B)返回值类型无法确定 C)返回值为int类型 D)没有返回值 5.有宏定义:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b)

且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8);则y和z的值是______。 A)y=65,z=65B)y=21,z=65C)y=65,z=21D)y=21,z=21

6.程序段char s[]=\, *p; p=s;执行后,*(p+5)的值是______。

A)'o' B)'\\0' C)'o'的地址 D)不确定的值

7.程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf(\的输出是______。

1

A)ABCD B)A C)D D)ABCD

BCD B C ABC

CD C B AB

D D A A

8.若定义:int (*p)[3];则标识符p______。 A)定义不合法。

B)是一个指针数组名,每个元素是一个指向整型变量的指针。 C)是一个指针,它指向一个具有三个元素的一维数组。 D)是一个指向整型变量的指针。

9.定义: struct sk {int a; float b;} data,*p;且p=&data;则正确引用成员a的方式是______。

A) p.data.a B) (*p).a C) p->data.a D) (*p).data.a

10.以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。

A)FILE *fp; B)FILE *fp;

fp=fopen(\ fp=fopen(\ C)FILE *fp; D)FILE *fp; fp=fopen(\ fp=fopen(\

得分

二.填空题:(每空1分,共20分)

请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。 1. C程序一个函数的定义由__________和____________两部分组成。 2. C语言的整型变量可分为基本型、短整型、________和________。

2

3. C语言在判断一个量是否为“真”时,以____代表“假”,以____代表

“真”。

4. C语言中的break语句只能用于______和______语句。

5. 对________和________型数组不赋初值,系统会对所有元素自动赋以0值。 6. C语言中“文件包含”是通过____________命令完成的,而符号常量是通

过____________命令定义的。

7. 对于数组x[5][5],*(x+2)+3表示__________,*(x[3]+2)表示

__________。

8. 若定义:struct {int y, m, d;} today, *pdata;则为today分配内存____字节,

为pdata分配内存____字节。

9. C语言文件按数据的存放形式可分为________文件和_________文件。 10. C语言文件是一个________序列,这类文件称为_________文件。

得分 三.程序归纳题(每题2分,共10分)

阅读下列函数,总结其主要功能填在答题卡相应的横线上。答在试卷上不得分。 1. int fun1 (char *str){ char *ptr=str; while(*ptr++); return ptr-str-1; } 2. double fun2(double x, double y, double z){ return x>(y>z?y:z)?x:(y>z?y:z); }

3. void funs3( int num[], int size ){ int i=0, tmp;

while( i

{ for(;*f!='\\0';f++,t++) *t=*f; *t='\\0'; } 5.void fun5(char *ps) { int a1=0, a2=0; while (*ps!= '\\0')

{ if (*ps>='a'&&*ps<='z') a1++; else if (*ps>='0'&&*ps<='9') a2++; p++; } printf(\

3