C语言程序设测试二及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
期末考试试题及其答案
一、单项选择题(本大题共20题,每题1 分,共20分)
1、一个C程序的执行是从( A)。
A本程序的main函数开始,到main函数结束
B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C本程序的main函数开始,到本程序文件的最后一个函数结束
D本程序文件的第一个函数开始,到本程序main函数结束
2、以下不正确的C语言标识符是( D)
A、ABC
B、abc
C、a_bc
D、ab.c
3、一个C语言程序是由( B )
A、一个主程序和若干子程序组成
B、函数组成
C、若干过程组成
D、若干子程序组成
4、以下能对一维数组a进行初始化的语句是: ( C)
A. int a[5]=(0,1,2,3,4,)
B. int a(5)={}
C. int a[3]={0,1,2}
D. int a{5}={10*1}
5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( C)
A、int
B、float
C、double
D、不确定
6、C语言中函数返回值的类型是由(A)决定的.
A、函数定义时指定的类型
B、return语句中的表达式类型
C、调用该函数时的实参的数据类型
D、形参的数据类型
7、有如下程序,输入数据:12345M678<cR>后(
#include
main(){
int x;
float y;
scanf("%3d%f",&x,&y);
}
A、12345
B、123
C、45
D、345
8、设有以下说明语句:
typedef struct stu
{ int a;
float b;
} stutype;
则下面叙述中错误的是(D)。
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名
9、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: (D)
A、p=q
B、*p=*q
C、n=*q
D、p=n
10、已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确
描述是( B) .
A、相同
B、x大于y
C、x小于y
D、以上答案都不对
11、下列代码输出的是( C)
main()
{
int a[5]={1,2,3,4,5};
int *ptr = (int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));
}
A、2,3
B、2,4
C、2,5
D、输出错误
12、有以下程序
main()
{ int a=1, b=3, c=5;
int *p1=&a, *p2=&b, *p=&c;
*p =*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是( C)
A、1
B、2
C、3
D、4
13、有以下程序段
#include
int main()
{ int x[] = {10, 20, 30};
int *px = x;
printf("%d,", ++*px); printf("%d,", *px);
px = x;
printf("%d,", (*px)++); printf("%d,", *px);
px = x;
printf("%d,", *px++); printf("%d,", *px);
px = x;
printf("%d,", *++px); printf("%d\n", *px);
return 0;
}
程序运行后的输出结果是( A )
A、11,11,11,12,12,20,20,20
B、20,10,11,10,11,10,11,10
C、11,11,11,12,12,13,20,20
D、20,10,11,20,11,12,20,20
14、如果在C程序中有main(int argc,char*argv[]),那么( D)是指命令行中的参数个数。
A、argv
B、argv[]
C、argc,argv[]
D、argc
15、以下关于typedef的叙述不的是(B)
A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型
C.用typedef只是将已存在的类型用一个新的名称来代表D.用typedef便于程序的通用
16、下面程序的运行结果是( C)
#include
main()
{int num=0;
while(num<=2)
{num++;
printf(“%d ,num);
}
}
A、 1
B、 1 2
C、 1 2 3
D、 1 2 3 4
17、下面代码能通过编译的是:( A )
A)int main()
{
int a[3]={1,2,3};
int *b[3]={&a[1],&a[2],&a[3]};
int **p = b;
return 0;
}
B)int main()
{
int a[3]={1,2,3};
int *b[3]={a[1],a[2],a[3]};
int **p = b;
return 0;
}
C)int main()
{
int a[3]={1,2,3};
int *b[3]={&a[1],&a[2],&a[3]};
int *p = b;
return 0;
}
D)int main()
{
int a[3]={1,2,3};
int *b[3]={&a[1],&a[2],&a[3]};