您的当前位置:首页正文

二级C语言分类模拟题547_真题-无答案

2024-03-13 来源:步旅网


二级C语言分类模拟题547 (总分61.5,考试时间90分钟)

选择题

1. 有以下程序: #include<stdio.h> ain() {

int a=3; a+=a-=a*a;

printf(\"%d\\n\ }

程序运行后的输出结果是______。 A. 0 B. 9 C. 3 D. -12

2. 下列叙述中正确的是______。

A. 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B. 循环队列中的元素个数随队头指针的变化而动态变化 C. 循环队列中的元素个数随队尾指针的变化而动态变化 D. 以上说法都不对

3. 以下关于C语言数据类型的叙述中正确的是______。

A. C基本数据类型包括:分为整型、实型、浮点型、字符型四种

B. 实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式

C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型

4. 若有定义:char*ps[]={\"aa\,则以下叙述正确的是______。 A. *ps[0]是字符\"a\" B. *ps[0]是字符串\"aa\" C. ps[0]是字符\"a\" D. ps是字符串\"aa\" 5. 有以下程序: #include<stdio.h> main()

{int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3;

printf(\"%d,%d,%d,%d\\n\ }

程序的运行结果是______。 A. 1,1,2,0 B. 0,0,0,3 C. 编译有错 D. 0,1,2,0 6. 以下说法中正确的是______。

A. C语言程序的执行都是从程序的第一个函数开始

B. 在C语言程序中,要调用的函数必须在main函数中声明 C. 任何C语言程序的执行都是从main函数开始 D. C语言程序中的main函数必须放在程序的最前面 7. 有以下程序

#include<stdio.h> void f(int*q) { int i=0;

for(;i<5;i++)(*q)++; }

main()

{ int a[5]={1,2,3,4,5},i; f(a);

for(i=0;i<5;i++)printf(\"%d,\ }

程序运行后的输出结果是______。 A. 6,2,3,4,5, B. 2,2,3,4,5, C. 1,2,3,4,5, D. 2,3,4,5,6,

8. 执行下列程序中的输出语句后,a的值是____。 main() { int a;

printf(\"%d\\n\; }

A. 17 B. 37 C. 6 D. 13

9. 以下叙述中不正确的是______。

A. 在不同的函数中可以使用相同的名字的变量 B. 函数中的形式参数是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数内的复合语句中定义的变量在本函数范围内有效 10. 指针变量p的基类型为double,并已指向一连续存储区,若p中当前的地址值为65490,则执行p++后,p中的值为 ____ A. 65490 B. 65492 C. 65494 D. 65498

11. 下述程序的输出结果是______。 #include<stdio.h> void main() { char a=1,b=2; char c=a^b<<2; printf(\"\\n%d\

} A. 9 B. 10 C. 12 D. 2 12. 若有以下程序: #include <stdio.h> main( )

{int a=1,b=2,c=3,d=4; if((a=2) || (b=1))c=2;

if((c= =3) && (d=-1))a=5;

printf(\"%d,%d,%d,%d\\n\ }

则程序的输出结果是______。 A. 1,2,3,4 B. 2,1,2,-1 C. 5,1,2,-1 D. 2,2,2,4 13. 有以下程序: #include <stdio.h> main () { FILE *pf;

char *s1=\"China\ pf=fopen(\"abc.dat\ fwrite(s2, 7, 1, pf); fwrite(s1, 3, 1, pf); fclose (pf); }

以上程序运行后,abc.dat文件的内容是____。 A. China B. Beijing C. BeijingChi D. BeijingChina

14. 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为______。 (x+y)%2+(int)a/(int)b A. 1.0 B. 1 C. 2.0 D. 2

15. C语言程序中,若函数无返回值,则应该对函数说明的类型是______。 A. int B. double C. char D. void

16. 链表不具有的特点是______。 A. 不必事先估计存储空间 B. 可随机访问任意元素 C. 插入、删除不需要移动元素 D. 所需空间与线性表长度成正比 17. 有以下程序: #include <stdio.h> main()

{ int x=1, y=2, z=3; if(x>y)

if(y<z) printf(\"% d\ else printf(\"% d\

printf(\"% d\\n\ }

程序的运行结果是______。 A. 331 B. 41 C. 2 D. 1

18. 一个C语言程序是由______。 A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成

19. 若变量已正确定义,有以下程序段:i=0;do printf(\"%d,\程序的运行结果是______。 A. 0,1 B. 0,0 C. 1,1 D. 程序进入无限循环

20. 下列定义数组的语句中,正确的是______。 A. int N=10;int x[N]; B. # define N 10int x[N]; C. int x[0..10]; D. int x[];

21. 在长度为n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是______。A.O(n) **(n2) **(log2n) **(nlog2n)

22. 以下叙述正确的是______。

A. do-while语句构成的循环,当while语句中的表达式值为0时结束循环 B. do-while语句和while-do构成的循环功能相同

C. while-do语句构成的循环,当while语句中的表达式值为非0时结束循环 D. do-while语句构成的循环,必须用break语句退出循环

23. 以下关于逻辑运算符两侧运算对象的叙述中正确的是______。 A. 可以是任意合法的表达式 B. 只能是整数0或非0整数 C. 可以是结构体类型的数据 D. 只能是整数0或1 24. 下列关于C语言数据文件的叙述中正确的是

A. 文件由ASCII码字符序列组成,C语言只能读写文本文件 B. 文件由二进制数据序列组成,C语言只能读写二进制文件

C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 25. 有以下程序: #include<stdio.h> main()

{ char s[]={\"aeiou\"), *ps; ps=s; printf(\"%c\\n\ }

程序运行后的输出结果是( )。 A. .a B. .e

C. .u D. 元素s[4]的地址 26. 若有函数定义如下: int fun(int x, int y) {return x-y;}

则以下涉及上述函数的说明语句错误的______。 A. int fun(int x, y); B. int fun(int, int); C. int fun(int a, int b); D. int i, fun(int x, int y);

27. 对于循环队列,下列叙述中正确的是______。 A. 队头指针是固定不变的 B. 队头指针一定大于队尾指针 C. 队头指针一定小于队尾指针 D. 队头指针可以大于队尾指针,也可以小于队尾指针 28. 有以下程序

struct S{int n;int a[20];}; void f(int *a,int n ) { int i;

for(i=0;i<N-1;i++) A[I]+=I;} main()

{ int i;struct S s{10,{2,3,1,6,8,7,5,4,10,9}}; f(s.a,s.n);

for(i=0;i<S.N;i++) PRINTF(\"%D\程序运行后的输出结果是______。 A. 2,4,3,9,12,12,11,11,18,9, B. 3,4,2,7,9,8,6,5,11,10, C. 2,3,1,6,8,7,5,4,10,9, D. 1,2,3,6,8,7,5,4,10,9,

29. 在ASCII代码表中每一个大写字母比它相应的小写字母的ASCII码____。 A. 小32 B. 小64 C. 大32 D. .大1

30. 若变量已正确定义,在if(W) printf(\"%d\\n\中,以下不可替代W的是______。 A. a< >b+c B. ch=getchar() C. a= =b+c D. a+ +

31. 设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为______。 A. 30 B. 20 C. m-19 D. m-20 32. 有以下程序段: int i,n;

for(i=0;i<8;i++) { n=rand()%5; switch(n) {case 1:

case 3:printf(\"%d\\n\ case 2:

case 4:printf(\"%d\\n\ case 0:exit(0); }

printf(\"%d\\n\ }

以下关于程序段执行情况的叙述,正确的是______。 A. for循环语句固定执行8次

B. 当产生的随机数n为4时结束循环操作 C. 当产生的随机数n为1和2时不做任何操作 D. 当产生的随机数n为0时结束程序运行 33. 下列叙述中正确的是______。

A. 调用printf()函数时,必须要有输出项

B. 使用putchar()函数时,必须在之前包含头文件stdio.h

C. 在C语言中,整数可以以二进制、八进制或十六进制的形式输出

D. 调节getchar()函数读入字符时,可以从键盘上输入字符所对应的ASCII码

34. 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是______。 A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念

C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 不强调模拟现实世界中的算法而强调概念 35. 有如下程序: #include <stdio.h> main( ) {

int i, data;

scanf(\"%d\",&data); for(i=0; i<10; i++) {

if(i>data) break; printf(\"%d,\ } }

程序运行时,从键盘输入:3<回车>后,程序输出结果为______。 A. 3,4,5, B. 1,2,3, C. 2,3,4, D. 0,1,2,3,

36. 若a=3,b=4,c=5,d=6,则条件表达式a<b?a:c<d?c:d的值是______。 A. 4 B. 3 C. 2 D. 1 37. 有以下程序: #include <stdio.h> double fun(double a) { double x; x = a - (int)a; return x:

main( )

{ double a = 3.1415; printf(\"%f\\n\ }

程序的运行结果是______。 A. 3.000000 B. 3.141500 C. 0.141500 D. 0.000000

38. 用MIPS来衡量计算机性能的指标是 ( ) A. 存储容量 B. 可靠性 C. 处理能力 D. 运算速度 39. 有以下程序 #include<stdio.h>

int fun(int(*s)[4],int n,int k) {int m,i; m=s[0][k];

for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; }

main()

{int a[4][4]={{1,2,3,4}, {11,12,13,14}, {21,22,23,24}, {31,32,33,34}};

printf(\"%d\\n\ }

程序的运行结果是______。 A. 31 B. 34 C. 4 D. 32 40. 有以下程序: #include<stdio.h> main()

{ int a[4],p,x,i;

for(i=3;i>0;i--)a[i-1]=i*2-1; scanf(\"%d\ i=0;

while(a[i]<x)i++; p=i;

for(i=3;i>p;i--)a[i]=a[i-1]; a[p]=x;

for(i=0;i<4;i++)printf(\"%3d\ printf(\"\\\\n\"); }

执行时输入:2<回车>,则输出结果是______。 A. 1 2 3 4 B. 5 4 3 1 C. 1 2 3 5 D. 3 2 1 4

因篇幅问题不能全部显示,请点此查看更多更全内容