程序设计基础试题_03_答案.doc

  • 格式:doc
  • 大小:27.28 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 main()

{ 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 struct stu { int num;

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 ()