6111《程序设计语言》期末试卷A 联系客服

发布时间 : 星期一 文章6111《程序设计语言》期末试卷A更新完毕开始阅读a1d8254ac850ad02de80417c

试卷代号:6111 A卷

《程序设计语言》期末试卷

(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)

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

1.组成C程序的基本单位是________。

A)表达式与语句 B)若干文件

C)函数 D)main函数

2.有关以下函数的哪些说法是正确的________。

int add( int x;int y) { z=x+y; return z; }

A)此函数能单独运行 B)此函数存在语法错误 C)此函数通过main函数能调用 D)此函数没有语法错误

3.下列数据中,为字符的是________。 A)'AB' B)\4.下列表达式没有错误的是________。

int x,*p; A)5.0%2

B)x+1=5

C)&p

D)&(x+1)

C)How D)'A'+2

5.任何复杂的程序,都是由________构成的。

A)分支结构、顺序结构、过程结构 B)循环结构、分支结构、过程结构

C)顺序结构、循环结构、分支结构

D)循环结构、分支结构

6.以下选项中,合法的C语言关键字是________。 A)integer B)Char C)short

D)Long

7.若有说明语句:int y[][4]={0,0,0,0,0,0}; 则正确的叙述是________。 A)数组y的每个元素都可得到初值0

B)二维数组y的行数为1 C)该说明等价于int y[0][4]={0};

D)有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值0

第 1 页 共 8页

8.若有以下变量说明和数据的输入方式,则正确的输入语句为________。

变量说明:float x1,x2; 数据的输入方式:4.52<回车> 3.5<回车> A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);

C)scanf(“%3.2f,%2.1f”,&x1,&x2);

D)scanf(“%3.2f%2.1f”,&x1,&x2);

9.已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为________。 A)p[0] B)*p C)&*a D)*&a 10.若有定义:int b[5];则以下对b 数组元素的正确引用是________。 A)*&b[5] B)b+2

C)*(*(b+2))

D)*(b+2)

11.设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________。

if (x=y) printf(\ A)语法错 C)编译出错

B)不能判断x和y是否相等 D)能判断x和y是否相等

12.以下有关switch语句的正确说法是________。 A)break语句是语句中必须的一部分

B)在switch 语句中可以根据需要使用或不使用break语句 C)break语句在switch 语句中不可以使用

D)在switch 语句中的每一个case都要用break语句

13.若用数组名作为函数调用时的参数,则实际上传递给形参的是________。

A)数组元素的个数 B)数组的第一个元素值

C)数组中全部元素的植

D)数组首地址

14.若主调用函数为double型,被调用函数定义中没有函数类型说明,而return语句中的表达式为float型,则被调用函数返回值的类型是________。 A)float 型 B)int型 C)double型 D)类型错误 15.以下叙述正确的是________。

A)函数的定义和函数的调用均不可以嵌套 B)函数的定义和函数的调用均可以嵌套

C)函数的定义可以嵌套,但函数的调用均不可以嵌套 D)函数的定义不可以嵌套,但函数的调用均可以嵌套

16.凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是________。

A)静态(static) C)自动(auto)

B)外部(extern) D)寄存器(register)

第 2 页 共 8页

17.以下有关宏替换的叙述不正确的是________。

A)宏名必须用大写字母表示 C)宏名不具有类型

B)宏替换不占用运行时间 D)宏替换只是字符替换

18.下列对字符串的定义中,错误的是 。

A)char str[5]= \C)char *str =\

B)char str[ ]= \

D)char str[ ]={ 'a', 'b', 'c', 'd', 'e', '\\0'};

19.说明语句“int(*p)( ); ”的含义是_______ 。

A)p是一个指向一维数组的指针变量 B)p是指针变量,指向一个整型数据

C)p是一个指向函数的指针,该函数返回一个int型数据 D)以上都不对

20.C语言中结构体类型变量在程序执行期间________。

A)所有成员一直驻留在内存中 C)部分成员驻留在内存中

B)只有一个成员驻留在内存中 D)没有成员驻留在内存中

二、程序阅读题(每题3分,共30分)

1.写出以下程序的运行结果。

#include void main() { }

int num=0; while (num++<=2); printf(\

2.写出以下程序的运行结果。

#include void main() { }

int a[ ]={1,3,5,7,9}; int y=1,x,*p; p=&a[1];

for(x=0; x<3; x++) y+=*(p+x); printf(\

3.阅读以下程序,写出程序的功能。

#include

第 3 页 共 8页

void main() { }

int a[10]={2,4,0,-5,10,6,-8,9,6,7}; int i,s=0,count=0; for(i=0; i<10; i++)

if(a[i]>0) s+=a[i],count++; else continue;

printf (\ , count=%d\\n\

4.阅读以下函数,写出此函数的功能。

void fun(char A[ ],int n) { }

char tmp; int k;

for (k=0; k

tmp=A[k]; A[k]=A[n-k-1]; A[n-k-1]=tmp;

5.阅读以下程序,写出此程序的功能。

#include void main() { }

char ch;

int c=0,s=0,n=0,other=0; while ((ch=getchar())!='\\n') { }

printf(\

if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) c++; else if (ch==' ') s++;

else if (ch>='0'&&ch<='9') n++; else other++;

6.下列程序有2个文件组成,写出运行结果。

/* file 1 */ #include int x=20; int y=20;

void func_add(void) { }

第 4 页 共 8页

y=10+x; x*=2;