(A卷)第 1 页 共 9 页
2017年韩山师范学院本科插班生考试试卷
计算机科学与技术 专业 高级语言程序设计 试卷 (A卷)
一、填空题(每空1分,共10分)
1.一个C程序的执行是从本程序的 函数开始。
2.结构化程序的三种基本结构为顺序结构、_________________、_________________。
3.能表示“整型变量x的绝对值小于5”的C语言表达式是________________ (不得使用系统函数)。
4.在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为________________时表示逻辑值“真”。
5.在位运算中,操作数每左移一位(无溢出),其结果相当于操作数____________以2。
6.设有定义FILE *fp; 则关闭fp对应文件的操作语句是 。
7.在C程序中,根据数据的组织形式可以可分为___________文件和___________文件。
8.若有定义char s[]=\则strlen(s)的值为_______;sizeof(s) 的值为_______。
二、单项选择题(每小题1.5分,共30分) 题号 答案 题号 答案 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20 1.C语言中的标识符只能由字母、数字和下划线,且第一个字符( )。 A.必须为字母 B.必须为下划线
C.必须为字母或下划线 D. 可以是字母或数字或下划线 2.设a,b为整型变量,以下合法的表达式为( )。
(A卷)第 2 页 共 9 页
A. b=a/2 B. b=*a+2 C. b+a=2 D. b=a%2.5
3.以下选项中能表示合法常量的是 A.整数:1,200 B.实数:1.5E2.0 C.字符斜杠:'\\' D.字符串:\
4.若有a=4,b=3,c=5,则表达式a
C. 0 D. 2
5.下列关于指针变量赋空值的说法错误的是 A.当赋空值的时候,变量指向地址为0的存储单元 B.赋值语句可以表达为变量名=′\\0′; C.赋值语句可以表达为变量名=0; D.一个指针变量可以被赋空值 6.下列程序的运行结果是( )。
#include
if((j++‖k++)&&i++) printf(\}
A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3
7.下列不会构成无限循环的语句或语句组是( )。 A.n=0; B. n=0;
do {++n; } while(n<=0); while(1) {n++; }
C.n=l0; D.for(n=0, i=l; ; i++) n+=i; while(n); {n--; }
8.若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。 A.int a[5]=﹛0﹜; B.int b[]={0,0,0,0,0}; C.int c[2+3];
(A卷)第 3 页 共 9 页
D.int i=5,d[i]; 9.有以下程序 main()
{ int a[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+=a[i][1]; printf(“%d\\n”,s); } 程序运行后的输出结果是( )。
A.11 B.19 C.13 D.20 10.表达式a+=a-=a=9的值是
A.9 B.-9 C.18 D.0
11.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf(“i=%d,f=%f”,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为( )。
A. 100 765.12 B. i=100,f=765.12 C. 100,765.12 D. x=100 y=765.12
12.若有宏定义#define s(m,n) m/n 则s(4+2,2+1)的值为( )。 A. 2 B.7
C. 6 D. 3
13.若有以下程序段: int x=1,y=2; x=x^y; y=y^x; x=x^y;
则执行上述语句序列后,x,y的值分别是( )。 A.X=2,Y=1 B.X=1,Y=2 C.X=2,Y=2 D.X=1,Y=1 14.若有以下说明和语句: struct student
(A卷)第 4 页 共 9 页
{ int age; int num; }std,*p; p=&std;
则以下对结构体变量std中成员age的引用方式不正确的是( )。 A.std.age B. p->age C.(*p).age D. *p.age 15.语句while(!E);中的表达式!E等价于( )。
A.E==0 B. E!=l C. E!=0 D.E==1
16.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和( )等价。 A.k=(a>b)?1:0; B.k=a>b; C.k=a<=b; D.a<=b ? 0 : 1; 17.若有以下定义,则对a数组元素的正确引用是( )。
int a[5],*p=a;
C. *(p+5) D. *(p+2)
A. *&a[5] B. a+2
18.有如下语句 int a=10,b=20,*p1,*p2; p1=&a; p2=&b;如图1所示; 若要实现图2所示的存储结构,可选用的赋值语句是( )。
p1
p2
p1
p2
a 10 20 b a 10 20 b
图1
19.下面程序的运行结果是( )。 #include “stdio.h” void main( ) { int j,i,k=0; for (j=50;j<=60;j++)
{ if (!( k))printf(“\\n”); for (i=2;i 图2 A. *p1= *p2; B. p1=p2; C. p1= *p2; D. *p1=p2;
相关推荐: