二级 C 语言笔试-15

一、选择题
1. 程序流程图中带有箭头的线段表示的是( )。 A) 图元关系 B) 数据流 C) 控制流 D) 调用关系
2. 下列描述中正确的是( )。 A) 程序就是软件 B) 软件开发不受计算机系统的限制 C) 软件既是逻辑实体,又是物理实体 D) 软件是程序、数据与相关文档的集合
3. 以下数据结构中,属于非线性数据结构的是( )。 A) 栈 B) 线性表 C) 队列 D) 二叉树
4. 在单链表中,增加头结点的目的是( )。 A) 方便运算的实现 B) 使单链表至少有一个结点 C) 标识表结点中首结点的位置 D) 说明单键表是线性表的链式存储实现
5. 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。 A)调用语句 B)命令 C)N 令 D)消息
6. 有下列二叉树,对此二叉树前序遍历的结果为( )。
A) ACFXDBEYZ B) ABEFXYZCD C) ABCDEFXYZ D) ABDYECFXZ

7. 下列工具中为需求分析常用工具的是( )。 A) PAD B) PFD C) N-S D) DFD
8. 下列说法不正确的是( )。 A) C 程序是以函数为基本单位的,整个程序由函数组成 C) C 语言程序的一条语句可以写在不同的行上 B) C 程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写 D) C 程序的每个语句都以分号结束
9. 计算机能直接执行的程序是______。 A) 源程序 B) 目标程序 C) 汇编程序 D) 可执行程序
10. 若函数中有定义语句:int k;,则______。 A) 系统将自动绐 K 赋初值 0 B) 这时 K 中的值无定义 C) 系统将自动绐 K 赋初值-1 D) 这时 K 中无任何值
11. 以下不正确的转义字符是( )。 A) '\\' B) '\d' C) '\s' D) '088'
12. 若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是( )。 w=2,x=3,y=4,z=5; m=(w<x)?w:x; m=(m<z)?m:z; m=(m<y)?m:y;
A) 2 B) 3 C) 5 D) 4
13. 有以下程序: #include<stdio.h> main() char a,b,c,d; scanf("%c%c",&a,&b); c=getchar();d=getchar();

printf"%c%c%c%c\n",a,b,c,d;
当执行程序时,按下列方式输入数据(从第 1 列开始,<CR>代表回车,注意:回车也 是一个字符)
12<CR> 34<CR> 则输出结果是( )。 A.1234 B.12 C.12 3 D.12 34
14. 设变量均已正确定义,若要通过 scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量 a1 和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是(注: □代表空格字符)
A) 10□X□20□Y B) 10□X20□Y C) 10□X
20□Y D) 10X
20Y
15. 设有定义 int a; float b;执行 scanf("%2d%f",&a,&b);语句时,若从键盘输入 876 543.0<回 车>,a 和 b 的值分别是______。 (A) 876 和 543.000000 (B) 87 和 6.000000 (C) 87 和 543.000000 (D) 76 和 543.000000
16. 若变量已正确定义,下列正确的程序段是( )。 A) while(ch=getchar()=='\N')putchar(ch); B) while((ch=getchar())=='\n')putchar(ch); C) while((ch=getchar())!='\N')putchar(ch); D) while((ch=getchar())!='\n')putchar(ch);
17. 有下列函数定义:

int fun(double a,double b) return a*b; 若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。 A) if(fun(x,y))…… B) z=fun(fun(x,y),fun(x,y)); C) z=fun(fun(x,y)x,y); D) fun(x,y);

18. 有下列程序: fun(int x,int y) static int m=0,i=2; i+=m+1;m=i+x+y;return m;

main() int j=1,m=1,k;
k=fun(j,m);printf("%d,",k); k=fun(j,m);printf("%d\n".k);

执行后的输出结果是( )。 A) 5,5 B) 5,11 C) 11,11

D) 11,5

19. 表达式'8'-'2'的值是( )。 A) 整数 6 B) 字符 6 C) 表达式不合法 D) 字符 8

20. 下列选项中不是字符常量的是( )。

A) '\v'

B) '\x2a'

C) 'a'

D) "\0\

21. 已有定义:char a[]="xyz", b[]='x', 'y', 'z';,下列叙述中正确的是( )。 A) 数组 a 和 b 的长度相同 B) a 数组长度小于 b 数组长度 C) a 数组长度大于 b 数组长度 D) 上述说法都不对

22. 设有定义:char s[10];int i=0;,以下不能将一行(不超过 100 个字符)带有空格的字符串 正确读入的语句或语句组是( )。
A) gets(s); B) scanf("%s",s); C) while((s[i++]=getchar())!='\n');s[i]='\0'; D) doscanf("%c",&s[i]);while(s[i++]!='\n');s[i]='\0';

23. 下列合法的字符型常量是( )。

A) '\x13' B) '\081' C) '65' D) "\n\
24. 对两个数组 a 和 b 进行下列初始化: char m[]="1234567"; char n[]='1','2','3','4','5','6','7'; 则下列叙述正确的是( )。 A) 数组 m 与数组 n 完全相同 B) 数组 m 与数组 n 长度相同 C) 数组 m 比数组 n 长 1 D) 数组 m 与数组 n 中都存放字符串
25. 下列结构体类型说明和变量定义中正确的是( )。 A) typedef struct int n; char c;REC; REC t1,t2; B) struct REC; int n; char c;; REC t1,t2; C) typedef struct REC; int n=0; char c='A'; t1,t2; D) stmct int n; char c; REC; REC t1,t2;
26. 以下程序运行后的输出结果是 #include<stdio.h> main( ) int i=5; do if(i%3==1 if(i%5==2) printf("*%d",i);break; i++: while(i!=0); printf("\n");
A) %7 B) *3*5 C) *5 D) *2*6
27. 以下程序运行后的输出结果是 int f(int n) if(n==1)return 1; else return f(n-1)+1;

main( ) int i,j=0; for(i=1;i<3;i++) j+=f(i); printf("%d\n",j);
A) 4 B) 3 C) 2 D) 1
28. 设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。 A) f=0; for(i=1 ;i<=n;i+ +) f*=i;
B) f=1; for(i=1;i<n;i+ +) f*=i;
C) f=1; for(i=n;i>1;i+ +)f*=i;
D) f=1; for(i=n;i>=2;i--)f*=i;
29. 若有说明语句:double*p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是( )。 A) *p=&a;scanf("%1f",p); B) *p=&a;scanf("%f",p); C) p=&a;scanf("%1f",*p); D) p=&a;scanf("%1f",p);
30. 有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序: #include<string.h> voidf(char*p[],intn) char*t;int i,j; for(i=0;i<n-1;i++) for (j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0)
t=p[i]; p[i]=p[j]; p[j]=t;
main() char*p[5]="abc","aabdfg","abbd","dcdbe","cd";
f(p,5); printf("%d\n",strlen(p[1]));
程序运行后的输出结果是______。

A) 2 B) 3 C) 6 D) 4
31. 对于下列字符串,说明表达式 strlen(s) 值的是( )
char s[10]=('a','\n','a','b','\t','c'; A) 10 B) 1 C) 6 D) 7
32. 有以下程序: #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
33. 以下程序的输出结果是 char cchar(char ch) if(ch>='A' &&ch<='Z') ch=ch-'A'+'a'; return ch;
main( ) char s[]="ABC+abc=defDEF",*p=s; while(*p) *p=cehar(*p);p++; printf("%s\n",s);
A) abc+ABC=DEFdef B) abe+abe=defdef C) abcABCDEFdef D) abcabcdefdef
34. C 语言结构体类型变量在程序执行期间( )。 A) 所有成员一直驻留在内存中 B) 没有成员驻留在内存中 C) 部分成员驻留在内存中 D) 只有一个成员驻留在内存中
35. 以下程序段的输出结果是 int r=8; printf("%d\n", r >>1); A) 16 B) 8 C) 4 D) 2

36. 有以下程序 #include<stdio.h> main() short c=124; c=c______; printf("%d\n",c);
若要使程序的运行结果为 248,应在下划线处填入的是( )。 A) >>2 B) |248 C) &0248 D) <<1
37. 设 fp 已定义,执行语句 fp=fopen("file", "w");后,以下针对文本文件 file 操作叙述的选项 中正确的是______。
A) 写操作结束后可以从头开始读 B) 只能写不能读 C) 可以在原有内容后追加写 D) 可以随意读和写
38. 读取二进制文件的函数调用形式为:fread(buffer,size,count,pf);,其中 buffer 代表的 是______。
A) 一个文件指针,指向待读取的文件 B) 一个整型变量,代表待读取的数据的字节数 C) 一个内存块的首地址,代表读入数据存放的地址 D) 一个内存块的字节数
39. 标准库函数 fgets(s,n,file)的功能是( )。 A) 从文件 file 中读取长度为 n 的字符串存入字符数组 s 中 B) 从文件 file 中读取长度不超过 n-1 个字符的字符串放到字符数组 s 中 C) 从文件 file 中读取 n 个字符串存入字符数组 s 中 D) 从文件 file 中读取长度为 n-1 个字符的字符串存入字符数组 s 中
40. 下面判断正确的是( )。 A) char *a="china";等价于 char *a;*a="ghina"; B) char str[5]="china";等价于 char str[]="china"; C) char*s="china";等价于 char*s;s="china"; D) charc[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";

二、填空题

41. 某二叉树中度为 2 的结点有 18 个,则该二叉树中有

个叶子结点。

42. 在关系数据库中,把数据表示成二维表,每一个二维表称为

43. 数据库系统的三级模式分别为

模式、内部级模式与外部级模式。

44. 某二叉树中度为 2 的结点有 18 个,则该二叉树中有______个叶子结点。

45. 一个关系表的行称为______。

46. 以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、 b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+b >c,a+c>b,b+c>a。请填空。
main() float a,b,c; scanf("%f%f%f",&a,&b,&c); if(_______)printf("YES\n"); /*a、b、c 能构成三角形*/ else printf("NO\n"); /*a、b、c 不能构成三角形*/

47. 与表达式 a+=b 等价的另一书写形式是______。

以下 isprime 函数的功能是:判断形参 a 是否为素数,是素数,函数返回 1,否则返回 0。请 填空。

int isprime(int a)

int i;

for(i=2;i<=a/2;i++)

if(a%i==0)

48. 49.

以下 isprime 函数的功能是:判断形参 a 是否为素数,是素数,函数返回 1,否则返回 0。请 填空。

int isprime(int a)

int i;

for(i=2;i<=a/2;i++)

if(a%i=0)

50.
51. 下面程序的功能是:将 N 行 N 列二维数组中每一行的元素进行排序,第 0 行从小到大排序, 第 1 行从大到小排序,第 2 行从小到大排序,第 3 行从大到小排序,例如:

请填空。

#define N 4

void sort(int a[][N])

int i,j,k,t;

for(i=0;i<N;i++)

for(j=0;j<N-1;j++)

for(k=

;k<N;k++)

/*判断行下标是否为偶数来确定按升序或降序来排序*/

if(

?a[i][j]<a[i][k]:a[i][j]>a[i][k])

t=a[i][j];

a[i][j]=a[i][k];

a[i][k]=t;

void outarr(int a[N][N]) …
main() int a[N][N]=2,3,4,1),8,6,5,7,11,12,10,9,15,14,16,13; outarr(aa);/*以矩阵的形式输出二维数组*/ sour(aa); outarr(aa);

52. 53. 54. 设有以下结构体类型:
Struct st char name[8]; int num;

float s[4]; student[50]; 并且结构体数组 student 中的元素都已有值,若要将这些元素写到硬盘文件 fp 中。请将 以下 fwrite 语句补充完整: fwrite(student,______,1,fp);

55. 以下 sstrcpy()函数实现字符串复制,即将 t 所指字符串复制到 s 所指内存空间中,形成 一个新字符串 s。请填空。

void sstrcpy(char *s,char *t)

while( *s++=

);

main()

char strl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

printf("%s\\n",str1);

56. 设有定义:FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件 read me.txt 的最后续写内容。
fw=fopen("readme.txt","______")
57. 下面程序的运行结果是______。 #define P(a)printf("%d",a) main() int j,a[]=1,2,3,4,5,6,7,i=5; for(j=3;j>1;j--) switch(j) case 1: case 2:P(a[i++]);break; case 3:P(a[--i]);

58. 以下程序运行后的输出结果是______。 main() char c1,c2; for(c1='0',c2='9';c1<c2;c1++,c2--) printf("%c%c",c1,c2); printf("\n");

相关推荐

  1. 二级 C 语言笔试-15

    2024-02-19 17:28:01       39 阅读
  2. 二级 C 语言笔试-12

    2024-02-19 17:28:01       35 阅读
  3. 二级 C 语言笔试-11

    2024-02-19 17:28:01       37 阅读
  4. 二级C语言笔试2

    2024-02-19 17:28:01       35 阅读
  5. 二级C语言笔试1

    2024-02-19 17:28:01       38 阅读
  6. 二级C语言笔试4

    2024-02-19 17:28:01       38 阅读
  7. 二级C语言笔试6

    2024-02-19 17:28:01       32 阅读
  8. 二级C语言备考10

    2024-02-19 17:28:01       39 阅读
  9. C语言——二级指针

    2024-02-19 17:28:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 17:28:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 17:28:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 17:28:01       82 阅读
  4. Python语言-面向对象

    2024-02-19 17:28:01       91 阅读

热门阅读

  1. 【vue】组件通信方式介绍

    2024-02-19 17:28:01       52 阅读
  2. 从零实现softmax回归【基于Pytorch】

    2024-02-19 17:28:01       53 阅读
  3. 使用docker搭建php开发环境

    2024-02-19 17:28:01       65 阅读
  4. 怎么测试阿里云香港服务器是不是cn2?

    2024-02-19 17:28:01       55 阅读
  5. C/C++与汇编交互总结

    2024-02-19 17:28:01       50 阅读
  6. (力扣记录)199.二叉树的右视图

    2024-02-19 17:28:01       44 阅读
  7. Linux中精简卷对Oracle的影响

    2024-02-19 17:28:01       54 阅读