文档库 最新最全的文档下载
当前位置:文档库 › 2016二级c语言必考题选择题强化训练1

2016二级c语言必考题选择题强化训练1

2016二级c语言必考题选择题强化训练1
2016二级c语言必考题选择题强化训练1

2016强化训练选择题部分(1)

一、选择题:

1)下列叙述中正确的是()

A) 算法的空间复杂度与算法所处理的数据存储空间有关

B) 算法的空间复杂度是指算法程序控制结构的复杂程度

C) 算法的空间复杂度是指算法程序中指令的条数

D) 压缩数据存储空间不会降低算法的空间复杂度

2)下列叙述中正确的是()

A) 数据的存储结构会影响算法的效率

B) 算法设计只需考虑结果的可靠性

C) 算法复杂度是指算法控制结构的复杂程度

D) 算法复杂度是用算法中指令的条数来度量的

3)设数据集合为D={ 1, 2, 3, 4, 5 }。下列数据结构B=(D, R)中为非线性结构的是()

A) R={ (1,2), (2,3), (3,4), (4,5) }

B) R={ (1,2), (2,3), (4,3), (3,5) }

C) R={ (5,4), (4,3), (3,2), (2,1) }

D) R={ (2,5), (5,4), (3,2), (4,3) }

4)下列各组排序法中,最坏情况下比较次数相同的是()

A) 希尔排序与堆排序

B) 简单插入排序与希尔排序

C) 简单选择排序与堆排序

D) 冒泡排序与快速排序

5)下列排序方法中,最坏情况下时间复杂度(即比较次数)低于O(n^2)的是()

A) 快速排序

B) 简单插入排序

C) 冒泡排序

D) 堆排序

6)循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又正常地插入了一个元素,则循环队列中的元素个数为()

A) 51

B) 50

C) 46

D) 1

7)设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的入栈与退栈操作后,top=20,则栈中的元素个数为()

A) 31

B) 30

C) 21

D) 20

8)某二叉树共有400个结点,其中有100个度为1的结点,则该二叉树中的叶子结点数为()

A) 149

B) 150

C) 151

D) 不存在这样的二叉树

9)某二叉树共有150个结点,其中有50个度为1的结点,则()

A) 不存在这样的二叉树

B) 该二叉树有49个叶子结点

C) 该二叉树有50个叶子结点

D) 该二叉树有51个叶子结点

10)下面属于“类-对象”主要特征的是()

A) 对象一致性

B) 对象无关性

C) 类的多态性

D) 类的依赖性

11)下面不属于需求分析阶段工作的是()

A) 需求获取

B) 可行性研究

C) 需求分析

D) 撰写软件需求规格说明书

12)下面描述正确的是()

A) 软件测试是指动态测试

B) 软件测试可以随机地选取测试数据

C) 软件测试是保证软件质量的重要手段

D) 软件测试的目的是发现和改正错误下面不属于需求分析阶段工作的是

13)软件生命周期是指()

A) 软件的需求分析、设计与实现

B) 软件的开发与管理

C) 软件的实现和维护

D) 软件产品从提出、实现、使用维护到停止使用退役的过程

14)在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()

A) 内模式

B) 用户模式

C) 外模式

D) 概念模式

15)下面图中属于软件设计建模工具的是()

A) DFD图(数据流程图)

B) 程序流程图(PFD图)

C) 用例图(USE_CASE图)

D) 网络工程图软件生命周期是指

16) 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()

A) DB包括DBS和DBMS

B) DBMS包括DB和DBS

C) DBS包括DB和DBMS

D) DBS、DB和DBMS相互独立

17)大学中每个年级有多个班,每个班有多名学生,则实体班级和实体学生之间的联系是

A) 一对多

B) 一对一

C) 多对一

D) 多对多

18)医院里有不同的科室,每名医生分属不同科室,则实体科室与实体医生间的联系是()

A) 一对一

B) 一对多

C) 多对一

D) 多对多

19)有三个关系R、S和T如下:

则由关系R、S得到关系T的操作是()

A) 交

B) 投影

C) 自然连接

D) 并

20)

()

A) 投影

B) 选择

C) 交

D) 差

21)以下叙述错误的是()

A) 任何能通过编译和运行的算法都一定能得到所期望的结果

B) 一个算法所包含的操作步骤应该是有限的

C) 算法中每一条指令必须有确切的含义

D) 算法可以用各种描述方法来进行描述

22)以下选项中,合法的C语言常量是()

A) 1.234

B) 'C++'

C) "\2.0

D) 2Kb

23)有以下程序

#include

main()

{ ints,t,A=10;

double B=6;

s=sizeof(A);

t=sizeof(B);

printf("%d,%d\n",s,t);

}

在VC6平台上编译运行,程序运行后的输出结果是()

A) 4.8

B) 4.4

C) 2.4

D) 0.6

24)若有定义语句:

intx=10;

则表达式x-=x+x的值为()

A) 10

B) -20

C) 0

D) -10

25)关于程序模块化,以下叙述错误的是()

A) 程序模块化可以提高程序运行的效率

B) 程序模块化可以提高程序编制的效率

C) 程序模块化可以提高程序代码复用率

D) 程序模块化可以提高调试程序的效率

26)若有定义:

double a=22; int i=0,k=18;

则不符合C语言规定的赋值语句是()

A) a=a++,i++;

B) i=(a+k)<=(i+k);

C) i=a%11;

D) i=!a;

27)以下选项中不能在C语言程序中用作用户标识符的是()

A) auto

B) scanf

C) Float

D) _3_14

28)以下叙述错误的是()

A) 若用户标识符的命名与预定义标识符相同,命名无效

B) 若用户标识符的命名与关键字相同,将产生编译错误

C) 若用户标识符的命名与预定义标识符相同,预定义标识符失去原有含义

D) 若用户标识符的命名与预定义标识符相同,可能引发运行错误

29)以下选项中,合法的C语言实数是()

A) .4e0

B) 4.3e0.2

C) E4.8

D) 0.29E

30)设有语句:printf("%2d\n",2010);,则以下叙述正确的是()

A) 程序运行时输出2010

B) 程序运行时输出20

C) 程序运行时输出10

D) 指定的输出宽度不够,编译出错

31)设有定义:double x;,以下选项中不能将输入数据3.14读入赋给变量x的是()

A) scanf("%4.2f",&x);

B) scanf("%lf",&x);

C) scanf("%le",&x);

D) scanf("%4lf",&x);

32)以下选项中,与k = n++完全等价的表达式是()

A) k=n, n=n+1

B) n=n+1, k=n

C) k = ++n

D) k += n+1

33)以下不属于C语言整型常量的是()

A) 0L

B) -018

C) 0Xa

D) 200U

34)有以下程序

#include

main()

{ int x=1, y=0;

if (!x) y++;

else if (x==0)

if (x) y+=2;

else y+=3;

printf("%d\n", y);

}

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

A) 1

B) 2

C) 0

D) 3

35)若有定义:

float x=1.5;

int a=1,b=3,c=2;

则正确的switch语句是()

A) switch(a+b)

{ case 1: printf("*\n");

case 2+1: printf("**\n"); }

B) switch((int)x);

{ case 1: printf("*\n");

case 2: printf("**\n"); }

C) switch(x)

{ case 1.0: printf("*\n");

case 2.0: printf("**\n"); }

D) switch(a+b)

{ case 1: printf("*\n");

case c: printf("**\n"); }

36)若变量已正确定义,在if (W) printf("%d\n" ,k ); 中,以下不可替代W的是()

A) a<>b+c

B) ch=getchar()

C) a==b+c

D) a++

37)有以下程序段

#include

inta, b, c;

a=10; b=50; c=30;

if (a>b) a=b, b=c; c=a;

printf("a=%d b=%d c=%d\n", a, b, c);

程序的输出结果是()

A) a=10 b=50 c=10

B) a=10 b=50 c=30

C) a=10 b=30 c=10

D) a=50 b=30 c=50

38)有以下程序

#include

main( )

{ int a=0, b=0;

for( ;a<7; a++ )

{ if (a%2==0) continue;

b += a;

continue;

}

printf( "%d \n", b );

}

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

A) 0

B) 4

C) 1

D) 9

39)以下关于循环语句的叙述中正确的是()

A) do-while语句的循环体至少执行一次

B) while语句的循环体至少执行一次

C) for语句的循环体至少执行一次

D) 上述A、B、C说法均正确

40)有以下程序

#include

main()

{ intx,y=0,z=0,t;

do

{ scanf("%d",&x);

t=x>0;

switch (t)

{ case 0: break;

case 1: y+=x; continue;

}

z+=x;

}while(x);

printf("%d,%d\n",y,z);

}

程序运行时输入:-1 1 -2 2 0<回车>,则输出结果是()

A) 1,1

B) 1,0

C) 3,-3

D) 3,0

41)若有以下程序

#include

main()

{ char a='5', b;

a++;

printf("%d,%d\n", a-'5'+255, b=a- '5');

}

执行后的输出结果是()

A) 256,1

B) 1,256

C) 255,1

D) 256,0

42)有以下程序

#include

main( )

{ inta=7, b=0;

do { b += a; a -=1; } while ( a-- ) ;

printf( "%d,%d\n", b, a );

}

执行后的输出结果是()

A) 28,0

B) 28,1

C) 16,0

D) 16,-1

43)有以下程序

#include

main()

{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

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

for(j=i;j<=i;j++) t+=b[i][b[j][i]];

printf("%d\n",t);

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

A) 3

B) 4

C) 1

D) 0

44)以下选项中能正确定义二维数组的选项是()

A) double a[][3]={ 2*3 };

B) double a[][3];

C) double a[][3]={ };

D) double a[2]

45)有以下程序

#include

main()

{ intx,a=1,b=1;

while(1)

{ scanf("%d",&x);

if(x>0) { a*=x; break; }

if(x<0) { b*=x; continue; }

printf("%d,%d\n",a,b);

}

}

程序运行时输入:-1 -2 0 1 2 <回车>,则输出结果是()

A) 1,2

B) 2,2

C) -1,1

D) -2,1

46)若有函数定义如下

int fun(intx,int y)

{ return x-y; }

则以下涉及上述函数的说明语句错误的

A) int fun( intx,y );

B) int fun( int ,int );

C) int fun( inta,int b );

D) inti,fun(intx,int y);

47)有以下程序

#include

main()

{ int x[3][2]={0}, i;

for(i=0; i<3; i++) scanf("%d",x[i]);

printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]); }

若运行时输入:2 4 6<回车>,则输出结果为

A) 2 4 6

B) 2 0 0

C) 2 4 0

D) 2 0 4

48)有以下程序

#include

int f(int n);

main()

{ int a=3,s;

s=f(a);s=s+f(a); printf("%d\n",s);

}

int f(int n)

{ static int a=1;

n+=a++;

return n;

}

程序运行后的输出结果是

A) 7

B) 8

C) 9

D) 10

49)有以下部分程序

#include

void f( int );

main()

{ void f( int );

f(5);

}

void f( int n )

{ printf("%d\n", n ); }

以下叙述中错误的是

A) f函数中不可以出现return语句

B) 在主函数中,f(5) ;可以正确调用f函数

C) 在主函数后的其他函数可以正确调用f函数

D) f函数无返回值,应当定义成void类型

50)有以下程序

#include

main()

{ char s[][6]={"abcd","abc","ab"}; int i;

for( i=0;i<3;i++ ) puts(s[i]);

}

执行后的输出结果是()

A) abcd

abc

ab

B) a

a

a

C) abcd

bcd

cd

D) a

b

c

51)有以下程序

# include

main( )

{ int i=3,j=5, *p=&i, *q=&j, **r;

r = &q;

printf("%d,%d,%d,%d,%d\n", i, j, *p, *q, **r);

}

执行后的输出结果是()

A) 3,5,3,5,5

B) 5,3,5,3,5

C) 3,5,3,5,3

D) 3,5,3,3,5

52)以下不能使指针s所指存储单元的值增1的选项是()

A) (*s)++;

B) *s=*s+1;

C) *s++;

D) ++*s;

53)若有以下函数

int fun(char *a, char *b)

{ intbk=0;

while( (*a!='\0')&&(*b!='\0') &&strlen(a)==strlen(b) )

{ if(*b != *a) { bk=0; break; }

a++; b++; bk=1;

}

return bk;

}

此函数的功能是()

A) 判断a和b两个字符串是否相等

B) 将字符串a改名为字符串b

C) 将字符串变量a的值赋赋给字符串变量b

D) 检查字符串a和b中是否有'\0'

54)以下语句中存在语法错误的是()

A) char ss[6][20]; ss[1]= "right?";

B) char ss[ ][20]={ "right?"};

C) char *ss[6]; ss[1]= "right?";

D) char *ss[ ]={ "right?"};

55)设有如下定义和语句

[1] char *s; s="string";

[2] char s[7]; s="string";

[3] char s[ ]="string";

[4] char s[ ]={'s','t','r','i','n','g'};

其中定义项可以作为字符串使用的是()

A) [1]和[4]

B) [1]和[2]

C) [1]和[3]

D) [3]和[4]

56)有以下程序

#include

int fun()

{ staticint x=1;

x*=2;

return x;

}

main()

{ int i, s=1;

for( i=1; i<=3; i++ ) s*=fun( );

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

}

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

A) 30

B) 10

C) 0

D) 64

57)有以下程序(注:字符a的ASCII码值为97) #include

main()

{ char *s ={ "abc" };

do

{ printf ("%d", *s%10); ++s; }while ( *s );

}

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

A) abc

B) 789

C) 7890

D) 979899

58)有以下程序

#include

#include

main( )

{ int i, len;

char b[]="Welcome you to Beijing!";

len = strlen(b);

for ( i=0; b[i]!=’\0’;i++)

if ( b[i] == ' ' )

{ strcpy(b, b+i+1);

i=0;

}

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

}

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

A) Beijing!

B) to Beijing!

C) Welcome you to Beijing!

D) you to Beijing!

59)以下关于字符串处理的叙述正确的是()

A) 进行字符串复制时,目的串的存储空间必须足够大

B) 两个字符串进行比较时,短的一个必定比长的一个小

C) 计算一个字符串的长度时,应包含串尾的结束标志

D) 两个字符串连接时,对存储空间的大小没有要求

60)有以下程序

#include

double fun(int n)

{ static double f=1;

f *= n;

return f;

}

main()

{ int i;

double s=0;

for(i=1; i<6; i++)

s+=fun(i);

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

}

程序计算的是()

A) s=1!+2!+3!+4!+5!

B) s=1+2+3+4+5

C) s=1*2*3*4*5

D) s=1!*2!*3!*4!*5!

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

A) structord {intx;inty;int z;} structord a;

B) structord {intx;inty;int z;}; structord a;

C) structord {intx;inty;int z;} a;

D) struct{intx;inty;int z;} a;

62)有以下程序

#include

structS

{ int a, b; } data[2]={10,100,20,200};

main()

{ structS p=data[1];

printf("%d\n", ++(p.a) );

}

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

A) 10

B) 11

C) 20

D) 21

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

A) 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

B) 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

D) C语言中的文件是流式文件,因此只能顺序存取数据

64)有以下程序

#include

main()

{ FILE *fp; int a[10]={1,2,3}, i, n;

fp = fopen("d1.dat", "w");

for (i=0; i<3; i++) fprintf(fp, "%d", a[i]);

fprintf(fp, "\n");

fclose(fp);

fp = fopen("d1.dat", "r");

fscanf(fp, "%d", &n);

fclose(fp);

printf("%d\n", n);

}

程序的运行结果是()

A) 123

B) 12300

C) 1

D) 321

65)有以下程序

#include

#define MUL1(x,y) x*y

#define MUL2(x,y) (x)*(y)

#define MUL3(x,y) (x*y)

main()

{ int m=2,n=3;

printf( "%d,%d,%d\n",MUL1(m,m+n)*2,MUL2(m,m+n)*2,MUL3(m,m+n)*2 );

}

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

A) 10,20,14

B) 20,20,20

C) 10,10,10

D) 14,14,14

66)有以下程序

#include

main( )

{ FILE *fp;

inti, a[6] = {1,2,3,4,5,6}, k;

fp = fopen("data.dat", "w+b"); fwrite(&a[0], sizeof(int), 1, fp); for (i=1; i<6; i++)

{

fseek(fp, 0L, 0);

fwrite(&a[i], sizeof(int), 1, fp);

}

fseek(fp, 0L, 0);

fread(&k, sizeof(int), 1, fp); fclose(fp);

printf("%d\n", k);

}

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

A) 123456

B) 21

C) 6

D) 654321

67)有以下程序

#include

#define S(x) (x/x)*x

main( )

{ int k=6, j=3;

printf( "%d,%d\n", S(k+j), S(j+k) ); }

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

A) 57,39

B) 57,57

C) 9,9

D) 39,39

68)有以下程序

#include

void fun( int a )

{ if( a>1 ) fun(a-1);

printf("%d ",a);

}

main()

{ int q=5; fun(q); printf("\n"); }

执行后的输出结果是()

A) 1 2 3 4 5

B) 5 4 3 2 1

C) 0 1 2 3 4 5

D) 5 4 3 2 1 0

69)以下关于C语言文件的叙述中正确的是()

A) 文件由数据序列组成,其类型可以为二进制文件或文本文件

B) 文件由记录序列组成,其类型可以为二进制文件或文本文件

C) 文件由字符序列组成,其类型可以为二进制文件或文本文件

D) 文件由数据序列组成,其类型只能是二进制文件

70)设有定义和语句(假设short int型数据占2字节)

shortint *pi,*pj;

pi=pj=(short *)malloc(2);

则以下叙述正确的是()

A) pi和pj指向了同一个short int型存储单元

B) pi和pj指向了2个连续的short int型存储单元的首地址

C) pi和pj分别指向了一个short int型存储单元

D) pi和pj分别指向了2个short int型存储单元

71)若要通过位运算使整型变量a中的各位数字全部清零,以下选项正确的是()

A) a=a&0;

B) a=a|0;

C) a=a^0;

D) a=!a;

72)程序中若有以下的说明定义和语句

#include

#include

structSTR

{ char num[10]; int s; };

main()

{ structSTR t, *p;

p=&t;

}

则不能给变量t的s成员赋整数99,给num成员赋空串的语句组是()

A) (*p).s=99; (*p).num="";

B) p->s=99; p->num[0]=0;

C) (*p).s=99; p->num[0]= '\0';

D) p->s=99; strcpy((*p).num, "")

73)有以下程序

#include

int fun(int a)

{ int b=2;

static int c=2;

b++; c--; return(a+b+c);

}

main( )

{ int k, a=2;

for (k=0; k<3; k++) printf("%d", fun(a));

printf("\n");

}

执行后的输出结果是()

A) 678

B) 666

C) 654

D) 456

74)有定义语句:int i; char s1[10], s2[10]= "Program"; 则能正确给s1数组赋字符串的语句是()

A) for(i=0; i<=7; i++) s1[i]=s2[i];

B) s1=s2;

C) while(s2) s1++ =s2++;

D) for(i=0; s2[i]; i++ ) s1[i]=s2[i];

75)以下程序拟读取一个姓氏,查找其对应的年龄并输出

#include

#include

#include

struct person { char name[10]; int age;};

struct person group[6]={ "zhang", 18,"wang",20,"li",19,"zhao",18,"liu",19},*p;

main()

{ inti,flag=0;

p=(struct person *)malloc(sizeof(struct person));

gets( &p->name );

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

if( (strcmp(p->name,group[i].name )==0))

{ printf("%d\n",group[i].age );

flag=1;

}

if(flag==0) printf("No find!\n");

}

程序有语法错,出错的是()

A) gets( &p->name );

B) p=(struct person *)

C) if( (strcmp(p->name,group[i].name )==0))

D) printf("%d\n",group[i].age );

76)有以下程序

#include

#include

main()

{ FILE *fp;

char ch,str[5];

if((fp=fopen("file.txt","wb+"))==NULL)

{ printf("error!\n"); exit(0); }

ch=getchar();

while( ch!='!')

{ fputc(ch,fp);

ch=getchar();

}

rewind(fp);

do{

fgets(str,4,fp);

puts(str);

}

while(!feof(fp));

fclose(fp);

}

程序运行时输入:c:\\test!<回车>,则程序的输出结果是()

A) c:\\test

B) c:\ test

C) c: test

D) c:\test

二、程序操作题目:

1、填空题:

(1)函数fun的功能是:将一副扑克牌编号为1,2,3,…,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,譬如第一次这样洗牌后的结果为:1,28,2,29,…,53,27,54。两次洗牌

后的结果为:1,41,28,15,2,42…,53,40,27,14,54。

程序的功能是:输出经过n次这样洗牌后的结果。

请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的

结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

void fun( int a[55], int n )

{ int i, k ;

/**********found**********/

int __(1)__[55];

for (i=0; i

{ for (k=1; k<= 27; k++)

{ b[ 2*k-1 ] = a[k];

/**********found**********/

b[ __[2]___* k ] = a[k+27];

}

for (k=1; k<=54; k++)

/**********found**********/

a[k]=___(3)___;

}

}

main( )

{ int m, a[55],i;

for (i=1; i<55; i++) a[i]= i;

printf("请输入洗牌次数: "); scanf("%d", &m);

fun(a, m);

for (i=1; i<55; i++) printf("%d,",a[i]);

printf("\n");

}

(2)给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结

果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

void fun( int *px, int *py)

{

/**********found**********/

int __(1)__ ;

scanf( "%d", &k );

/**********found**********/

while __(2)__

{ if (k>0 ) a++;

if(k<0 ) b++;

/**********found**********/

__(3)__;

历年二级C语言笔试真题及答案

1 2009年9月全国计算机等级考试二级笔试 试卷 1)下列数据结构中,属于非线性结构的是 A )循环队列 B) 带链队列 C) 二叉树 D )带链栈 2)下列数据结果中,能够按照“先进后出”原则存取数据的是 A) 循环队列 B) 栈 C)队列 D)二叉树 3)对于循环队列,下列叙述中正确的是 A )队头指针是固定不变的 B )队头指针一定大于队尾指针 C )队头指针一定小于队尾指针 D )队头指针可以大于队尾指针,也可以小于队尾指针 4)算法的空间复杂度是指 A )算法在执行过程中所需要的计算机存储空间 B )算法所处理的数据量 C )算法程序中的语句或指令条数 D )算法在执行过程中所需要的临时工作单元数 5)软件设计中划分模块的一个准则是 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 6)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); } 该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能 用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符 C )定义语句无错,scanf 不能作为输入函 数使用 D )定义语句无错,printf 不能输出case 的值 14)表达式:(int)((double)9/2)-(9)%2的值是 A )0 B )3 C )4 D )5 15)若有定义语句:int x=10;,则表达式 x-=x+x 的值为 A )-20 B )-10 C )0 D )10 16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); } 程序运行后的输出结果是 A )0,0 B )1,0 C )3,2 D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语 句中执行效果与其它三个不同的是 A )if(a>b) c=a,a=b,b=c; B )if(a>b) {c=a,a=b,b=c;} C ) if(a>b) c=a;a=b;b=c; D ) if(a>b) {c=a;a=b;b =c;} 18)有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d \n”,c); } 程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d \n”,n); } 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序 #include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是 A )char a=?a? B )char a=?\n?; C )char a=?aa?; D )char a=?\x2d?; 23)有以下程序 #include main() { char c1,c2; c1=?A?+?8?-…4?; c2=?A?+?8?-…5?; printf(“%c,%d \n”,c1,c2); } 已知字母A 的ASCII 码为65,程序运行后的输出结果是

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

c语言循环结构上机习题

c语言循环结构上机习 题 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

1、计算n的阶乘(n!),n的取值在1~10之间。分别使用while、do…while和for语句实现。(三个程序) 给循环变量赋初值 循环条件 循环体 循环变量的增值 2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。 3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。 4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。 (分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子) 5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。要求每一行显示5个数,并且统计一共有多少个整数能被n整除。 6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin);} 7、使用循环语句输出以下图形 8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。 8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。 分析:

二级C语言试题(含答案)

二级C语言试题 一、判断题(2×8=16分) 1、printf()函数总是从新行的起始位置开始打印。( F ) 2、所有的变量在使用前都必须予以申明。(F) 3、在申明变量时必须给出变量的类型。(T) 4、C语言认为变量number和NuMbEr是相同的。( F) 5、打印三行输出的C语言程序必须用三条printf语句。(F) 6、求余运算符%只能用于两个整数操作数。(T) 7、switch选择结构中必须有default子句。(F) 8、如果x>y或ay&&a

C语言循环结构练习题带答案

第5章循环结构程序设计 练习题 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 D 。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是__C__。

第5章循环结构程序设计35 A. i=100; while (1) { i=i%100+1; if (i==20) break; } B.for (i=1;;i++) sum=sum+1; C.k=0; do { ++k; } while (k<=0); D.s=3379; while (s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是_B___。 #include main() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; COUT<

全国计算机等级考试 历年真题2009年3月二级C语言笔试真题及答案

全国计算机等级考试历年真题2009年3月二级C语言笔试真题及答案 一、选择题(每题2分,共计70分) 1.(1)下列叙述中正确的是 A)栈是先进先出的线性表 B)队列是"先进后出"的线性表 C)循环队列是非线性结构 D)有序线性表即可以采用顺序存储结构,也可以采用链式存 储结构 A B C D 2.(2)支持子程序调用的数据结构是 A)栈 B)树 C)队列 D)二叉树 A B C D 3.(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10 B)8 C)6 D)4 A B C D 4.(4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序

D)堆排序 A B C D 5.(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列 属于应用软件的是 A)编译程序 B)操作系统 C)教务管理系统 D)汇编程序 A B C D 6.(6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试程序进行"错误定位"是程序调试的必要步骤 C)程序调试也成为Debug D)软件测试应严格执行测试计划,排除测试的随意性 A B C D 7.(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性 C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度 A B C D 8.(8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训

C语言循环结构练习题带答案

C语言循环结构练习题 带答案 Company Document number:WTUT-WT88Y-W8BBGB-

第5章循环结构程序设计 基本知识点 while语句的使用格式和注意事项 do-while语句的使用格式和注意事项 for语句的使用格式和注意事项 break和continue语句在循环语句中的应用 循环结构的嵌套 使用goto语句实现循环结构 穷举法程序设计方法 迭代程序设计方法 练习题5 1.单项选择题 (1)语句while(!e);中的条件!e等价于A。 ==0 !=1 !=0 D.~e (2)下面有关for循环的正确描述是D。 循环只能用于循环次数已经确定的情况 循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体 循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。 A.不能使用do-while语句构成的循环 语句构成的循环必须用break语句才能退出 语句构成的循环,当while语句中的表达式值为非零时结束循环语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是A。 的循环体至少无条件执行一次 的循环控制条件比do-while的循环控制条件严格 允许从外部转到循环体内 的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; }

while(!x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误(6)下列语句段中不是死循环的是__C__。 =100; while(1) { i=i%100+1; if(i==20)break; } (i=1;;i++) sum=sum+1; =0; do { ++k; }while(k<=0); =3379; while(s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while(a) { if(b)continue; c; } (a) (c) {if(!b)c;} {if(!b)break;c;} (c) (a) {if(b)c;} {if(b)break;c;} (8)以下程序的输出结果是_B___。 #include<> main() { inti; for(i=4;i<=10;i++) { if(i%3==0)continue; COUT<

计算机二级C语言测试题及答案解析(一)

2016年计算机二级C语言测试题及答案解析(一)1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是(C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A、C程序的工作过程是编辑、编译、连接、运行 B、C语言不区分大小写。 C、C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。

B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A、%x B、a+b C、a123

选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C 中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

2009年3月二级C语言笔试真题及答案

2009年3月二级C语言笔试真题及答案 一、选择题(每题2分,共计70分) 1.(1)下列叙述中正确的是 A)栈是先进先出的线性表 B)队列是"先进后出"的线性表 C)循环队列是非线性结构 D)有序线性表即可以采用顺序存储结构,也可以采用链式存储结构 2. (2)支持子程序调用的数据结构是 A)栈 B)树 C)队列 D)二叉树 3. (3)某二叉树有5个读为2的结点,则该二叉树中的叶子结点数是 A)10 B)8 C)6 D)4 4. (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列 属于应用软件的是 A)编译程序 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试程序进行"错误定位"是程序调试的必要步骤 C)程序调试也成为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性 C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度

(8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择 B)投影 C)插入 D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为 A)属性 B)键 C)关系 D)域 (11)一下选项中合法的标识符是 A)1_1 B)1-1 C)_11 D)1_ _ (12)若函数中有定义语句:int k;,则 A)系统将自动给k赋初值0 B)这是k中的值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)一下选项中,能用作数据常量的是 A)o115 B)0118 C)1.5e1.5 D)115L (14)设有定义:int x=2;,一下表达式中,值不为6的是 A)x*=x+1 B)X++,2*x C)x*=(1+x) D)2*x,x+=2 15. (15)程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是 A)123.141593 B)12 3.141593 C)12,3.141593 D)123.1415930

二级C语言5练习(循环含答案)

(1)有以下程序段 int n,t=1,s=0; scanf("%d",&n); do{ s=s+t; t=t-2; }while (t!=n); t==n t=-1,-3,-5 为使此程序段不陷入死循环,从键盘输入的数据应该是 A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数 (2)设变量已正确定义,则以下能正确计算f = n!的程序段是 A) f=0; B) f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i1;i++) f*=i; 死循环for(i=n;i>=2;i--) f*=i; (3)以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main() { int t=0,s=0,i; ; i=1 t=1 i=2 t=12 i=3 t=123 t=i+10*t s=s+t; } printf("s=%d\n",s); } 4) 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 ch=getchar()!='N' ch=('a'!='N')ch=1 while( 1 ) (ch=getchar()) != 'N' ch=getchar() ch='a' 'a'!='N' while(1) A)while((ch=getchar())!='N') printf("%c",ch); B)while(ch=getchar()!='N') printf("%c",ch); C)while(ch=getchar()=='N') printf{"%c",ch); D)while((ch=getchar())=='N') printf("%c",ch); 5) 以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main() { int i,j,n; char ch='A'; scanf("%d",&n); if(n<11) n=5 { for(i=1;i<=n;i++) i=1 j=1 to 5 'A' ch='B' 'C' { for(j=1;j<=n-i+1;j++) { printf("%2c",ch); ch=ch+1 ; ch++ ++ch }

c语言循环结构练习

2015-2016(2)循环结构练习题 一、单选题(共40题,共100分) 1. 以下正确的描述是()(2分) 语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 标准答案:B 考生答案: 2. 下面的关键字中,不能够从循环体中跳出循环体外的是()(2分) 标准答案:D 考生答案: 3. 以下叙述中错误的是()(2分) A.语句标号是由合法的标识符后面加一个冒号构成 语句的作用是把程序的执行转向语句标号所在的位置 语句必须与语句标号在同一个函数内 D.结构化程序设计主张使用goto语句,使用goto语句的程序可读性强标准答案:D 考生答案: 4. 有以下程序段,while 循环执行的次数是() int k=0; while(k=1)k++; (2分) A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次 标准答案:A 考生答案: 5. 运行以下程序的结果为() main() { int num=0; while (num<=2) {num++; printf("%d",num); } } (2分) 标准答案:B 考生答案: 6. 下述程序的输出结果是()。 #include<> main() { int Y=100; while(Y--);

printf("y=%d",Y); (2分) =0 =1 =随机值 =-1 标准答案:D 考生答案: 7. 执行下面的程序后的输出结果为() int x,y,z; x=20,y=40,z=15; while(y>x) x+=4,y-=4; z/=2; printf("%d,%d,%d",x,y,z); (2分) ,36,30 ,8,7 ,28,7 ,28, 标准答案:C 考生答案: 8. 以下程序段的输出结果是() int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); (2分) ,2,0 ,2,-1 ,3,-1 ,-2,-5 标准答案:B 考生答案: 9. 下述语句执行后,变量k的值是() int k=1; while(k++<10); (2分) D.此为无限循环,值不定 标准答案:B 考生答案: 10. 下面程序的运行结果是()。 main() { int c1=2, c2=0; while(!c2--) printf("%d,%d", c1--, c2); } (2分) ,-1 B.不输出任何内容 ,-1 ,0 标准答案:C 考生答案: 11. 运行以下程序后,如果从键盘上输入china#main( ) { int v1=0,v2=0; char ch ; while((ch=getchar())!='#') switch(ch) { case 'a': case 'h': default: v1++; case '0': v2++;

2020计算机二级C语言程序设计真题及答案(网友版)

2020计算机二级C语言程序设计真题及答案(网友版)【热点推荐】 | | | #include #include void proc(int num,int*b,int*c) { int i,j,d,y; for(i=3;i<=num/2;i=i+2) //****found**** { y=0; for(j=2;j<=sqrt((double)i);j++) if(i%j==0)y=0; if(y==l) //****found**** { d=i-num; for(j=2;j<=sqrt((double)d); j++) if(d%j==0)y=0; if(y==l) {*b=i;*c=d;) }

} } void main() { int mum,b,C; do { printf("\nlnput num:"); scanf("%d",&num);) while(num%2); ’ proc(num,&b,&c); printf("\n\n%d=%d+%d\n",num,b,c); } } 请编写函数proc(),其功能是:将str所指字符串中除下标为偶数,同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFG12345,其中字符8的ASCII码值为偶数,所在元素的下标为奇数,所以必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,所以不理应删除。依此类推,最后t所指的数组中的内容应是ACEG。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。 试题程序: #include

C语言循环结构练习测试题带参考答案

第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ? ? ? ? ? 1. ( ( C. ( A. (A。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; } while(!x);

A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 (6)下列语句段中不是死循环的是__C__。 A.i=100; while(1) { i=i%100+1; if(i==20)break; } B.for(i=1;;i++) sum=sum+1; C. { D. ( { } A. C. ( { { COUT< main() { intnum=0; while(num<=2) { num++;

cout< main() { { { } } } ( { ++i; }while(s<15); Cout< main() { inti,j; for(i=4;i>=1;i--) { cout<<"*"; for(j=1;j<=4-i;j++)

2009春江苏省计算机二级C语言试题与答案笔试

江苏省高校计算机等级考试2009年春季考试试题 第一部分计算机基础知识 1. 在下列有关现代信息技术的一些叙述中,正确的是 1 。 A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生 B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件 C.目前所有数字通信均不再需要使用调制解调技术和载波技术 D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘. 2. 最大的10位无符号二进制整数转换成八进制数是 2 .。 A.1023 B.1777 C.1000 D.1024 3. 在下列有关目前PC机CPU的叙述中,错误的是 3 。 A.CPU芯片主要是由Intel公司和AMD公司提供的 B."双核"是指PC机主板上含有两个独立的CPU芯片 C.Pentium 4微处理器的指令系统由数百条指令组成 D.Pentium 4微处理器中包含一定容量的Cache存储器 4. 在下列有关当前PC机主板和内存的叙述中,正确的是 4 。 A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写 B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条 C.内存条上的存储器芯片属于SRAM(静态随机存取存储器) D.目前内存的存取时间大多在几个到十几个ns(纳秒)之间 5. 在下列有关PC机辅助存储器的叙述中,正确的是 5 。 A.硬盘的内部传输速率远远大于外部传输速率 B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度 C.使用USB 2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节 D.CD-ROM的数据传输速率一般比USB 2.0还快 6. 在下列PC机I/O接口中,数据传输速率最快的是 6 。 https://www.wendangku.net/doc/7f18736979.html,B 2.0 B.IEEE-1394 C.IrDA (红外) D.SATA 7. 计算机软件可以分为商品软件、共享软件和自由软件等类型。在下列相关叙述中,错误的是7 。 A.通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的 B.共享软件通常是一种"买前免费试用"的具有版权的软件 C.自由软件的原则是用户可共享,并允许拷贝和自由传播 D.软件许可证是一种法律合同,它确定了用户对软件的使用权限 8. 人们通常将计算机软件划分为系统软件和应用软件。下列软件中,不属于应用软件类型的是8 A.AutoCAD B.MSN C.Oracle D.Windows Media Player 9. 在下列有关Windows 98/2000/XP操作系统的叙述中,错误的是9 。 A.系统采用并发多任务方式支持多个任务在计算机中同时执行 B.系统总是将一定的硬盘空间作为虚拟内存来使用 C.文件(夹)名的长度可达200多个字符 D.硬盘、光盘、优盘等均使用FAT文件系统 10. 在下列有关算法和数据结构的叙述中,错误的是10 。 A.算法通常是用于解决某一个特定问题,且算法必须有输入和输出 B.算法的表示可以有多种形式,流程图和伪代码都是常用的算法表示方法 C.常用的数据结构有集合结构、线性结构、树形结构和网状结构等 D.数组的存储结构是一种顺序结构 11?因特网的IP地址由三个部分构成,从左到右分别代表11 。 A.网络号、主机号和类型号 B.类型号、网络号和主机号 C.网络号、类型号和主机号 D.主机号、网络号和类型号 12?在下列有关ADSL技术及利用该技术接入因特网的叙述中,错误的是12 。 A.从理论上看,其上传速度与下载速度相同 B.一条电话线上可同时接听/拨打电话和进行数据传输

C语言循环结构练习题带答案

第5章循环结构程序设计 5.1 基本知识点 while语句的使用格式和注意事项 do-while语句的使用格式和注意事项 for语句的使用格式和注意事项 break和continue语句在循环语句中的应用 循环结构的嵌套 使用goto语句实现循环结构 穷举法程序设计方法 迭代程序设计方法 5.2 练习题5 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是 D 。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格

第5章循环结构程序设计35 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是__C__。 A. i=100; while (1) { i=i%100+1; if (i==20) break; } B. for (i=1;;i++) sum=sum+1; C. k=0; do { ++k; } while (k<=0); D. s=3379; while (s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是_B___。

相关文档
相关文档 最新文档