Dotcpp  >  试卷列表  >  全国计算机等级考试《二级C语言程序设计》模拟试题(四)

全国计算机等级考试《二级C语言程序设计》模拟试题(四)


第1题

下列数据结构中,属于非线性结构的是(   )。

共 1 分 

第2题

算法的空间复杂度是指(  )。

共 1 分 

第3题

下列数据结构中,能够按照“先进后出”原则存取数据的是(  )。

共 1 分 

第4题

软件设计中划分模块的一个准则是( )。

共 1 分 

第5题

结构化程序的三种基本控制结构是(   )。

共 1 分 

第6题

下面描述不属于软件特点的是(   )。

共 1 分 

第7题

程序测试的目的是(   )。

共 1 分 

第8题

数据库管理系统是( )。

共 1 分 

第9题

设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是( )。

共 1 分 

第10题

在E-R图中,用来表示实体联系的图形是( )。

共 1 分 

第11题

以下关于结构化程序设计的叙述中对的的是()。

共 1 分 

第12题

以下叙述正确的是( )。

共 1 分 

第13题

关于C语言标识符,以下叙述错误的是( )。

共 1 分 

第14题

若有C语言表达式 2+3*4+7/3,以下选项中叙述正确的执行顺序是( )。

共 1 分 

第15题

以下定义语句中正确的是(   )。

共 1 分 

第16题

若想给已定义为int型的变量a、b、c、d赋整数1,以下选项中错误的语句是()。

共 1 分 

第17题

若有定义:char c;int d; 程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是( )。

共 1 分 

第18题

若有定义:int a; float b;double c;,程序运行时输入:1,2,3<回车>,能把1输入给变量a、2输入给变量b、3输入给变量c的输入语句是( )。

共 1 分 

第19题

有以下程序:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
main()
{
int i,j;
for(i=1;i<4;i++)
{
for(j=i;j<4;j++)
printf("%d*%d=%d  ",i,j,i*j);
printf("\n");
}
}

程序运行后的输出结果是( )。

共 1 分 

第20题

有以下程序

1
2
3
4
5
6
7
#include <stdio.h>
main()
{
char a = 'H';
a = (a>='A' && a<='Z') ? (a+32):a;
printf("%c\n",a);
}

程序运行后的输出结果是( )。

共 1 分 

第21题

有以下程序

1
2
3
4
5
6
7
#include  <stdio.h>
main()
{
int a=-1, b=-1;
for(; ++a;)++b;
printf("%d,%d\n", a, b);
}

程序运行后的输出结果是( )。

共 1 分 

第22题

以下叙述中正确的是()。

共 1 分 

第23题

C语言主要是借助以下哪种手段来实现程序模块化?( )

共 1 分 

第24题

以下程序段中的变量已正确定义

1
2
3
for( i=0; i<4; i++,i++ )
for( k=1; k<3; k++ );
printf("*" );

该程序段的输出结果是( )。

共 1 分 

第25题

字符数组a和b中存储了两个字符串,判断字符串a和b是否相等,应当使用的是()。

共 1 分 

第26题

const int *p说明不能修改( )。

共 1 分 

第27题

在源程序的开始处加上“#include”进行文件引用的原因, 以下叙述正确的是( )。

共 1 分 

第28题

以下叙述中正确的是( )。

共 1 分 

第29题

设有某函数的说明为

1
int* func(int a[10], int n);

则下列叙述中,正确的是( )。

共 1 分 

第30题

有以下程序

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int fun (int x,int y)
{
if(x!=y) return ((x+y)/2);
else return (x);
}
main()
{
int a=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}

程序运行后的输出结果是( )。

共 1 分 

第31题

要求定义一个具有6个元素的int型一维数组,以下选项中错误的是 (  )。

共 1 分 

第32题

设有定义int x=0,*p;立即执行以下语句,正确的语句是( )。

共 1 分 

第33题

以下叙述中错误的是( )。

共 1 分 

第34题

如果定义float a[10],x;则以下叙述中正确的是( )。

共 1 分 

第35题

关于地址和指针,以下说法正确的是(   )。

共 1 分 

第36题

以下叙述中正确的是( )。

共 1 分 

第37题

有以下程序:

1
2
3
4
5
6
7
8
#include<stdio.h>
#define PT 3.5;
#define S(x) PT*x*x;
main()
{
int a=1,b=2;
printf("%4.1f\n",S(a+b));
}

程序运行后的输出结果是( )。

共 1 分 

第38题

以下叙述中错误的是( )。

共 1 分 

第39题

下面结构体的定义语句中,错误的是(   )。

共 1 分 

第40题

设有如下语句

1
2
3
4
5
6
typedef struct Date
{
int year;
int month;
int day;
} DATE;

则以下叙述中错误的是()。

共 1 分 

第41题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从低位到高位相反的顺序组成一个新的数,并作为函数值返回。
例如,输入一个整数:27638496,函数返回值为:64862。
请在程序的下划线处填入正确的内容并把下划线删除.便程序得出正确的结果。
注意:

源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**********code.c**********/
#include <stdio.h>
unsigned long fun(unsigned long n)
{
unsigned long x=0;
int t;
while(n)
{
t=n%10;
if(t%2==①______)
x=②______+t;
n=③______;
}return x;
}
main()
{
unsigned long n=-1;
while(n>99999999||n<0)
{
printf("Please input(0<n<100000000): ");
scanf("%ld",&n);
}
printf("\nThe result is: %ld\n",fun(n));
}
/**********-code.c**********/
共 20 分 

第42题

给定程序MODI1.C中函数fun功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为:87653142时,t中的数为:7531。
请改正程序中的错误,使它能得出正确的结果。
注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**********code.c**********/
#include <stdio.h>
void fun (long s, long *t)
{
int d;
long sl=1;
/**********found**********/
t = 0;
while (s > 0)
{
d = s%10;
/**********found**********/
if (d%2 == 0)
{
*t = d * sl + *t;
sl *= 10;
}s /= 10;
}
}void main()
{
long s, t;
printf("\nPlease enter s:");
scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
/**********-code.c**********/
共 40 分 

第43题

编写一个函数fun它的功能是:实现两个字符串的连接(使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
例如,分别输入下面两个字符串:FirstStrinf—SecondString
程序输出:
FirstString——SecondString
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**********code.c**********/
#include <stdio.h>
void fun(char p1[],char p2[])
{
 
}
void main()
{
char s1[80],s2[40];
printf("Enter s1 and s2:\n");
scanf("%s%s",s1,s2);
printf("s1=%s\n",s1);
printf("s2=%s\n",s2);
printf("Invoke fun(s1,s2):\n");
fun(s1,s2);
printf("After invoking:\n");
printf("%s\n",s1);
}

参考答案:

1
2
3
4
5
6
7
8
void fun(char p1[], char p2[])
{
int i,j;
for(i=0;p1[i]!='\0';i++) ;
for(j=0;p2[j]!='\0';j++)
p1[i++]=p2[j];
p1[i]='\0';
}
共 0 分