发布时间 : 星期一 文章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
int num=0; while (num++<=2); printf(\
2.写出以下程序的运行结果。
#include
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 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 void func_add(void) { } 第 4 页 共 8页 y=10+x; x*=2;