程序设计基础试题_03_答案.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院领导
审批并签名 A / B卷
广州大学
学年第学期考试卷
课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名
分数
评分
一:选择题(每题3分,共60分)
(1)若有以下定义: char a; int b;
float c; double d;
则表达式a*b+d-c值的类型为(A)
A) double B) float C) int D) char
(2)设a=1,b=2,c=3,d=4,则表达式:a
B) 3 C) 2 D) 1 (3)在下列选项中,不正确的赋值语句是(D)
A)++t; B)n1=(n2=(n3=0)); C)k=i==j; D)a=b+c=1;
(4)若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;
则数值为4的表达式是(D)
A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]
(5)若有以下说明
8}}; int (*p)[4]=w;
则数值为4的表达式是(D) A)*w[1]+1 B)p++,*(p+1) C)w[2][2]
D)p[1][1]
(6)能正确表示a≥10或a≤0的关系表达式是(C) A)a>=10 or a<=0
B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可
作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6
C) i--; D) y=int(x);
(8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输
入值: scanf(i=%d,f=%f,&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12
B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12
(9)给出以下定义:
char x[ ]=abcdefg;
char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为(C)
A) 数组X和数组Y等价 B) 数组x和数组Y的长度
相同
C) 数组X的长度大于数组Y的长度 D) 数组X的长度小于数组Y
的长度
(10)假定a和b为int型变量,则执行以下语句后b的值为(D) a=1;
b=10; do
{ b-=a; a++;
}while (b--<0);
A) 9 B) -2 C) -1 D) 8
(11)设有以下宏定义: #define N 3
#define Y(n) ( (N+1)*n)
则执行语句:z=2 * (N+Y(5+1));后,z的值为(C) A) 出错 B) 42 C) 48 D)54 (12)设有如下定义:
int arr[]={6,7,8,9,10}; int * ptr;
则下列程序段的输出结果为(D) ptr=arr;
* (ptr+2)+=2;
printf (%d,%d\n,*ptr,*(ptr+2)); A)8,10 B)6,8 C)7,9 D)6,10 (13)执行以下程序段后,m的值为(A) 5,6} }; int m,*p;
p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
A) 15 B) 14 C) 13 D) 12 (14)有以下程序
{ int x,i;
for(i=1;i<=50;i++) { x=i;
if(++x%2==0) if(x%3==0)
if(x%7==0)
printf(%d,i); } }
输出结果是(D)
A) 28 B) 27 C) 42 D) 41
(15)若有以下的说明和语句: main()
{ int t[3][2], *pt[3],k;
for(k=0; k<3;k++) pt[k]=t[k]; }
则以一选项中能正确表示t数组元素地址的表达式是(D) A}&t[3][2] B}*pt[0] C}*(pt+1) D)&pt[2] (16)有以下程序
#include
{ int a,b,c=246; a=c/100%9; b=(-1)&&(-1);
printf(%d,%d\n,a,b); }
输出结果是(A)
A) 2,1 B) 3,2 C) 4,3 D) 2,-1 (17)有以下程序
#include
char name[10]; int age; };
void fun(struct stu *p)
{ printf(%s\n,(*p).name); }
{ struct stu students[3]={ {9801,Zhang,20}, {9802,Wang,19}, {9803,Zhao,18} };
fun(students+2); }
输出结果是(B)
A) Zhang B)Zhao C) Wang D) 18
(18)有以下程序
main()
{ char a[]=programming, b[]=language; char *p1,*p2;
int i;
p1=a; p2=b; for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i)) printf(%c,*(p1+i)); }
输出结果是(D)
A) gm B) rg C) or D) ga
(19)有以下程序
int fun(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-
y; } main()
{ int a, b, c, d; a=30; b=50; fun(a,b,&c,&d);
printf(%d,%d\n, c, d); }
输出结果是(C)
A)50,30 B)30,50 C)80,-20 D)80,20 (20)有以下程序
#include atdio.h int abc(int u,intv); main ()