计算机二级(C)13
(总分660,考试时间120分钟)
选择题(1-10题每题2分,11-50题每题1分,共60分)
1. 有以下程序: main( ) { unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\n”,a,b(; } 执行后输出结果是( )。
A. 7 0 B. 0 7
C. 1 1 D. 43 0
2. 以下程序中函数f( )的功能是将n个字符串按由大到小的顺序进行排序。 #include<string.h> void f(char p[ ][10],int n) { char t[20]; int i,j; for(i =O;i <n-1 ;i ++ ) for(j =i + 1 ;j < n;j ++ ) if(strcmp(p [i] ,p[j] ) <0) { strcpy(t,p[i]);strcpy(p[i] ,p[j] );strcpy(p[j] ,t); } } main ( ) { char p [ ] [ 10 ] = { "abc","aabdfg","abbd","dcdbe", "cd" }; int i; f(p,5); printf("%d\n",strlen(p[O] ) ); } 程序运行后的输出结果是( )。
A. 6 B. 4
C. 3 D. 5
3. 有以下程序: main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是( )。
A. n=5 B. n=2
C. n=3 D. n=4
4. 以下不能定义为用户标识符的是______。
A. Main B. _0
C. _int D. sizeof
5. 有以下程序: main( ) {char str[ ][10]={"China","Beijing"},*p=str; printf("%s\n",p+10); } 程序运行后的输出结果是( )。
A. China B. Bejing
C. ng D. ing
6. 下列叙述中正确的是______。
A. 软件测试应该由程序开发者来完成 B. 程序经调试后一般不需要再测试
C. 软件维护只包括对程序代码的维护 D. 以上三种说法都不对
7. 下列关于单目运算符++、--的叙述中正确的是( )。
A. 它们的运算对象可以是任何变量和常量
B. 它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C. 它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D. 它们的运算对象可以是char型变量、int型变量和float型变量
8. 在Windows环境下,下列叙述中正确的是( )。
A. 在"开始"菜单中可以增加项目,也可以删除项目
B. 在"开始"菜单中不能增加项目,也不能删除项目
C. 在"开始"菜单中可以增加项目,但不能删除项目
D. 在"开始"菜单中不能增加项目,但可以删除项目
9. 当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义 不同,这个选项是______。
A. k%2 B. k%2==1
C. (k%2)!=0 D. !k%2==1
10. 在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( )。
A. 称为函数的直接递归调用 B. 称为函数的间接递归调用
C. 称为函数的循环调用 D. C语言中不允许这样的递归调用
11. 以下叙述中错误的是______。
A. C 语句必须以分号结束
B. 复合语句在语法上被看作一条语句
C. 空语句出现在任何位置都不会影响程序运行
D. 赋值表达式末尾加分号就构成赋值语句
12. 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是( )。
A. s=a+b; B. s=a+c;
C. s=s+c; D. s=b+c;
13. 下列数据结构中,能用二分法进行查的是______。
A. 顺序存储的有序线性表 B. 线性链表
C. 二叉链表 D. 有序线性链表
14. 若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是______。
A.
B.
C.
D.
15. 有以下程序:#define f(x) (x*x)main(){ int i1,i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}程序运行后的输出结果是______。
A. 64,28 B. 4,4
C. 4,3 D. 64,64
16. 下列叙述中正确的是______。
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响
17. 有以下程序: main( ) { char a[ ]=”abcdefg”,b[10]=”abcdefg”; printf(“%d %d\n”,sizeof(a),sizeof(b));} 执行后输出结果是( )。
A. 7 7 B. 8 8
C. 8 10 D. 10 10
18. 有以下程序: #include<stdlib.h> struct NODE { int num;stmct NODE *next;}; main( ) { struct NODE * p, * q,* r; p=(struct NODE * )malloc(sizeof(struct NODE)
); q=(struct NODE * )malloc(sizeof(struct NODE) ); r=(struct NODE * )malloc(sizeof(struct NODE) ); p->num=10; q->num=20; r->num=30; p->next=q; q->next=r; printf("%d\n",p->num+q->next->num); } 程序运行后的输出结果是( )。
A. 10 B. 20
C. 30 D. 40
19. 有以下程序main(){int c=35;printf("%d\n",c&c);}程序运行后的输出结果是______。
A. 0 B. 70
C. 35 D. 1
20. DOS文件系统的组织结构属于( )。
A. 星形结构 B. 网形结构
C. 环形结构 D. 树形结构
21. 有以下程序 main( ) { int m[ ][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是( )。
A. 4 5 6 B. 2 5 8
C. 3 6 9 D. 7 8 9
22. 以下能正确定义一维数组的选项是
A. int num[ ];
B. #define N 100 int num[N];
C. int num[0..100];
D. int N=100; int num[N];
23. 有以下程序: int fa(int x) { return x *x;} int fb(int x) { return x *x *x;} int f(int( *f1)( ),int( *f2)( ),int x) { return f2(x)-f1(x);} main( ) { int i; i=f(fa,fb,2);printf("%d\n",i); } 程序运行后的输出结果是( )。
strcmp比较数组A. -4 B. 1
C. 4 D. 8
24. 以下不合法的用户标识符是______。
A. j2_KEY B. Double
C. 4d D. _8_
25. 以下非法的赋值语句是( )。
A. n=(i=2,++i); B. j++;
C. ++(i+1); D. x=j>0;
26. 程序中头文件typel.h的内容是: #define N 5 #define M1 N*3 程序如下: #include"typel.h" #define M2 N *2 main( ) { int i; i=M1+M2; printf("%d\n",i); } 程序编译后运行的输出结果是( )。
A. 10 B. 20
C. 25 D. 30
27. 有以下程序: main( ) { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d++ +1); else printf("%d",++d +1); printf("%d\n",d); } 程序运行后的输出结果是( )。
A. 2 B. 3
C. 43 D. 44
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论