2011年韩山师范学院本科插班生考试试卷计算机科学与技术专业高级语言程序设计试卷(A卷)
一、填空题(每空1分,共10分)
1.C程序的基本单位是________。
2.C语言源程序文件的后缀是________。
3.C语言中的标识符由________、________和字母组成。
4.设y为float型变量,执行表达式y=6/5之后,y的值是________。
5.在C语言中,要求运算量必须是整型的运算符是___________。
6.如果函数值的类型与返回值的类型不一致时,应该以___________为准。
7.已知int a=8,*p=&a;,则*p的值是___________。
8.把一些不同类型的数据作为一个整体来处理时,常用___________。
9.若x=2,y=3,则x|y<<2的结果是___________。
二、单项选择题(每小题1.5分,共30分)
A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构
C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构
2.在一个C语言的源程序中,以下叙述正确的是()。
A.必须有除主函数外其他函数B.可以有多个主函数
C.必须有一个主函数D.可以没有主函数
3.以下叙述正确的选项是()。
A.C语言的源程序不必通过编译就可直接执行
B.C语言中的每条语句最终都将被转换成二进制的机器指令
C.C语言程序经编译形成的二进制代码可以直接执行
D.C语言中的函数不可以单独进行编译
4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。
A.有零个输入或多个输入B.高效性C.有穷性D.确定性
nodejs字符串转数组5.以下能正确定义且赋初值的语句是( )。
A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.
6.有以下程序:
main()
{ char a='a',b;
printf("%c",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是( )。
A.bb B.bc C.ab D.ac
7.以下程序段的输出结果是( )。
int a=1234;
printf("%2d ",a);
A.12 B.34 C.1234 D.提示出错
8.有以下程序:
#include <stdio.h>
main()
{ char b1,b2,b3,b4,b5,b6;
scanf("%c%c%c%c",&b1,&b2,&b3,&b4);
b5=getchar();
b6=getchar();
putchar(b1);
putchar(b2);
printf("%c%c \n",b5,b6);
}
程序运行后从键盘输入(从第1列开始) 678<;回车> 12345<;回车>
则输出结果是( )。
A .6781
B .6723
C .1267
D .6712
9.若a,b,c,d 是int 型变量,则为了使以下语句的输出为:1234+123+12+1,正确的输入是( )。
scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d); printf("%4d+%3d+%2d+%1d",a,b,c,d); A.1234123121<;回车> 回车>
C.1234+1234+1234+1234<;回车>
D.1234+123+12+1<;回车> 10.有以下计算公式:
若程序前面已经包含math.h 文件,不能够正确计算上述公式的程序是( )。 A .if (x>=0) y=sqrt(x); B .y=sqrt(x);
else y=sqrt(-x); if(x<0) y=sqrt(-x); C .if (x>=0) y=sqrt(x); D .y=sqrt(x>=0?x:-x); if(x<0) y=sqrt(-x);
11.以下程序输出结果是:( )。 main() { int i=0; switch(i)
{case 0:printf("%d",i++); case 2:printf("%d",i++); default:printf("%d",i++); } }
y=
x x
-0
<x x ≥0
A.0 B.1 C.012 D.123
12.思考以下for循环的执行次数是( )。
for(x=0,y=0;(y=123) && (x<3);x++);
A.是无限循环B.循环次数不定C.执行4次D.执行3次13.在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。A.整型常量B.整型表达式
C.整型常量或整型表达式D.任何类型的表达式14.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第( )个元素。A.3 B.4 C.5 D.6
15.如果在一个函数的复合语句中定义了一个变量,则该变量( )。A.在该函数中有效B.只在该复合语句中有效
C.在本程序范围内有效D.为非法变量
16.在以下关于带参数宏定义的描述中,正确的是( )。
A.宏名和它的参数都无类型B.宏名有类型,它的参数无类型C.宏名无类型,它的参数有类型D.宏名和它的参数都有类型17.以下程序的输出结果是:( )。
main()
{ int a=5,b=6,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf("%d,%d,%d,%d",*p,*q,a,b);
}
A.6,5,6,5 B.5,6,5,6 C.6,5,5,6 D.5,6,6,5 18.共用体变量在任何给定时刻,( )。
A.所有成员一直驻留在结构中B.只有一个成员驻留在结构中C.部分成员驻留在结构中D.没有成员驻留在结构中
19.以下叙述不正确的是( )。
A.表达式a&=b等价于a=a&b B.表达式a|=b等价于a=a|b
C.表达式a!=b等价于a=a!b D.表达式a^=b等价于a=a^b
20.根据下面的定义,能打印出字母M的语句是( )。
struct person{char name[9]; int age;};
struct person stu [10]={"Jim",18,"Tom",19,"Mary",18,"Adam",19};
A.printf("%c", stu [3].name[0]);
B.printf("%c", stu [3].name[1]);
C.printf("%c", stu [2].name[1]);
D.printf("%c", stu [2].name[0]);
三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1.#include "stdio.h"
main( )
{ int i=0,a=0;
while(a<20)
{ for(;;)
{ if(i%10==0) break;
else i--;
}
i=11;a+=i; printf("%d ",a);
}
}
2.#include "stdio.h"
main()
{ int a[5]={1,1};
int i,j;
printf("%d%d\n",a[0],a[1]);
for(i=1;i<4;i++)
{ a[i]=a[i-1]+a[i];a[i+1]=1;
for(j=0;j<=i+1;j++)
printf("%d",a[j]);
printf("\n");
}
}
3. #include "stdio.h"
void wr(char *st,int i)
{ st[i]='\0';
puts(st);
if(i>1) wr(st,i-1);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论