历年c语言考试题及答案_第1页
历年c语言考试题及答案_第2页
历年c语言考试题及答案_第3页
历年c语言考试题及答案_第4页
历年c语言考试题及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

历年c语言考试题及答案一、选择题(8题,每题3分,共24分)

1.以下哪个语句在C语言中是合法的?

A.int3x=10;

B.floatx=y+5;

C.voidmain(){intx=10;}

D.char'a'=97;

2.在C语言中,以下哪个是正确的变量命名方式?

A.2variable

B._variable

C.var@able

D.-variable

3.以下哪个运算符在C语言中表示取模?

A.%

B./

C.*

D.|

4.以下哪个语句用于在C语言中声明一个常量?

A.intconstx=10;

B.floatx=10;

C.voidx=10;

D.charx='A';

5.在C语言中,以下哪个函数用于输入数据?

A.printf()

B.scanf()

C.putchar()

D.gets()

6.以下哪个语句用于在C语言中声明一个数组?

A.intarr[5];

B.float*arr;

C.voidarr();

D.chararr='A';

7.在C语言中,以下哪个关键字用于定义一个结构体?

A.struct

B.union

C.enum

D.class

8.以下哪个语句用于在C语言中声明一个指针?

A.int*ptr;

B.floatptr;

C.voidptr();

D.charptr='A';

二、(一)多项选择题(5题,每题4分,共20分)

1.以下哪些是C语言的基本数据类型?

A.int

B.float

C.char

D.string

E.double

2.以下哪些语句可以正确地声明一个函数?

A.voidfunc();

B.intfunc(intx);

C.floatfunc();

D.voidfunc(intx,floaty);

E.int*func();

3.以下哪些运算符在C语言中是合法的?

A.&&

B.||

C.!!

D.==

E.!=

4.以下哪些语句可以正确地声明一个结构体变量?

A.structstudents1;

B.struct{intx;floaty;}s2;

C.structstudent*s1;

D.structstudent{intx;floaty;}s3;

E.structstudent={10,5.5};

5.以下哪些语句可以正确地声明一个指针变量?

A.int*ptr;

B.float*ptr;

C.void*ptr;

D.char*ptr;

E.intptr;

(二)判断题(5题,每题2分,共10分)

1.C语言中的main函数是程序执行的入口点。()

2.C语言中的数组可以动态分配内存。()

3.C语言中的结构体可以嵌套定义。()

4.C语言中的指针可以指向任何类型的数据。()

5.C语言中的常量在编译时会被替换为其对应的值。()

三、(一)填空题(5题,每题4分,共20分)

1.在C语言中,用于输出数据的函数是______。

2.在C语言中,用于输入数据的函数是______。

3.在C语言中,用于声明一个常量的关键字是______。

4.在C语言中,用于声明一个数组的语句是______。

5.在C语言中,用于声明一个指针的语句是______。

(二)计算题(4题,每题5分,共20分)

1.写一个C语言程序,声明一个整型变量x,赋值为10,然后输出x的值。

2.写一个C语言程序,声明一个浮点型变量y,赋值为5.5,然后输出y的值。

3.写一个C语言程序,声明一个字符型变量c,赋值为'a',然后输出c的值。

4.写一个C语言程序,声明一个指向整型的指针ptr,并将其指向变量x,然后输出ptr所指向的值。

四、综合题(2题,每题10分,共20分)

1.写一个C语言程序,声明一个结构体student,包含姓名、年龄和成绩三个成员,然后声明一个结构体变量并初始化,最后输出该变量的所有成员值。

2.写一个C语言程序,声明一个数组arr,包含5个整型元素,然后使用循环遍历数组并输出每个元素的值。

五、材料分析题(2题,每题12分,共24分)

1.分析以下C语言代码的功能:

#include<stdio.h>

intmain(){

intx=10,y=20;

int*ptr1=&x,*ptr2=&y;

printf("x=%d,y=%d\n",*ptr1,*ptr2);

*ptr1=20;

printf("x=%d,y=%d\n",*ptr1,*ptr2);

return0;

}

2.分析以下C语言代码的功能:

#include<stdio.h>

structpoint{

intx;

inty;

};

intmain(){

structpointp1={3,4},p2={1,2};

structpoint*ptr=&p1;

printf("p1.x=%d,p1.y=%d\n",ptr->x,ptr->y);

ptr=&p2;

printf("p2.x=%d,p2.y=%d\n",ptr->x,ptr->y);

return0;

}

答案部分:

一、选择题

1.C

2.B

3.A

4.A

5.B

6.A

7.A

8.A

二、(一)多项选择题

1.A,B,C,E

2.A,B,D

3.A,B,D,E

4.A,B,D

5.A,B,C,D

(二)判断题

1.√

2.×

3.√

4.√

5.√

三、(一)填空题

1.printf()

2.scanf()

3.const

4.intarr[5];

5.int*ptr;

(二)计算题

1.

#include<stdio.h>

intmain(){

intx=10;

printf("x=%d\n",x);

return0;

}

2.

#include<stdio.h>

intmain(){

floaty=5.5;

printf("y=%f\n",y);

return0;

}

3.

#include<stdio.h>

intmain(){

charc='a';

printf("c=%c\n",c);

return0;

}

4.

#include<stdio.h>

intmain(){

intx=10;

int*ptr=&x;

printf("Valuepointedbyptr=%d\n",*ptr);

return0;

}

四、综合题

1.

#include<stdio.h>

structstudent{

charname[50];

intage;

floatscore;

};

intmain(){

structstudents1={"Alice",20,90.5};

printf("Name:%s,Age:%d,Score:%.2f\n",,s1.age,s1.score);

return0;

}

2.

#include<stdio.h>

intmain(){

intarr[5]={1,2,3,4,5};

inti;

for(i=0;i<5;i++){

printf("arr[%d]=%d\n",i,arr[i]);

}

return0;

}

五、材料分析题

1.该代码声明了两个整型变量x和y,并分别赋值为10和20。然后声明了两个指向整型的指针ptr1和ptr2,分别指向x和y。接着输出x和y的值,然后将ptr1指向的值改为20,再次输出x和y的值。输出结果如下:

x=10,y=20

x=20,y=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论