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