期末结课试题类型包括:单项选择题、多项选择题、判断题,总分100分。
1单选(2分)
一个C语言程序的执行从()。
A.本程序的第一个函数开始,到本程序的main函数结束
B.本程序的main函数开始,到本程序的main函数结束
C.本程序的main函数开始,到本程序的最后一个函数结束
D.本程序的第一个函数开始,到本程序的最后一个函数结束
2单选(2分)
在VC++环境中,系统约定C语言源程序的默认文件扩展名为()。
A..c++
B..bcc
C..cpp或.c
D..vcc
3单选(2分)
在VC++6.0中,运行一个C语言程序的步骤是()。
A.编译、连接、编辑、运行
B.编辑、编译、连接、执行
C.编译、编辑、连接、执行
D.编辑、连接、编译、执行
4单选(2分)
算法的三种基本结构是()。
A.顺序结构、模块结构、选择结构
B.模块结构、选择结构、循环结构
C.顺序结构、选择结构、循环结构
D.顺序结构、循环结构、模块结构
5单选(2分)
下列字符串中可以用作C语言标识符的是()。
A._123
B.goto
C.2009var
D.test-2009
6单选(2分)
在C语言中,自定义的标识符()。
A.不能使用关键字并且区分大小写
B.能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且不区分大小写
7单选(2分)
inta=2.8*6;整型变量a定义后赋初值的结果是()。
A.18
B.12
C.17
D.16
8单选(2分)
能正确表示逻辑关系“a大于等于10或a不大于0”的C语言表达式是()。
A.a>=10&&a<=0
B.a>=0ora<=10
C.a>=10ora=0
D.a>=10||a<=0
9单选(2分)
在C语言中,表示一条语句结束的标号是()。
A.“;”
B.“#”
C.“//”
D.“}”
10单选(2分)
运行以下程序,当输入52时,输出结果为()。
#include<stdio.h>
intmain()
{
inta,b,c;
scanf("%d%d",&a,&b);
if(a<b)c=a;
elsec=b;
printf("%d\n",c);
return0;
}
A.25
B.2
C.52
D.5
11单选(2分)
已知intx=1,y=0;执行下面程序段后,y的值为()。
if(x)
{if(x>0)y=1;}
elsey=-1;
A.不确定
B.1
C.-1
D.0
12单选(2分)
若从键盘输入58,则以下程序输出的结果是()。
#include<stdio.h>
intmain()
{
inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
return0;
}
A.59
B.58
C.585858
D.60
13单选(2分)
判断字符型变量ch是否为大写英文字母,应使用表达式()。
A.'A'<=ch<='Z'
B.ch>='A'&ch<='Z'
C.ch>='A'&&ch<='Z
D.ch<='A'||ch>='Z'
14单选(2分)
执行以下语句
intn;
scanf("%d",&n);
switch(n)
{case1:
case2:printf(“1”);
case3:
case4:printf(“2”);break;
default:printf(“3”);
}
时,若键盘输入1,则屏幕显示()。
A.12
B.1
C.2
D.3
15单选(2分)
设有程序段
intk=10;
while(k!=0)k=k-1;
printf("%d",k);
执行上列程序段后的输出结果是()。
A.2
B.0
C.1
D.3
16单选(2分)
以下程序执行后,程序的输出是()。
#include<stdio.h>
intmain()
{inti,sum=0;
for(i=1;i<=3;i++)
sum=sum+i;
printf("%d",sum);
return0;
}
A.5
B.1
C.0
D.6
17单选(2分)
C语言程序能够在不同操作系统下编译、运行,说明C语言具有良好的()。
A.移植性
B.操作性
C.兼容性
D.适应性
18单选(2分)
#include<stdio.h>
intmain()
{printf("OneWorld");
printf("OneDream");
return0;
}
A.OneWorldOneDream
B.OneDream
C.OneWorld
D.OneWorld
OneDream
19单选(2分)
下列程序的运行结果是()。
#include<stdio.h>
intmain()
{
inta=2,b=5;
printf("a="%d,b=%d\n",a,b);
return0;
}
A.a=%2,b=%5
B.a=d,b=d
C.a=2,b=5
D.a=%d,b=%d
20单选(2分)
以下程序完成的功能是:()
#include<stdio.h>
intmain()
{
inta,b,sum;
scanf("%d%d",&a,&b);
sum=a+b;
printf("a+b=%d",sum);
return0;
}
A.输入2个数,输出它们的积
B.输入2个数,输出它们的差
C.输入2个数,输出它们的商
D.输入2个数,输出它们的和
21单选(2分)
变量的指针,其含义是指该变量的()。
A.地址
B.值
C.名
D.一个标志
22单选(2分)
以下程序的运行结果是()
#include<stdio.h>
intgmain()
{
inta,*pa;
pa=&a;
a=6;
*pa=8;
printf("%d",a);
return0;
}
A.6
B.8
C.不确定
D.0
23单选(2分)
在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型常量或整型表达式
B.任何类型的表达式
C.整型表达式
D.整型常量
24单选(2分)
若有说明:inta[10];则对a数组元素的正确引用是()。
A.a(5)
B.a[10]
C.a[9-10]
D.a[3]
25单选(2分)
以下能对一维数组a进行正确初始化的语句是()。
A.inta[10]=(0,0,0,0,0);
B.inta[]={0};
C.inta[10]=”10*1”;
D.inta[10]={};
26单选(2分)
以下程序的输出结果是()。
#include<stdio.h>
intmain()
{
inti,a[5]={0,1,2,3,4};
for(i=0;i<=4;i++)
printf("%d,",a[i]+1);
return0;
}
A.0,1,2,3,4
B.3,4,5,6,7
C.1,2,3,4,5
D.2,3,4,5,6
27单选(2分)
以下对一维整型数组a的正确说明是()。
A.intn=10,a[n];
B.intn;inta[n];
C.inta[10];
D.inta(10);
28单选(2分)
以下函数的功能是()。
longf(intn)
{
inti;
longp;
for(i=1;i<=n;i++)
p=p*i;
returnp;
}
A.不确定
B.求1+2+3...+n的累加和。
C.求n个数的平均数
D.求n!。
29单选(2分)
有以下程序:
#include<stdio.h>
voidfun(inta,intb,intc)
{
a=456,b=567,c=678;
}
intmain()
{
intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
}
输出结果是()。
A.456,567,789
B.不确定
C.567,786,890
D.10,20,30
30单选(2分)
以下叙述中不正确的是()。
A.在以下定义是正确的:#definePI3.1415926
B.预处理命令行都必须以#号开始
C.宏替换不占用运行时间,只占编译时间
D.在程序中凡是以#号开始的语句行都是预处理命令行
31单选(2分)
设有以下说明语句
structstu
{inta;
floatb;
}stutype;
则下面的叙述不正确的是()。
A.a和b都是结构体成员名
B.stutype是用户定义的结构体类型名
C.struct是定义结构体类型的关键字
D.structstu是用户定义的结构体类型
32单选(2分)
若有以下结构体,则正确的定义或引用的是()。
structTest
{
intx;
inty;
}vl;
A.Testv2;
v2.x=10;
B.structTestv2={10};
C.Test.x=10;
D.structv2;
v2.x=10;
33单选(2分)
以下程序的运行结果是()。
#include<stdio.h>
intmain()
{
inta,i=1;
a=0;
switch(i)
{
case0:
case3:a+=2;
case1:
case2:a+=3;
default:a+=5;
}
printf("%d\n",a);
return0;
}
A.8
B.2
C.3
D.5
34单选(2分)
#include<stdio.h>
intmain()
{inta=5,b=0,c=0;
if(a==b+c)printf(“***\n");
elseprintf("$$$\n");
return0;
}
以上程序的运行结果是()。
A.可以通过编译但不能通过连接
B.输出$$$
C.输出***
D.有语法错不能通过编译
35单选(2分)
以下程序的运行结果是()。
#include<stio.h>
intmain()
{
inti,a[5];
for(i=0;i<=4;i++)
a[i]=i+1;
for(i=4;i>=0;i--)
printf("%d",a[i]);
printf("\n");
return0;
}
A.编译错误,程序无法运行
B.54321
C.43210
D.012345
36单选(2分)
以下程序的功能是()。
#include<stdio.h>
intmain()
{
charch;
scanf("%c",&ch);
if(c>='A'&&c<='Z')ch=ch+32;
printf("%c",ch);
return0;
}
A.将输入的大写字母转换成小写字母并输出,如果输入其它字符则原样输出。
B.将输入的大写字母转换成小写字母并输出。
C.将输入的小写字母转换成大写字母并输出。
D.将输入的小写字母转换成大写字母并输出,如果输入其它字符则原样输出。
37单选(2分)
#include<stdio.h>
intmain()
{
inta,b,sum;
sum=a+b;
scanf("%d%d",&a,&b);
printf("a+b=%d",sum);
return0;
}
运行以上程序,输出结果是()。
A.连接时出现警告,输出随机数。
B.不确定
C.编译错误,无法继续运行。
D.需要输入a,b的值
38单选(2分)
以下()不属于VC++6.0的开发过程。
A.创建工程
B.使用C语言库函数
C.创建C语言源程序文件
D.编译源程序
39多选(2分)
在C语言函数中,当函数参数是地址时,则函数参数的传递方式是()。
A.传值方式
B.将实参的地址传递给形参的地址,这样在函数中可以通过地址改变实参的值。
C.是双向传递,即实参的值可以传递给形参,形参的值也可以传递给实参。
D.传址方式
40多选(2分)
C语言中,必须用一对打大括号{}括起来的程序段是()。
A.当if语句的分支有多条语句,或者循环体语句有多条语句时
B.函数的函数体
C.switch语句中的case标号语句
D.复合语句
41判断(2分)
continue语句可以使程序的执行跳出循环体。
A.B.42判断(2分)
如果给定循环次数,首选for语句编写程序,如果循环次数不确定,需要通过其它条件控制循环,通常选while语句编写程序。如果循环体至少需要执行一次,则选择do-while语句。
A.B.43判断(2分)
在C语言中定义数组时,数组元素的个数必须是确定的整数个。
A.B.44判断(2分)
在C语言中,二维数组有两个下标,一般第一个代表行,第二个代表列。
A.B.45判断(2分)
C语言中的函数必须有返回值。
A.B.46判断(2分)
在C语言中,全局变量是可以被本程序中所有函数访问的变量。
A.B.47判断(2分)
在C语言中,静态变量在定义它的函数调用结束后,其值可以保留。
A.B.48判断(2分)
C语言中if语句的嵌套、ifelse-if语言、switch语句都可以完成多分支结构程序设计,且大多数情况下,它们可以互换。
A.B.49判断(2分)
全局变量是在函数体外定义的变量,可以被定义位置后的所有函数访问。
A.B.50判断(2分)
在C语言中,条件编译可以按不同的条件去编译不同的程序段,因而对一段程序产生不同的目标代码。