(A卷)第 1 页 共 12 页
2010年韩山师范学院本科插班生考试试卷
计算机科学与技术 专业 高级语言程序设计
一、填空题(每空1分,共10分)
1. C语言的数据类型中,构造类型包括:数组、 和 。 2. 在C程序中,指针变量能够赋 值或 值。 3. C目标程序经 后生成扩展名为exe的可执行程序文件。 4. 设有定义语句 static char s[5」; 则s[4]的值是 。 5. 设x为int型变量。与逻辑表达式!x等价的关系表达式是 。 6. 若一全局变量只允许本程序文件中的函数使用,则该变量需要使用的存
储类别是 。
7. 磁盘文件按文件读写方式分类可以为顺序存取文件和 。 8. 设有下列结构体变量xx的定义,则表达式sizeof(xx)的值是
_________。 struct { long num; char name[20];
union{float y; short z;} yz;
}xx;
二、单项选择题(每小题1.5分,共30分) 题号 答案 题号 答案
1. 设有定义int x=8, y, z; 则执行y=z=x++, x=y= =z; 语句后,变量x
值是( )
1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20 1
(A卷)第 2 页 共 12 页
A、0 B、1 C、8 D、9
2. 有以下程序
main( )
{ int i=1,j=1,k=2;
if((j++‖k++)&&i++) printf(\执行后输出结果是( ) A、 1,1,2
B、2,2,1
C、 2,2,2
D、2,2,3
3. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的
值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )
A、 scanf( “---”,&i,&j,&k); B、 scanf( “%d %d %d ”,&i,&j,&k); C、 scanf( “%d,%d,%d”,&i,&j,&k); D、 scanf( “i=%d,j=%d,k=%d”,&i,&j,&k); 4. 有以下程序 main()
{ int a=5,b=4,c=3,d=2; if(a>b>c) printf(\
else if((c-1>=d)= =1) printf(\ else printf(\ } 执行后输出结果是 ( )
A、2
B、3
C、 4
D、 编译时有错,无结果
5. 以下程序段 ( )
x=1;
do { x=x*x;} while (!x); A、 是死循环
B、 循环执行二次 D、 有语法错误
C、 循环执行一次
6. 以下不能正确定义二维数组的选项是( )
2
(A卷)第 3 页 共 12 页
A、 int a[2][2]={{1},{2}}; C、 int a[2][2]={{1},2,3}; 7. 有以下程序
main()
B、 int a[][2]={1,2,3,4}; D、 int a[2][]={{1,2},{3,4}};
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0;
for(i=0;i<4;i++) s+=aa[i][1]; printf ( “%d\\n” , s); }
程序运行后的输出结果是 ( ) A、11
B、19
C、 13
D、20
8. 以下程序的输出结果是 ( ) main()
{ char ch[3][5]={\ printf(\ } A、\B、\C、\D、\9. 有以下程序
#define f(x) x*x main( ) { int i;
i=f(4+4)/f(2+2); printf(“%d\\n”,i);
} 执行后输出结果是( ) A、28
3
(A卷)第 4 页 共 12 页
B、22 C、16 D、4
10. 决定C语言中函数返回值类型的是( )。
A、return语句中的表达式类型 B、调用该函数的主调函数类型 C、调用函数时临时指定的类型
D、定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)。 11. 系统对预处理命令(如宏替换、文件包含、条件编译)的处理时机是
( )。 A、编译源程序
B、编译源程序之前 D、运行程序时
C、连接目标文件时
12. 在位运算中,操作数每左移一位,其结果相当于( )
A、操作数乘以2 C、操作数除以2
B、操作数除以4 D、操作数乘以4
13. 下述描述中不正确的是( )。
A、字符型数组中可以存放字符串
B、可以对字符型数组进行整体输入、输出 C、可以对整型数组进行整体进行输入、输出
D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 14. 若有以下定义 int a[2][3],则对a数组第i行第j列元素的正确引用
是( ) A、 *(*(a+i)+j) C、 *(a+i+j) 15. 有以下程序
void fun(char *a, char *b) { a=b; (*a)++; } main()
B、 (a+i)[j] D、 *(a+i)+j
4