文章教程

全国计算机等级考试二级C语言5.5综合自测

8/22/2020 10:24:52 PM 人评论 次浏览

5.5 综合自测

一、选择题

1.以下选项中,能正确表示a≥10或a≤0的关系表达式是(  )。

A.a>=10 ora<=0    B.a>=10|a<=0

C.a>=10&&a<=0    D.a>=10 ||a<=0

2.假定所有变量均已正确定义,下列程序段运行后x的值是(  )。

a=b=c=0;x=35;

if(!a)x--;

else if(b);

if(c)x=3;

else x=4;

A.34    B.4    C.35    D.3

3.以下程序的输出结果为(  )。

#include <stdio.h>

main()

{ int a,b,c=246;

a=c/100% 9;

b=(-1)&&(-1);

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

A.2,1    B.3,2    C.4,3    D.2,-1

4.已知a=1、b=3、c=5、d=5,下列程序段运行后,x的值是(  )。

if(a<b)

if(c<d)x=1;

else

if(a<c)

if(b<d)x=2;

else x=3;

else x=6;

else x=7;

A.1    B.2    C.3    D.6

5.能正确表示ab同时为正或同时为负的表达式是(  )。

A.(a>=0||b>=0)&&(a<0||b<0)  B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)    D.a*b>0

6.以下程序的输出结果是(  )。

#include <stdio.h>

main()

{ int a= -1,b=1;

if((++a<0)&&!(b-- < =0))

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

else

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

A.-11    B.01    C.10    D.00

7.下列关于switch语句和break语句的结论中,正确的是(  )。

A.break语句是switch语句中的一部分

B.在switch语句中可以根据需要使用或不使用break语句

C.在switch语句中必须使用break语句

D.break语句只能用于switch语句中

8.若有定义inta=1,b=0,则执行以下语句后,输出为(  )。

switch(a)

{ case 1:

switch(b)

{ case 0:printf("**0**");break;

case 1:printf("**1**");break;

case 2:printf("**2**");break;

A.**0**    B.**0****2**

C.**0****1****2**    D.有语法错误

9.以下程序的输出结果是(  )。

#include <stdio.h>

main()

{ int x=1,a=0,b=0;

switch(x)

{ case 0: b++;

case 1: a++;

case 2: a++;b++;

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

A.a=2,b=1    B.a=1,b=1    C.a=1,b=0    D.a=2,b=2

10.以下程序的输出结果是(  )。

#include <stdio.h>

main()

{ int a=12,b=5,c= -3;

if(a>b)

if(b<0)c=0;

else c++;

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

A.0    B.1    C.-2    D.-3

11.运行以下程序,如果从键盘输入5,则输出结果是(  )。

#include <stdio.h>

main()

{ int x;

scanf("% d",&x);

if(x-- <5)printf("% d",x);

else printf("% d",x++);

A.3    B.4    C.5    D.6

12.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是(  )。

#include <stdio.h>

main()

{ int x;

scanf("% d",&x);

if(x++ >5)printf("% d",x);

else printf("% d\n",x--);

A.7和5    B.6和3    C.7和4    D.6和4

二、操作题

下列给定程序中,函数fun()的功能是:将大写字母转换为对应的小写字母之后的第5个字母;若小写字母为v~z,使小写字母的值减21。转换后的小写字母作为函数值返回。例如,若形参是字母A,则转换为小写字母f;形参是字母W,则转换为小写字母b。

请改正函数fun()中的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序

#include <stdio.h>

#include <ctype.h>

char fun(char c)

{ if(c> = 'A'&& c< = 'Z')

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

c=c-32;

if(c> = 'a'&& c< = 'u')

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

c=c-5;

else if(c> = 'v'&& c< = 'z')

c=c-21;

return c;

main()

{ char cl,c2;

printf(" \nEnter a letter(A Z):");

cl=getchar();

if(isupper(cl))

{ c2=fun(cl);

printf(" \n \nThe letter % c change to % c\n",cl,c2);

else

printf("\nEnter(A-Z)!\n");

教程类别