东北大学网络教育学院。
程序设计基础(c) 试卷(a卷)
学习中心姓名学号。
一、选择题(每题2分,共40分)
1.c语言中字符型(char)数据在内存中的存储形式是( )
a、原码 b、补码c、反码d、ascii码。
2.2.下列关于栈的描述中错误的是___
a、栈是先进后出的线性表。
b、栈只能顺序存储。
c、栈具有记忆作用。
d、对栈的插入与删除操作中,不需要改变栈底指针。
3.以下正确的if语句是( )
a、if (n>0) printf("%f",n)
printf("%f",-n);
b、if (n>0)
n=n+m; printf("%f",n);
else printf("%f",-n);
c、if (n>0)
n=n+m; printf("%f",n);
else printf("%f",-n);
d、if (n>0)
n=n+m; printf("%f",n) }
else printf("%f",-n);
4.设有程序段( )
int x=10;
while (x=0)
x=x-1;
a、while循环执行10次b、循环是无限循环。
c、循环体语句一次也不执行d、循环体语句只执行一次。
5.若有以下程序段:
for (m=1; m<=100; m++)
正确的描述是( )
a、当y<0时整个循环结束b、y>=0时什么也不输出。
c、printf函数永远也不执行d、最多允许输出100个非负整数。
6.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )
假设a[0][0]位于数组的第一个位置上。)
a、i*m+j b、j*m+i c、i*m+j-1 d、i*m+j+1
7.判断字符串s1是否大于字符串s2,应当使用( )
a、if(s1>s2b、if(strcmp(s1,s2))
c、if(strcmp(s2,s1)>0d、if(strcmp(s1,s2)>0)
8.以下能对二维数组a进行正确初始化的语句是( )
a、int a[2]
b、int a[3]=,
c、int a[2][4]=,
d、int a[3]=,
9.设有一段程序:
int *var,a;
a=100;var=&a;
a=*var+10; 执行上面程序段后a的值为( )
a、120 b、110 c、100 d、90
10.以下正确的说法是( )
a、实参和与其对应的形参各占用独立的存储单元。
b、实参和与其对应的形参共占用一个存储单元。
c、只有当实参和与其对应的形参同名时才共用存储单元。
d、形参是虚拟的,不占用存储单元。
11.下面程序段所表示的数学函数关系是( )
x=-1;if (a!=0)
if (a>0) x=1;
else x=0;
1 (a<01 (a<0)
a、x= 0 (a=0) b、x= -1 (a=0)
1 (a>00 (a>0)
0 (a<01 (a<0)
c、x= -1 (a=0) d、x= 1 (a=0)
1 (a>00 (a>0)
12.设有说明:int a=1,b=0; 则执行以下语句后的输出结果是___
switch(a)
case 2: printf("*2 **n");break;
a、**0b、**0 **
c、**0d、switch语句中存。
** 1在语法错误。
13.c语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )
a、地址传递 b、单向值传递。
c、由实参传给形参,再由形参传回实参。
d、由用户指定传递方式。
14.在一个源文件中定义的全局变量的作用域为( )
a、本文件的全部范围。
b、本程序的全部范围。
c、本函数的全部范围。
d、从定义该变量的位置开始至本文件结束。
15.以下关于预处理的叙述中不正确的是( )
a、c源程序中凡是以“#”号开始的控制行都是预处理命令行。
b、预处理命令行必须位于源程序的开始部位。
c、一条有效的预处理命令行必须单独占据一行。
d、预处理命令是在正式编译之前先行被处理的。
16.当定义一个结构体变量时系统分配给它的内存是( )
a、结构中第一个成员所需的内存量。
b、结构中最后一个成员所需的内存量。
c、结构体成员中占内存量最大者所需的容量。
d、结构体中各成员所需内存量的总和。
17.函数调用语句:fseek(fp, 10l, 2);的含义是:将文件位置指针( )
a、移动到距离文件头10个字节处。
b、从当前位置向后移动10个字节。
c、从文件尾部前移10个字节。
d、移到离当前位置10个字节处。
18.设有如下定义,若要使px指向rec中的x域,正确的赋值语句是( )
struct aa
int x; float y; }rec,*px;
a、*px=
c、px=(struct aa *)d、px=(struct aa *)
19.下面对typedef的叙述中不正确的是( )
a、用typedef不能定义变量名。
b、用typedef可以定义新的数据类型。
c、用typedef只是将已存在的类型用一个新的标识符来代表。
d、使用typedef有利于程序的通用和移植。
20.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )
a、#define mul(x,y) x*y
b、#define mul(x,y) (x)*(y)
c、#define mul(x,y) (x*y)
d、#define mul(x,y) (x)*(y))
二、分析程序题(根据执行过程,给出执行结果。每题3分,共30分)
1.main( )
2.main()
int i, n=0;
for( i=1; i<20; i++)
if ( i%3==0&&i%5!=0) n++;
printf (“n %d”, n);
3.main( )
int a=1,b=0;
switch(a)
case 1: switch (b)
case 0: printf("*0**"
break;
case 1: printf("*1**"
break;
case 2: printf("*2**"
break;
4.int x=-3;
dowhile(!x);
5.main( )
int b[10]=;
int *q=b;
printf("%d", q+2) )
6.main()
int a[5]=,i,j,t;
for(j=1;j<=2;j++)
t=a[4];
for(i=0;i<4;i++)a[i+1]=a[i];
a[0]=t;
for(i=0;i<5;i++)printf("%d",a[i]);
7.main( )
char s=abcde” *p=s;
高级语言程序设计
总分 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...