c语言描述考试答案,c语言期末试题

这是一份完整的C语言期末考试试卷,包括填空、判断、选择、程序填空、改错和设计题等多种题型,覆盖了C语言的基础知识和编程实践。试卷涉及的内容包括但不限于变量、运算符、数据类型、流程控制、数组、函数调用等核心概念,旨在考核学生对C语言的掌握程度。
摘要由CSDN通过智能技术生成

篇一:c语言期末试题

试卷编号:10183

所属语言:Turbo C

试卷方案:fny-13

试卷总分:110分

共有题型:7种

━━━━━━━━━━━━━━

一、填空 共5题 (共计15分)

━━━━━━━━━━━━━━

第1题 (3.0分)

int x=4,y=z=2;z=x==(y=z); 则z的值为【1】。

答案:

1). 0

第2题 (3.0分)

设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是【1】。

答案:

1). 9

第3题 (3.0分)

设x=72,表达式x=(x>=60)的值为【1】。 答案:

1). 1

第4题 (3.0分)

sqrt()函数的原型在头文件【1】中。 答案:

1). math.h

第5题 (3.0分)

int x=2;z=-x+++1; 则z的值为【1】。 答案:

1). -1

━━━━━━━━━━━━━━

二、判断 共5题 (共计10分) ━━━━━━━━━━━━━━

第1题 (2.0分)

若有说明int c;则while(c=get));是正确的C语句。 答案:Y

第2题 (2.0分)

结构体类型只有一种。

答案:N

第3题 (2.0分)

若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。

答案:N

第4题 (2.0分)

参加位运算的数据可以是任何类型的数据。

答案:N

第5题 (2.0分)

若有 int i=10,j=2;则执行完i*=j+8;后的值为28。 答案:N

━━━━━━━━━━━━━━━━━

三、单项选择 共10题 (共计10分)

━━━━━━━━━━━━━━━━━

第1题 (1.0分)

若有下列定义,则对a数组元素地址的正确引用是()。 int a[5],*p=a;

A:*(p+5)

B:*p+2

C:*(a+2)

D:*&a[5]

答案:C

第2题 (1.0分)

在C语言的函数中,下列正确的说法是()。

A:必须有形参

B:形参必须是变量名

C:可以有也可以没有形参

D:数组名不能作形参

答案:C

第3题 (1.0分)

若有说明:int a[3][4];则数组a中各元素()。

A:可在程序的运行阶段得到初值0

B:可在程序的编译阶段得到初值0

C:不能得到确定的初值0

D:可在程序的编译或运行阶段得到初值0

答案:C

第4题 (1.0分)

设C语言中,int类型数据占2个字节,则short类型数据占()。 A:1个字节

B:2个字节

C:4个字节

D:8个字节

答案:B

第5题 (1.0分)

若变量a与i已正确定义,且i已正确赋值,合法的语句是()。 A:a==1

B:++i;

C:a=a++=5;

D:a=int(i);

答案:B

第6题 (1.0分)

若有说明:int a[10];则对a数组元素的正确引用是()。 A:a[10]

B:a[3,5]

C:a(5)

D:a[10-10]

答案:D

第7题 (1.0分)

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,值是()。

A:-3

B:9

C:-12

D:6 a的

答案:C

第8题 (1.0分)

若有说明:int *p,m=5,n;以下正确的程序段是()。 A:p=&n;scanf("%d",&p);

B:p=&n;scanf("%d",*p)

C:scanf("%d",&n);*p=n;

D:p=&n;*p=m;

答案:D

第9题 (1.0分)

以下叙述中不正确的是()。

A:C语言中的文

答案:D

第10题 (1.0分)

经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在 微机上的值分别为()。

char x=65;

float y=7.3;

int a=100;

double b=4.5;

A:2,2,2,4

B:1,2,2,4

C:1,4,2,8

D:2,4,2,8

答案:C

━━━━━━━━━━━━━━━━

四、多项选择 共5题 (共计10分)

━━━━━━━━━━━━━━━━

第1题 (2.0分)

以下对二维数组a进行正确初始话的是()。

A:static char word[]=Turbo\0;

B:static char word[]={T,u,r,b,o,\0};

C:static char word[]={"Turbo\0"};

D:static char word[]="Turbo\0";

答案:BCD

第2题 (2.0分)

以下描述正确的是()。

A:调用函数时,实参可以是表达式

B:调用函数时,实参与形参可以共用内存单元 C:调用函数时,将为形参分配内存单元

D:调用函数时,实参与形参的类型必须一致

答案:ACD

第3题 (2.0分)

continue语句功能正确的描述是() A:终止当前所在的循环

B:结束本轮循环,开始下一轮循环 C:跳过循环体下面的语句

D:只能用在3种循环语句的循环体中

答案:BCD

第4题 (2.0分)

有说明语句char str[]={"football"};正确的描述是() A:数组str的长度是9

B:strlen(str)的值是8

C:str[4]的值是98

D:str[8]的值是0

答案:ABCD

第5题 (2.0分)

下列中是C语言的合法标识符的有() A:good_morning

B:main

C:stdio.h

D:8abc

答案:AB

━━━━━━━━━━━━━━━━

五、程序填空 共3题 (共计15分) ━━━━━━━━━━━━━━━━

第1题 (5.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:用函数调用方式,实现字符串的复制。

-------------------------------------------------------*/

void string_copy(char *str_from, char *str_to) {

int i=0;

/***********SPACE***********/

for(; (*(【?】)=*(str_from+i))!=\0; i++) ; }

main()

{

static char array_str1[20]="I am a teacher."; char array_str2[20];

/***********SPACE***********/

【?】(array_str1, array_str2);

/***********SPACE***********/

【?】("array_str2=%s\n",array_str2);

}

答案:

1). str_to+i 或 i+str_to

2). string_copy

3). printf

第2题 (5.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数。用输入零来结束输入,程序中用变量i统计大于 零的整数个数,用变量j统计小于零的整数个数。

-------------------------------------------------------*/

#include

void main(void)

{

int n,i,j;

printf("Enter INT number,with 0 to end\n"); i=j=0;

scanf("%d",&n);

while(n!=0)

{

/***********SPACE***********/ if(n>0) i=【?】;

/***********SPACE***********/ if(n<0) j=【?】;

/***********SPACE***********/ scanf("%d",【?】);

}

printf("i=%4d\nj=%4d\n",i,j);

}

答案:

1). i + 1 或 i+1 或 1+i 或 1 + i

2). j+1 或 1+j 或 1 + j 或 j + 1

3). &n

第3题 (5.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:输入字符串,再输入一个字符,将字符串中与输入字符相 同的字符删除。

-------------------------------------------------------*/

#include "stdio.h"

void fun(char a[],char c)

{

int i,j;

/***********SPACE***********/

for(i=j=0; 【?】;i++)

if(a[i]!=c) a[j++]=a[i];

/***********SPACE***********/

【?】;

}

void main(void)

{

char a[20],cc;

gets(a);

/***********SPAC

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值