- 相关推荐
2017年计算机等级c语言程序设计试题
一、选择题(每小题1分,共40分)
1、下列选项中非法的字符常量是( )。
A.'\t'
B.'\039'
C.','
D.'\n'
2、下列函数的类型是( )。
fun(double x)
{float y;
y=3*x-4;
return y;
}
A.int
B.不确定
C.void
D.float
3、软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
4、有如下程序:
main()
f int x=23:
do
{printf(”%d”,x——);}
while(!x);
}
该程序的执行结果是( )。
A.321
B.23
C.不输出任何内容
D.陷入死循环
5、已有定义:char C;,程序前面已在命令行中包含ctype.h文件,不能用于判断e中的字符是否为大写字母的表达式是( )。
A.isupper(c)
B.'A'<一c<='Z'
C.'A'<一c&&c<='Z'
D.c<=('z'-32)&&('a'—32)<=c
6、下列叙述中不正确的是( )。
A.在c语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.在c的函数中,最好使用全局变量
C.外部变量可以在函数之间传递数据
D.自动变量实质上是一个函数内部的局部变量
7、定义下列结构体(联合)数组:
struet St
{char name[15];
int age;
)a[10]={”ZHA()”,14,”WANG”,15,”LIU”,16,”
ZHANG”,l7);
执行语句print[(”%d,%c”,a[2].age,*(a[3].name+2))的输出结果为( )。
A.15,A
B.16,H
C.16,A
D.17,H
8、若变量已正确定义为float型,要通过输入语句:seanf(”%f%f%f”,&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是( )。
A.11 22 33
B.11.0,22.0,33.0
C.11.0 22.0 33.0
D.1122
9、以下叙述中正确的是( )。
A.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误地表示
B.C程序由主函数组成
C.C程序由若干函数组成
D.C程序中只允许包含一个函数
10、 C语言中运算对象必须是整型的运算符是( )。
A.%
B./
C.!
D.**
11、 下列关于定点数与浮点数的叙述中错误的是( )。
A.在实数的浮点表示中,阶码是一个整数
B.整数是实数的特例,也可以用浮点数表示
C.实数的补码是其对应的反码在最后一位加1
D.相同长度的浮点数和定点数,前者可表示数的范围要大于后者
12、 表达式'5'-'1'的值是( )。
A.整数4
B.字符4
C.表达式不合法
D.字符6
13、 有以下程序:
#include
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10),*p=a;
printf(”%a\n”,*(p+2));
)
程序的输出结果是( )。
A.3
B.4
C.1
D.2
14、 在C语言中,函数返回值的类型最终取决于( )。
A.函数定义时在函数首部所说明的函数类型
B.return语句中表达式值的类型
C.调用函数时主调函数所传递的实参类型
D.函数定义时形参的类型
15、 下列程序的运行结果是( )。
#includedstdio.h>
void main()
{int s=0,k;
for(k=7;k>1;k--)
{switch(k)
{case 1:
case 4:
case 7:
s++:
break;
case 2:
case 3:
case 6:break;
case 0:
case 5:
s+=2:
break;
))
print[(”S=%d”,s);
}
A.S=3
B.s=4
C.s=5
D.无输出结果
16、 没x为jnt型变量,则执行以下语句后,X的值为( )。
x=10;x=x-=x-X:
A.10
B.20
C.40
D.30
17、 有以下程序:
#include
void WriteStr(char*fn.char*str)
{FILE*fp
fp=fopen(fn,”w”);fputs(str,fp);fclose(fp);)
main()
{ WriteStr(”t1.dat”,”start”);
WriteStr(”t1.dat”,”end”);)
程序运行后,文件t1.dat中的内容是( )。
A.start
B.end
C.startend
D.endrt
18、 若程序中有宏定义行:#define N 100,则以下叙述中正确的是( )。
A.宏定义行中定义了标识符N的值为整数100
B.在编译程序对C源程序进行预处理时用100替换标识符N
C.对C源程序进行编译时用100替换标识符N
D.在运行时用100替换标识符N
19、 合法的八进制数是( )。
A.0
B.028
C.-077
D.01.0
20、 以下选项中不合法的用户标识符是( )。
A._123
B.printf
C.A$
D.Dim
二、程序填空题(共18分)
41、
str是一个由数字和字母字符组成的字符串,由变量num传人字符串长度。请补充函数proc(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组1,b中,函数返回数组bh的长度。
例如.str=”abc123de45f967”.结果为:1234567。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容.仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define M 80
int bb[M];
int proc(char str[].int bh[],int num)
{
int i.n=0;
for(i=0;i {
if( 【1】 )
{
bb[n]=【2】;
n++:
)
return 【3】 ;
}
void main()
{
char str[M];
int num=0.n,i:
printf(”Enter a string:n”);
gets(str);
while(str[num])
num++o
n=proc(str,bb,num);
prinlf(”\nbb=”);
for(i=0;i printf(”%d”,bb[i]);
)
三、程序改错题(共24分)
42、
下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为123456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
//****found****
void proc(1ong s,long t)
{long s1=10;
s/=10:
*t=s;
//****found****
while(s<0)
{ s=s/100;
*t=s*s1+*t;
s1=s1*10:
}
void main()
{long S,t;
system(”CLs”);
printf(”\nPlease enter s:”);
scanf(”%ld”,&s);
proc(s,&t):
printf(”The result is:%ld\\n”,t);
}
【计算机等级c语言程序设计试题】相关文章:
计算机C语言试题及答案07-17
2017计算机二c语言题库试题及答案10-29
计算机二级《C语言》模拟试题及答案10-24
华为C语言上机试题及答案06-27
全国计算机二级c语言题库试题及答案07-19
计算机二级Java语言程序设计考试试题09-06
计算机等级二级C笔试上机题库07-12
华为c语言笔试面试题题库08-16