二级C语言笔试-273
(总分100,考试时间90分钟)
一、选择题
下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
1. 下面程序的输出结果是_______。
#include<stdio.h>
main()
char*p[]="DOOL","OPK","H","SP";
int i;
for (i=3;i>=0;i-,i-)
printf("%c",*p[i]);
printf("\n");
A. SO B. SP
C. SPOPK D. SHOB
2. 若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是_______。 (0<=i<4,0<=j<10)
A. *(&a[0][0]+10*i+j) B. *(a+i)+j
C. *(*(a+i)+j) D. *(a[i]+j)
3. 下面语句的输出结果是_______。
printf("%d\n",strlen("\t\"\065\xff\n"));
A. 14 B. 8
C. 5 D. 输出项不合怯,无正常输出
4. 定义int*swap()的是_______。
A. 一个返回整型值的函数swap()
B. 一个返回指向整型值指针的函数swap()
C. 一个指向函数swap()的指针,函数返回一个整型值
D. 以上说法均错
5. 下述程序向文件输出的结果是_______。
#include<stdio.h>
void main()
FILE*fp=fopen("TEST","wb");
fprintf(fp,"%d%5.of%c%d",58,76273.0,'-'2278);
fclose(fp);
A. 5876273-2278 B. 5876273.000000-2278
C. 5876273-2278 D. 因文件为二进制文件而不可读
6. 若有以下结构体定义,则_______是正确的引用或定义。
struct example
int x;
int y;
v1;
A. example.x=10
B. example v2.x=10
C. struct v2;v2.x=10
D. struct example v2=10;
7. 数据存储和数据流都是__________,仅仅是所处的状态不同。
A. 分析结果 B. 事件
C. 动作 D. 数据
8. 若有以下类型说明语句:
charw;intx;floaty,Z;
则表达式w*x+z-y的结果为_______类型。
A. float B. char
C. int D. double
9. 下列程序执行后的输出结果是_______。
main()
int m[][3]=1,4,7,2,5,8,3,6,9;
int i,k=2;
for(i=0;i<3;i++)
printf("%d",m[k][i]);
A. 456 B. 258
C. 369 D. 789
10. 若有如下说明,则_______的叙述是正确的。
struct st
int a;
int b[2];
a;
A. 结构体变量a与结构体成员a同名,定义是非法的
B. 程序只在执行到该定义时才为结构体st分配存储单元
C. 程序运行时为结构体st分配6个字节存储单元
D. 类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)
11. C语言库函数fgets(str,n,fg)的功能是_______。
A. 从中指向的文件中读取长度n的字符串存入str指向的内存
B. 从fp指向的文件中读取长度不超过n-1的字符串存入str指向的内存
C. 从fp指向的文件中读取n个字符串存入str指向的内存
D. 从sb读取至多n个字符到文件fp
12. 对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为__________。
A. n-1 B. n
C. n+1 D. 2n
13. 在数据结构中,从逻辑上可以把数据结构分为__________。
A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构
C. 线性结构和非线性结构 D. 内部结构和外部结构
14. 已知小写母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果是_______。
main()
unsigned int a=32,b=66;
printf("%c\n",a|B) ;
A. 66 B. 98
C. b D. B
15. 下面程序的输出是________。
char s[]="ABCD";
main()
char*p
for(p=s;p<s+4,p++)
printf("%s\n",p);
A. ABCD
BCD
CD
D
B. A
B
C
D
C. D
C
B
A
D. ABCD
ABC
AB
A
16. 以下程序(程序左边的数字为符加的行号)。
1#include<str.h>
2#include<stdio.h>
3main()
4 char s[]="string";
5puts(s);
6strcpy(s,"hello");
7printf("%3s\n",s);
A. 没有错 B. 第1行有错
C. 第6行有错 D. 第7行有错
17. 若一个外部变量的定义形式为static int x;,那么,其中static的作用应该是_______。
A. 将变量存储在静态存储区 B. 使变量x可以由系统自动初始化
C. 使x只能在本文件内引用 D. 使x的值可以永久保留
18. 设有以下语句:
char strl[]="string",str2[8],*str3,*str4="string";
则_______不是对库函数的正确调用。
A. strcpy(strl,"HELLO1");
B. strcpy(str2,"HELLO2");
C. strcpy(str3,"HELLO3");
D. strcpy(str4,"HELLO4");
19. 下列程序的执行结果是_______。
#include<stdio.h>
union un
int i;
char c[2];
;
void main()
union un x;
x.c[0]=10;
x.c[1]=1;
printf("\n%d",x.i);
A. 266 B. 11
C. 265 D. 138
20. 以下程序的输出结果,是_______。
最强编程语言 main()
char str[12]='s','t','r','i','n','g';
printf("%d\n",strlen(str));
A. 6 B. 7
C. 11 D. 12
21. 排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为__________。
A. 希尔排序 B. 冒泡排序
C. 插入排序 D. 选择排序
22. 以下程序输出的结果为_______。
main()
char*alpha[6]="ABCD","EFGH","IJKL","MNOP","QRST","UVWX";
char**p;
int i;
p=alpha;
for(i=0;i<4;i++)
printf("%s",p[i]);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论