高级语言程序设计(C)模拟试题二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高级语言程序设计(C)模拟试题二

一、单项选择题(每题3分,合计60分)

1.自定义标识符中,符合C语言规定的是。

A. for

B. 3a

C. *a

D. _123

2.为表示关系100≥x≥10,应使用C语言表达式。

A. (100>=x)&&(x>=10)

B. (100>=x) AND (x>=10)

C. (100>=x>=10)

D. (100>=x)&(x>=10);

3.定义int a; float f; double i; 表达式15+i*f+ˊAˊ的值是。

A. float

B. int

C. char

D. double

4.下面程序要求从键盘上输入值并打印,请选择正确的输入方法。main( )

{ int a,b;

scanf("x=%d,y=%d",&x,&y);

printf("x=%d,y=%d\n",x,y);

}

A. 5,6

B. x=5, y=6

C. 5↙6

D. 5 6

5.定义如下变量和数组:

int i; int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是。

for(i=0;i<3;i++) printf("%d",x[i][2-i]);

A. 1 5 9

B. 1 4 7

C. 3 5 7

D. 3 6 9

6.在定义了int a[3][2];之后,对a的引用正确的是。

A.a[3][2] B.a[3][0] C.a[0][0] D.a[0,0]

7.执行以下程序段后,m的值为。

int a[2][3]={{1,2,3},{4,5,6}};

int m,*p; p=&a[0][0];

m=(*p)+(*(p+2))+(*(p+4));

A. 9

B. 8

C. 7

D. 6

8.若有以下定义和语句,则输出结果是。

char s1="12345",s2="1234"

printf("%d\n",strlen(strcpy(s1,s2)));

A. 4

B. 5

C. 9

D. 10

9

下面程序中能正确表示上面关系的是。

A. y=x+1;

B. y=x-1;

if(x>=0) if(x!=0)

if(x==0) y=x; if(x>0) y=x+1;

else y=x-1; else y=x;

C. if(x<=0)

D. y=x;

if(x<0) y=x-1; if(x<=0)

else y=x; if(x<0) y=x-1;

else y=x+1; else y=x+1;

10.以下正确的程序段是。

A. char str[2];

B. char *p;

scanf("%s",&str); scanf("%s",p);

C. char str[20];

D. char str[20],*p=str;

scnaf("%s",&str[2]); scanf("%s",p[2]);

11.以下正确的函数定义形式是。

A. double fun(int x,int y)

B. double fun(int x;int y)

C. double fun(int x,int y);

D. double fun(int x,y);

12.以下有关宏替换不正确的是。

A. 宏替换不占用运行时间

B. 宏名无类型

C. 宏替换只是字符替换

D. 宏名必须用大写字母表示

13.有如下语句int a=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示。若要实现图2所示的存储结构,可选用的赋值语句是 。

A. *p1=*p2;

B. p1=p2;

C. p1=*p2;

D. *p1=p2;

14.设char *s="\ta\018bc";则指针变量s 指向的字符串所占的字节数 是 。

A. 9

B. 5

C. 6

D. 7

15.以下程序的输出结果是 。

#include

#include

main( )

{ char *s1="AbCbEf",*s2="AB";

s1++;s2++;

printf("%d\n",strcmp(s1,s2));

}

A. 正数

B. 负数

C. 零

D. 不确定的值

16.以下一维数组a 的正确定义是 。

A. int a(10);

B. int n=10,a[n];

C. int n;

D. #define SIZE 10

scanf("%d",&n); int a[SIZE];

int a[n];

17. 若有定义:int a[2][3];则对a 数组中第i 行第j 列元素地址的正确 引用为 。

A. *(a[i]+j)

B. (a+i)

C. *(a+j)

D. a[i]+j

18.以下程序段的输出结果是 。

p1

p2 p1 p2

a b a b

图1 图2

相关文档
最新文档