安徽大学C语言程序设计期末考试试题A

更新时间:2024-01-18 06:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

安徽大学C语言程序设计期末考试试题A

安徽大学20 -20 学年第 学期 《C语言程序设计》期末考试试卷(A卷120分钟) 年级 院系专业 姓名 学号 座位号 题号 得分 一 二 三 得分 得分 一. 单项选择题:(每题2分,共40分) 下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。 1.下面程序段执行后,a的值是______。 int a; printf(\ A)60 B)20 C)15 D)10 2.下列程序段的输出是______。 int x=023; printf(\ A)19 B)18 C)23 D)22 3.执行下列语句后,a的值是______。 int a=8; a+=a-=a*a; A)-240 B)64 C)112 D)-112 4.执行下列语句后,输出的值是______。 int x=6; printf(\ A)5,5,5 B)6,5,5 C)7,6,5 D)5,6,5 5.指出下列程序段所表示的逻辑关系是______。 if(a

if(c==d) x=1; } else x=2;

A)若a=b且c!=d,则x=2。 B)若a=b,则x=2。

C)若a

6.下列程序段的执行结果是______。 int i,x;

for(i=1,x=1;i<=20;i++) {

if(x>=10) break; if(x%2==1) {

x+=5;

continue; }

x-=3; }

printf(\

A)6,4 B)7,5 C)10,6 D)14,7

7.下列程序的执行结果是______。

#include \ #include \ main() {

static char s[10]={'C','h','i','n','a'};

printf(\ }

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

8.函数的数据类型是______决定的。

A)调用该函数时临时 B)调用函数的实参 C)return语句的表达式类型 D)函数的形参

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

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

10.以下程序的输出结果是______。

#include \ main() {

static int a[]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2;

printf(\ }

A)0,5 B)1,5 C)0,6 D)1,6

11.在以下定义中,标识符P______。 int (*p)[3]; A)定义不合法。

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

12.sizeof(int)是______。

A)一个整型表达式 B)一个不合法的表达式 C)一种函数调用 D)一条语句

13.有宏定义:#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=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21

14.设有程序段:

union MYTYPE { long x; int y[4]; char z[6];}them; main(){ printf(“%d\\n”,sizeof(them)); } 则程序的输出结果是______。

A)18 B)6 C)8 D)4

15.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式

是______。

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

fp=fopen(\ fp=fopen(\

C)FILE *fp; D)FILE *fp;

fp=fopen(\ fp=fopen(\

16. 设有如下定义:

struct sk {int a; float b;} data,*p;

且 p=&data; 则对data中a域的正确引用是 ( ).

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

17.若fun( int x) { printf(“%d\\n”,x);}, 则fun_______。 A)返回值为 void 类型 B)返回值无法确定 C)返回值为 int 类型 D)没有返回值

18.实参和和形参之间的数据传送是_______。

A)地址传送 B)实参传给形参,再由形参传给实参 C)值传送 D)由用户指定传送方式

19.以下程序的输出结果是______。 char *s=”ABCD”, *p; for( p=s; *p ; p++) printf(\

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

BCD B C ABC

CD C B AB

D D A A

20.下列程序段的输出是______。

int fun( int x) {

static int a=3; a+=x;

return a; }

void main( void ) {

int k=2, m=1, n; n=fun(k); n=fun(m);

printf( “%d\\n”, n); }

A)3 B)4 C)6 D)9

得分

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

请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。 1. C语言有 ⑴ 、 ⑵ 、 ⑶ 、 ⑷ 和 ⑸ 五

种常量。

2. C程序的变量不仅要事先 ⑹ ,而且还必须 ⑺ 后才能使用。 3. C语言在给出逻辑运算结果时,以 ⑻ 代表“真”,以 ⑼ 代

表“假”;在判断一个量是否为“真”时,以 ⑽ 代表“假”,以 ⑾ 代表“真”。

4. C语言规定只有 ⑿ 数组和 ⒀ 数组才能初始化;这种数组

不赋初值,系统会对所有数组元素自动赋以 ⒁ 值。

5. 对两个指针变量进行关系运算的条件是 ⒂ ,其结果表

示 ⒃ 。

6. 一个C文件是一个 ⒄ 或 ⒅ ,它把数据看成是 ⒆ ,

对文件的存取是以 ⒇ 为单位。

三. 程序设计题(每空2分,共40分)

得分

阅读下列程序,在横线上填入适当的内容使程序完整。请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。

1.下列程序是求Fibonacci数列:1,1,2,3,5,8……的前40个数,要求每行

输出4个数。

main() {

long int f1,f2; int i;

f1=1 ; f2=1;

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

printf(\ if( ⑵ ) printf(\ f1= ⑶ ; f2= ⑷ ;

} }

2.下列程序是求一个3×4矩阵中值最小元素。 min_value( ⑸ ) { int i,j,k,min;

⑹ =array[0][0]; for(i=0;i<3;i++)

for(j=0;j<4;j++)

if( ⑺ ) min= ⑻ ;

⑼ ; }

main() { static int a[3][4]={ 1,2,3,4,5,6,7,8,9 }; printf(\is %d\\n\ ⑽ )); }

3.下列程序的功能是:将字符串a复制到字符串b中。

void copy_string(char *from, ⑾ ) ; {

for(;*from; ⑿ ) ⒀ ; *to= ⒁ ; }

main()

{ char *a=\

char *b=\ ⒂ ;

printf(\ }

4.有一个班,3个学生,各学四门棵。下列程序的功能是:查找有一门以上课

程不及格的学生,打印出他们的全部课程的成绩。 main()

{ ⒃ ; static float

score[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; search(score,3); }

void search( float (*p)[4], int n) ;

fail\\n\

;i++)

⒇ );

{ int i,j,flag;

for(j=0;j

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

if( ⒄ ) flag=1; if( ⒅ )

{ printf(\

for(i=0; ⒆ printf(\\

printf(\ } } }

参考答案

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

CBDBB CBCBD CABBB BCCAC

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

1、常数 2、 字符 3 、 字符串 4、转义序列 5、符号常量 6、定义 7 、 赋值 8 、1 9 、0

10 、 非0

11、0 12 、static 13 、extern 14 、0 15、指向同一数组 16、位置的前后 17、字节流 18、二进制流 19、一连串的字符 20、字符(字节)

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

1、 20 2、 i%5==0

3、 f1+f2 4、 f1+f2 5、 int

array[3][4]

6、 min

7、 min

min 10、 a 11、 char

*to

12、 from++,to++

13、 14、 15、 16、 17、 18、 *to=*from ‘\\0’

copy_string(a,b)

void search( float (*p)[4], int n)

p[j][i]<60

flag==1

19、 20、

i<4 p[j][i]

本文来源:https://www.bwwdw.com/article/goto.html

Top