最新c语言程序设计试卷及答案(A)

最新c语言程序设计试卷及答案(A)
最新c语言程序设计试卷及答案(A)

《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷

专业班级姓名学号

题号一二三四五六七八合计得分

评卷人

(考生注意:考试时间为120分钟。答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)

一、单项选择题(每小题2分,共40分)

1.在一个C语言程序中,有并且只能有一个( )函数。

A. main函数

B.自定义函数

C.外部函数

D.内部函数

2.一个C语言程序,总是从()函数开始执行。

A. main函数

B.自定义函数

C.外部函数

D.内部函数

3.下列标识符中,不能用作变量名的是( )。

A. _1234_

B. _1_2

C. int_2_

D. 2_int_

4.下列字符常量不合法的是( )。

A. ‘2’

B. ‘\t’

C. ‘ab’

D. ‘ \n’

5.执行以下语句后的输出结果为( )。

int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);

A. x=13.6,y=3.600000

B. x=13,y=3.600000

C. x=13,y=3

D. x=13,y=3.6

6.以下哪种变量类型在C语言中不存在( )。

A. 整型变量

B.实型变量

C. 字符串变量

D.字符变量

7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。

A. 1

B. 2

C. 3

D. 0

8.下面语句执行后输出结果为( )。

int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}

A. 0

B.1

C. 3

D. 4

9. 下面语句执行后输出结果为( )。

int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}

A. 10,10,10

B. 10,9,11

C. 9,10,11

D. 11,10,9

10.以下选项中不是C语句的是( )。

A. {int i; i++; printf("%d\n", i); }

B. ;

C. a=5,c=10

D. { ; }

11.以下程序的输出结果是( )。

main( )

{ int x=2,y=-1,z=2;

if( x

if(y<0) z=0;

else z=z+1;

printf(“%d”,z); }

A. 0

B. 1

C. 2

D. 3

12.不能表达:x为奇数时表达式为“真”,偶数时表达式为“假”的表达式是( )。

A. x%2= =1

B. !(x%2= =0)

C. !(x%2)

D. x%2

13.以下程序段中while语句的循环次数是( )。

int i=0;while(i=1) {i++;}

A.无限次

B. 有语法错误,不能执行

C. 一次也不执行

D. 执行一次

14.假设a,b均为字符数组以下正确的输入语句是( )。

A.gets(a,b);

B. scanf(“%s%s”,a,b);

C. scanf(“%s%s”,&a,&b);

D.gets(“a”); gets(“b”);

15.若有定义:int a,*p; 则以下正确的赋值表达式是 ( )。

A. p=&a

B. p=a

C. *p=&a

D. *p=*a

16.以下函数调用语句中,func(a+b,c-d+100);含有的实参个数是( )。

A. 1

B. 2

C. 4

D. 5

17.有以下定义:struct person{char name[9]; int age;}

struct person class[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16,};

则下面能输出字母M的语句是( )。

A. printf(“%c\n”,class[3].name);

B. printf(“%c\n”,class[3].name[1]);

C. printf(“%c\n”,class[2].name[1]);

D. printf(“%c\n”,class[2].name[0]);

18.下列关于break和continue语句的叙述正确的是()。

A.都可以出现在程序的任何位置

B.break语句可以出现在循环体或switch语句中

C. continue语句可以出现在循环体或switch语句中

D.两者必须配对使用

19.用作累加器和累乘器的变量应该赋初始值为()和()。

A.0 0

B.0 1

C.1 0

D.1 1

20.下列语句()可以实现变量a与b的数值交换。

A.{a=b;b=a;}

B.{t=a;b=a;a=t;} C{t=a;a=b;b=t;}. D.以上都正确

二、填空(每空1分,共20分)

1. C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。

2. 表达式

3.5+1/2+56%10的结果为_____。

3. C语言中的三种逻辑运算符分别是_____、_____、_____。

4. 填空完成以下计算s=1+1/2+1/3+……+1/10的程序

main( )

{ int n; float s=1.0;

for(n=10; _____; _____ )

s=s+_____; printf(“%f”,s);}

5. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。

void sort(int b[],int n)

{ int i,j,t;

for(i = 0;i

for(_____;j

if(b[i]_____b[ j])

{t = b[i];_______;b[ j]=t;}}

main()

{ int a[]={5,8,6,2,7,4,1,3};

int i;

sort(a,8);

for(i = 0;i<8;i ++ )

printf(“﹪5d”,a[i]);

printf(“\ n”);}

6. printf("%5.3f\n",123456.12345);输出为_____。

7. 存储字符串“program”的字符数组至少需要____个元素。

8指针变量可以加减一个整数,例如:_______________;指针变量可以有空值,例如_____________________________________________________。

9以下程序从键盘输入10个学生的有关数据,然后把它们转存到磁盘文件上去。#include

#define SIZE 10

struct Student_type <-------------------

{ char name[10]; 程

int num; 序

int age; 段

char addr[15]; 1

}stud[SIZE]; <-----------------

void save( ) <------------------- { FILE *fp; int i;

if((fp=fopen("stu.dat","wb"))==NULL) 程

{ printf("cannot open file\n"); 序return; 段} 2

for(i=0;i

if(fwrite(&stud[i],sizeof(struct Student_type),1,fp)!=1)

printf("file write error\n");

fclose(fp);

} <------------------- int main() <------------------- { int i;

printf(“enter d ata of students:\n"); 程for(i=0;i

} <------------------- 请回答问题:程序段1完成的功能是___________________________________;

程序段2完成的功能是___________________________________;

程序段3完成的功能是___________________________________。

三、程序阅读(每小题5分,共30分)

1. 执行以下程序:

main( )

{ int i,j,k,t;

相关主题
相关文档
最新文档