机密★启用前。
课程** 0342)
本试卷共7页,满分100分,考试时间150分钟。
一、单项选择题(本大题共15小题,每小题2分,共30分)
1.下列有关c语言说法中错误的是。
a.任何非主函数可以调用主函数 b.任何非主函数可以调用函数自己
c.程序从主函数开始执行d.主函数在程序中的排列顺序是任意的
2.下列数据中属于字符串常量的是。
a. “ab. ‘ac. a d. ‘ab’
3.设整型量a=b=c=-1; 则计算++a&&+b&&+c之后,a,b,c值是。
a.0,0,0b.0,-1,-1c. 0,-1,0 d.0,0,-1
4.设int a,b; 则执行表达式a=2,b=(3,a++)a+b;后,变量a,b的值是。
a.2,2 b.2, 3c.3, 2 d.3,3
5.定义:int a, b;执行 scanf(“a=%d,b=%d”, a,&b);后,使a, b的值分别为12和66,正确的输入形式是 【
a. 12,66 b.12 66 c.a=12,b=66 d.a=12 b=66
6.switch(表达式)语句中的“常表达式”,允许的类型一般是。
a. 整型或实型 b. 实型或字符型。
c. 字符串型 d. 整型或字符型。
7.执行下列程序段后x的值为。
int i=1, j=10, x;
for (;i<=j; i++,j) x=i;
a.5b.6c.7d.8
8.设语句printf(“%d”, strlen(“\12ab3\tabc”))的输出结果是。
a.8b.9c.10d.13
9.定义:static int a[ ]3]=;下列表示值为14的是。
a. a[3][1] b.a[2][1c.a[2][0] d.a[3][0]
10.定义:int b[6],*q=b;对数组元素的错误引用形式是。
a.q[2b.*(b+3c.*(q+5d.b[6]
11.设double *p[6];,则p是。
a.指向double型的指针 b. double型数组 c.指针数组 d.数组指针。
12. c语言中,以下叙述中错误的是。
a.同一程序中,全局变量和局部变量可以同名。
b.局部变量的作用域被限定在其所定义的局部范围中。
c.同一程序中,全局变量和局部变量不能同名。
d.全局变量的作用域从定义处开始到本源程序文件结束。
13.c语言中,一个函数调用语句为prime(e1, (e2,e3) ,e4,e5,e6));其实参个数为。
a.3个b. 4个 c . 5个d. 6个。
14.定义:structsys;则printf(“%d”,sizeof(sys));输出结果是 【
a. 20b.7c. 11d.15
15.下列函数中,能将文件型指针fp定位在文件末尾的是。
a.fseek(fp,0,2) b.fseek(fp,0,1) c.rewind(fp) d.feof(fp)
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
16.c语言的基本语句中,无任何操作的语句被称为语句。
17.设a=2,b=3;则表达式a*=b+1 的值是。
18.设int a=4, b=6,c=8;则计算表达式c>b>a的值是。
19.表达式2&3|4和2>>1的值分别是。
20.设int m=2; 执行m++>2?prinff(“*d”,m):printf(“###%d”,m);;输出结果是。
21.若int x,y;,则for(x=10,y=1;(x=0)&&y<5;x--,y++)循环里的循环体被执行次。
22.定义:int x[5];表示数组中最后一个元素的地址是。
23.定义:int a[ ]pa=a+2; printf(“%d”, pa);输出的结果是。
24.定义: struct x,*p=&x;用指针变量访问a成员的形式是。
25.定义函数为内部函数的存储类别是。
三、程序分析题,并写出程序的运行结果(本大题共5小题,每小题5分,共25分)
#include<>
void main()
char s;
s=getchar( )
switch(s-'2')
case 0:
case 1:putchar(s+4);
case 2:putchar(s+4);break;
case 3:putchar(s+3);
default:putchar(s+2);break;
键盘输入:2回车。
27. void main( )
int x[ ]k, t;
for(k=0; k<3; k++)
t=x[k],x[k]=x[6-k],x[6-k]=t;
for(k=0; k<7; k++)
if(k%3= =0) printf(“”);
printf(“%4d”, x[k]);
#include<>
void main()
int x,y,t;
scanf("%d",&x);
x=(x>=0?x:-x);
y=0;while(x)
t=x%10;
x=x/10;
y=y*10+t;}
printf("the result is %5d",y);
输入数据:3275回车。
29. void exch1( int a, int b)
int c; c=a; a=b; b=c; }
void exch2(int *a, int *b)
int c; c=*a; *a=*b; *b=c; }
main( )
int a=20, b=30 ;
exch2(&a, &b); printf(“%d %d ”, a, b);
a= 20; b= 30 ;
exch1(a, b); printf(“%d %d”, a , b);
#include<>
void main()
long fun(int n);
printf("%ld",fun(4));
long fun(int n)
long s;
if(n= =1||n= =2) s=2; else s=3+n*fun(n-1);
return s;}
四、程序填空题(本大题共2小题,每小题6分,共12分)
给出下列程序,将横线处缺少的部分补上,使其能正确的运行。
31.根据公式求;公式,直到某项的绝对值小于10-5为止。
#include “
void main( )
int (1) ,n ;
double pi, t;
pi=0; n=1; t=1.0/n;
while2
{pi +=t; f= -1*f;
高级语言程序设计
总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...
高级语言程序设计
班级学号 021110212 姓名 卢荼 同组同学。成绩。时间 2011.6 28 题目 班级档案管理系统。一 设计任务与目标。对一个有n个学生的班级,通过该系统实现对该班级学生的基本信息进行录入 显示 修改 删除 保存等操作的管理。功能要求 1 本系统采用一个包含n个数据的结构体数组,每个数据的结...
高级语言程序设计
36.下面程序的运行结果是。include void main int a 2,b 1,c 2 if aif b 0 c 0 else c printf c d c 参 考察知识点 if语句的嵌套。运行结果 c 2 下面程序的运行结果是。include void main int a,b,c a 3...