C语言历章二级真题.zip
资源文件列表:

C语言历章二级真题/第9章用户自已建立数据类型6月23日.doc 58KB
C语言历章二级真题/二级C语言历年真题汇总__第10章对文件的输入输出有解析.doc 41.5KB
C语言历章二级真题/二级C语言历年真题汇总__第1章2章+第3章程序设计.doc 68.5KB
C语言历章二级真题/二级C语言历年真题汇总__第4章选择+第5章循环结构程序设计-林金珠3月21日.doc 76KB
C语言历章二级真题/二级C语言历年真题汇总__第6章利用数组处理批量数据―有详细解析11月22日.doc 73KB
C语言历章二级真题/二级C语言历年真题汇总__第7章用函数实现模块化程序设计5月20日.doc 65.5KB
C语言历章二级真题/二级C语言历年真题汇总__第8章善于利用指针6月17日.doc 72.5KB
资源介绍:
C语言历章二级真题.zip
全国计算机等级考试二级 C 语言历年真题汇总
第 4 章 选择结构程序设计
2008-04-17 已知字母 A 的 ASCII 代码值为 65,若变量 kk 为 char 型,下列不能正确判断出 kk 中的值为大写字母的表达式
是( )。
A)kk>='A'&& kk<='Z' B)!(kk>='A'||kk<='Z')
C)(kk+32)>= 'a'&&(kk+32)<= 'z' D)isalpha(kk)&&(kk<91) //isalpha 函数检查 kk 是否字母,是返回 1。
答案:B
2008-04-18 当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是( )。
A)(c= =2)||(c= =4)||(c= =6) B)(c>=2&&c<=6)||(c!=3)||(c!=5)
C)(c>=2&&c<=6)&& !(c%2) D)(c>=2&&c<=6)&&(c%2!=1)
答案:B
解析:可以用具体的数来试,如 c=8.
2008-04-19 若变量已正确定义,有下列程序段
int a=3,b=5,c=7;
if(a>b)a=b;c=a;
if(c!=a)c=b;
printf("%d,%d,%d",a,b,c);
其输出结果是( )。
A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7
答案:B
解析:此题主要考 if 语句只管其后一条语句,在这里 if(a>b)a=b; if(3>5)为假,所以 a=b;不执行。
然后接着执行 c=a;得到 c=3。
2008-04-20 有下列程序:
#include <stdio.h>
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0: a++;break;
case 1: b++;break;
}
case 2: a++;b++;break;
case 3: a++;b++;
}
printf("a=%d,b=%d",a,b);
}
程序的运行结果是( )。
A)a=1, b=0 B)a=2, b=2 C)a=1, b=1 D)a=2, b=1
答案:D
解析:break 退出整个 switch 语句。
2008-09-20 有以下程序段
int a,b,c;
a=10; b=50; c=30;
if(a>b)a=b,b=c;c=a;
printf(“a=%d b=%d c=%d ”,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
答案:A
2008-09-28 有以下程序

#include <stdio.h>
main()
{ int x=1,y=2,z=3;
if(x>y)
if(y<z) printf("%d",++z);
else printf("%d",++y);
printf("%d\n", x++ );
printf("%d\n", x);
}
程序的运行结果是
A)331 B)41 C)2 D)1
答案:c
解析:if(y<z) printf("%d",++z);
else printf("%d",++y); 是一条语句
2009-03-17.以下是 if 语句的基本形式: if(表达式) 语句
其中"表达式"
A)必须是逻辑表达式
B)必须是关系表达式
C)必须是逻辑表达式或关系表达式
D)可以是任意合法的表达式
答案:D
解析:如 if(a>b && a>c) 是逻辑表达式、 if(a>b)是关系表达式、 if(2)所有非 0 为真。
2009-03-18.有以下程序
#include <stdio.h>
main()
{ int x; scanf("%d",&x);
if(x<=3) ; else if(x!=10) printf("%d\n",x); }
程序运行时,输入的值在哪个范围才会有输出结果()
A)不等于 10 的整数 B)大于 3 且不等于 10 的整数
C)大于 3 或等于 10 的整数 D)小于 3 的整数
答案:B
解析:if(x<=3) ; 在这是 if 后是空语句,什么也没有执行。
2009-03-19.有以下程序
#include <stdio.h>
main()
{ int a=1,b=2,c=3,d=0;
if (a==1 && b++==2)
if (b==2||c--!=3)
printf("%d,%d,%d\n",a,b,c);
else printf("%d,%d,%d\n",a,b,c);
else printf("%d,%d,%d\n",a,b,c); }
程序运行后输出结果是
A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1
答案:C
解析:c--!=3 在这里没有执行,因为 b!=2 为 3!=2 为真。详看课本 95 页第一条 a&&b&&c 的说明。
2009-09-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;}
答案:C
解析:c=a,a=b,b=c;只是一条语句,而 C 答案 if(a>b) c=a;只管这条语句,不执行,然后接着执行后两个语句。所以
ABD 最后 abc 分别为 123,而 C 最后 abc 为 233.

2009-09-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;
答案:A
2010-03-18 以下选项中与 if(a= =1)a=b; else a++;语句功能不同的 switch 语句是
A)switch(a)
{case 1:a=b;break; default:a++; }
B)switch(a= =1)
{case 0:a=b;break; case 1:a++; }
C)switch(a)
{default:a++;break; case 1:a=b; }
D)switch(a= =1)
{case 1:a=b;break; case 0:a++; }
答案:B
解析:
switch 中语句中的参数是逻辑表达式,那么将根据逻辑表达式的值是假还是真而分别执行 case 0 和 case 1 中的语句。
2010-03-19 有如下嵌套的 if 语句
if (a<b)
if(a<c) k=a; else k=c;
else
if(b<c) k=b; else k=c;
以下选项中与上述 if 语句等价的语句是
A)k=(a<b)?a:b;k=(b<c)?b:c;
B)k=(a<b)?((b<c)?a:b):((b>c)?b:c);
C)k=(a<b)?((a<c)?a:c):((b<c)?b:c);
D)k=(a<b)?a:b;k=(a<c)?a:c
答案:C
2010-09-17 若变量已正确定义,在 if (W)printf(”%d\n”,k);中,以下不可替代 W 的是
A)a<>b+c (没有这个运算符) B)ch=getchar()
C)a==b+c D)a++
答案:A
2010-09-19 若有定义语句 int a, b;double x;则下列选项中没有错误的是
A)switch(x%2) B)switch((int)x/2.0)
{case 0: a++; break; { case 0: a++; break;
case 1: b++; break; case 1: b++; break;
default : a++; b++;} default : a++; b++;}
C)switch((int)x%2) D)switch((int)(x)%2)
{case 0: a++; break; {case 0.0: a++; break;
case 1: b++; break; case 1.0: b++; break;
default : a++; b++;} default : a++; b++;}
答案:C
解析:看课本 103 说明,switch 后面的表达式的类型应为整型(包括字符型)所以 A、B 错。
D 的 case 0.0 错。
2011-03-17 if 语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是
A)必须是逻辑值 B)必须是整数值
C)必须是正数 D)可以是任意合法的数值
答案:D
2011-03-27 有以下程序
#include<stdio.h>