程序设计语言期末试卷C
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试卷代号:7021 C卷
《程序设计语言》期末试卷
(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)
一、单项选择题(每题2分,共40分)
1. 以下叙述中不正确的是________。
A)在函数中,通过return语句传回函数值
B)在函数中,可以有多个return语句
C)在C中,main后的一对圆括号中也可以带有形参
D)在C中,函数的调用必需在一条独立的语句中完成
2. 在C语言中,正确的实型常数是________。
A)2e B).09 C)3e2.1 D)e5
3.若一个外部变量的定义形式为static int x ; 其中static的作用是________。
A)将变量存放在静态存储区,使x的值可以永久保留
B)使变量x可以由系统自动初始化
C)使x的值可以永久保留
D)使x只能在本文件内引用
4. 以下程序的输出结果是________。
main ()
{int a = 12 , b = 12;
printf (“ %d %d\n”, - - a,+ + b );}
A)10 10 B)12 12 C)11 10 D)11 13
5. 若有下列定义:char c[3],*pc=c; 则对c数组元素地址的正确引用是________。
A)&c[3] B)pc+2 C)c++ D)&c
6.语句if (!i ) i++; 中的条件表达式!i 等价于________。
A)i==0 B)i!=1 C)i!=0 D)-i
7.C语言中规定,if语句的嵌套结构中,else总是与________配对。
A)与最近的if 配套B)与第一个if 配套
C)按缩进位置相同的if配套D)与最近的且尚未配对的if 配套
8.当执行以下程序段时________。
x=-1;
do { x=x*x; } while(!x);
A)循环体将执行一次B)循环体将执行两次
C)循环体将执行无限次D)系统将提示有语法错误
9.简单变量做实参时,实参与其对应的形参之间的数据传递方式是________。
A)双向值传递方式B)地址传递方式
C)单向值传递方式D)用户指定传递方式
10.已知:float f [ ]={1.0, 2.3 , 4.5}, *pf=f; 则以下哪项不能正确引用数组元素________ 。
A)*pf-- B)*(--pf) C)*(pf++) D)*(++pf)
11.设有程序段:“char s[ ]= "char array"; char *p; p=s; ”则下面叙述正确的是。
A)*p与s[0]相等
B)s和p完全相同
C)s数组长度和p所指向的字符串长度相等
D)数组s中的内容和指针变量p中的内容相等
12.以下对二维数组c的声明正确的是_____ __ 。
A)int c[3][ ]; B)int c(3,4); C)int c(2)(2); D)int c[3][2];
13.定义:float (*pf) ();说明了________。
A)pf是指向一维数组的指针变量
B)pf是指向float型数据的指针变量
C)pf是指向函数的指针,该函数返回一个float型数据
D)pf是一个函数名,该函数的返回值是指向float型数据的指针
14. C语言中共用体类型变量在程序执行期间________。
A)所有成员一直驻留在结构中B)只有一个成员驻留在结构中
C)部分成员驻留在结构中D)没有成员驻留在结构中
15.以下有关宏替换的叙述不正确的是________。
A)宏名必须用大写字母表示B)宏替换不占用运行时间
C)宏名不具有类型D)宏替换只是字符替换
16.若要“为读/写建立一个新的文本文件”,在fopen函数中应使用的文件方式是____________。
A)“w+”B)“rb+”C)“ab+”D)“wb+”
17.两个基类型相同的指针变量之间,不能进行的运算是____________。
A)< B)= C)+ D)-
18.程序运行输出了错误的结果,可以排除下列哪一个因素____________。
A)算法错误B)运行时输入数据错误
C)未通过编译D)系统资源配置不当
19.下列语句中,哪一个可以按照从z到a的顺序输出26个小写英文字母____________。
A)for(i='z'; i>='a'; i++) printf(″%d″,i );
B)for(i='z'; i>='a'; printf(″%c″,i--));
C)for(i='z'; i>='a'; i++) printf(″%c″,i );
D)for(i='z'; i>='a'; --i ) printf(″%d″,i);
20.设有说明int (* prt )[5];其中标识符ptr是____________。
A)5个指向整型变量的指针
B)指向5个整型变量的函数指针
C)一个指向具有5个整型元素的一维数组的指针
D)具有5个元素的一维指针数组,每个元素都只能指向整型变量二、程序阅读题(每题3分,共30分)
1.以下程序的输出结果是___________。
main ( )
{ int i=010,j=10,k=0x10;
printf (“%d,%d,%d\n”,i,j,k);
}
2.写出以下程序的功能。
#include
void main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a-b;
if (a
printf("%d\n",s);
}
3.以下程序输出的结果是________。
#include
void main()
{ int n;
for(n=1; n<=10; n++)
{ if (n%2) continue;
printf("%d\t",n); }
}
4.阅读以下函数,写出此函数的功能。
float fun1(float a[],int n)
{ int i=1;
float result=a[0];
for( ; i if (result>a[i]) result=a[i];