大一c语言期末考试题_第1页
大一c语言期末考试题_第2页
大一c语言期末考试题_第3页
大一c语言期末考试题_第4页
大一c语言期末考试题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

大一c语言期末考试题(含答案)一、单项选择题(每小题2分,共40分)将正确选项涂写在答题纸相应位置上。

1、下列定义变量的语句中,错误的是()A、int_intB、doubleint_C、charForD、floatUS$2.对于基类型相同的两个指针变量,能够进行运算的是____

A、=B、*C、/D、+

3.下面程序执行后,输出结果为____

A、-1,1,0B、0,1,1C、0,2,1D、0,2,0

main()

{inta=-1,b=1,c;

c=a++||++b;

printf("%d,%d,%d\n",a,b,c);

}

4.在下列标识符中,哪个是不合法的____

A、a+bB、_321C、maxD、name

5.设int型的数据长度为2个字节,则unsignedint型数据的取值范围是____

A、0~28-1B、0~216-1C、-215~215-1D、-28~28-1

6.以下叙述正确的是____

A、在C程序中,可以有两个以上的main函数。

B、在编译C程序时,可发现注释中的拼写错误。

C、C程序的每行可以书写多条语句。

C、scanf和printf是C语言提供的输入输出语句。

7.以下对C语言函数的描述中,正确的是____

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

B、函数的定义可以是嵌套

C、函数必须有返回值

D、所有函数必须在同一个程序文件中定义

8.在C语言中,函数返回值的类型由____决定。

A、调用函数时临时决定B、return语句中的表达式类型

C、调用函数的主调函数类型D、定义函数时所指定的函数类型9.正确的赋值语句是____

A、a=2+(b=1);B、a=+b=3C、a=b=cD、y=int(x)

10.下列程序的运行结果是____

A、10B、2*5=10C、a*b=10D、2*5=a*b

#include〈stdio.h〉

main()

{inta=2,b=5;

printf("a*b=%d\n",a*b);

}

11.下面程序片段执行后,y的值为____

A、2B、0C、6D、4

intx=2,y=0;

y=x;

if(x<5)y=y+2;

x=6;

12.以下程序的输出结果是____

A、10B、11C、12D、13

#defineMA(x)x*(x+3)

main()

{inta=1,b=2;

printf("%d\n",MA(a+b));

}

13.正确的数组定义是____

A、chara[]={'A','B','C','\0'};B、inta[3]={1,2,3,4,5};

C、chara="ABC\0";D、inta[]="ABC";

14.设有数组定义:floata[]={1,2,3,4,5};则数组a所占的内存空间为____

A、10个字节B、20个字节C、30个字节D、40

15.设有数组定义:inta[3];则正确的赋值为____

A、a[3]=5;B、a=1,2,3;C、a[0]=3;D、a={1,2,3};

16.下列程序执行后的输出结果是()

A、abcd0youB、abcdC、youD、abcdeyou

main()

{chararr[10]="abcde";

strcat(arr,"you");

arr[4]='\0';

printf("%s\n",arr);

}

17.有如下程序段

int*p1,a=10,**p2;

p1=&a;p2=&p1;**p2=a+10;

执行该程序段后,a的值为____

A、编译出错B、20C、随机数D、10

18.设有以下定义:

inta[4][5]={1,2,3,4,5,,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

int(*p)[5]=a;

则下列能够正确表示数组元素a[2][3]的表达式是____

A、*((*p+3)[2])B、*(*(*p+6))C、*(*(a+2)+3)D、*(*p+2)+3

19.下列程序的输出结果是____

A、3B、4C、5D、6

structabc

{inta,b;};

main()

{structabcx[2]={{1,2},{3,4}};

intt;

t=x[0].a*x[1].b;

printf("%d\n",t);

}

20.对于C语言的文件,正确的结论是____

A、文件操作必须先打开文件B、文件的存取只能是随机方式

C、文件又由数据行组成D、只能处理二进制文件选择题答案:1D2A3B4A5B6C7A8D9A10C11D12D13A14B15C16B17B18C19B20A

二、填空题(1~5题,每空2分,6~7题,每空3分,共25分)

1.设有以下变量定义,并已赋确定的值

charw;intx;floaty;doublez;

则表达式:w*x+z-y所求值的数据类型位__________。

2.在使用TurboC调试C程序时,按F9键是指_____________。

3.如果一个函数只能被本文件中其他函数所调用,它称为____________。

4.在对一个文件读写之前要_____________。

5.下面出错信息的含义是_____________。

Redeclarationof'main'

6.程序的功能是:________________。

#include<stgio.h>

main()

{inti;

for(i=106;i<996;i+=10)

if(i%3==0)printf(“%d\n”,i);

}

7.以下程序的输出结果是______#include<stdio.h>#include<string.h>intmain(){chara[1000];inti;for(i=0;i<1000;i++){a[i]=-1-i;}printf("%d",strlen(a));return0;}

填空题答案:1double2编译、连接3内部函数4打开文件5.重复声明main6输出所有能被3整除且个位数为6的3的位数7255解析:数组里存储的变量时char型,意味着变量的范围是有符号是-128~127,无符号的话是0~255。先说有符号的情况:For循环里i的取值开始为0是,a[0]里存储的是-1;这样一次下去直到a[127]=-128;之后就会溢出,所以a[128]=127;之后的取值是一次减小的,a[129]=126;一次直到a[255]=0=‘\0’但是strlen这个函数没有把最后的‘\0’算进去,所以长度为255.无符号的情况:a[0]=-1,换算成无符号是255,所以a[0]=255;a[1]=-2=254,这样子一次减一,直到a[255]=0;同上没有算最后一个,所以长度为255。

三、修改程序题(每个*found*下面都有一处错误,共有5处错误,每处3分,共15分)

1.下面的程序将输入的两个整数按大小顺序输出。请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

/**********found**********/

voidswap(int*p1,*p2)

{inttemp;(int*temp)

temp=*p1;

/**********found**********/

p1=p2;

*p2=temp;(*p2=*temp)

}

main()

{inta,b;

int*p_1,*p_2;

scanf("%d%d",&a,&b);

p_1=&a;p_2=&b;

if(a<b)swap(p_1,p_2);

printf("\n%d,%d\n",a,b);

}

2.建立字符串“HixxxxxxHowareyou.”,在字符串xxxxxx的位置输入自己的姓名,最后输出完整的字符串。如:姓名为“Christian”,则输出为“HiChristHowareyou.”。请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

#include<stdio.h>

#include<string.h>

/**************found******************/

voidfun(charstring,charname)(voidfun(char*string,char*name))

{inti=0;

while(name[i]!='\0'&&i<6)

{string[3+i]=name[i];(string[3+i]='')

i++;

}

/************************found***************/

for(;i<6;i++)

string[6+i]='';/*代表空格*/

}

main()

{charstr[30]={"HixxxxxxHowareyou."},c[10];

gets(c);

fun(str,c);

/************************found***************/

printf("\ns",str[0]);(printf("\ns",str);)

}

四、程序设计题(每题10分,共20分)

1.函数fun的功能是:在a数组的n个数中找出最小数、最大数以及它们的下标,并由m数组传回。

注意:不要改动给出的部分源程序,仅要求编写函数fun。

#include<conio.h>

#include<stdio.h>

#defineM10

voidfun(inta[],intrn[2],intn)

{

}

main()

{

inti,a[M],b[2];

printf("inputaarray:\n");

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

scanf("%d",&a[i];

fun(a,b,M);

printf("Theresultis:\n");

printf("最小数的下标为:%d",c[0]);

printf("最大数的下标为:%d",c[1]);

}

2.不得修改main函数,编写sort函数的函数体。输入5个国名并按字母顺序排列后

温馨提示

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

评论

0/150

提交评论