C语言程序设测试二及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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>后(表示回车),x的值是( B) 。

#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]};

相关文档
最新文档