内蒙古科技大学往年C语言程序设计期末模拟及答案_第1页
内蒙古科技大学往年C语言程序设计期末模拟及答案_第2页
内蒙古科技大学往年C语言程序设计期末模拟及答案_第3页
内蒙古科技大学往年C语言程序设计期末模拟及答案_第4页
内蒙古科技大学往年C语言程序设计期末模拟及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

2/2内蒙古科技大学C语言程序设计期末模拟总分:100分 考试时间:90分钟注意事项:考生拿到答题卡后,要认真检查答题卡有无折皱破损、污渍,如有以上问题须立即向监考老师反映。不要将答卷纸或答题卡折叠、弄破,严禁在答卷纸或答题卡的条形码上做任何涂写和标记。考试结束信号发出后,考生须立即停笔,待监考员收齐检查无误,根据监考员指令依次退出考场。一、填空题(每小题2.5分,共100分)1、c语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为________。【答案】['字母或下划线']2、若inta=3,b=2,c=1,f;表达式f=a>b>c的值是________。【答案】03、已知t=5,则表达式"t-=t+=3"的值是______。【答案】04、双精度型数据有效位为______位【答案】15~16#15到16#15#165、inta=2,b=3;表达式a>b?a++:++b的值为______。【答案】46、数学表达式100<a或者a<-20改写为c语言表达式是________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。【答案】100<alla<-20#a<-20ll100<a#a>100lla<-20#a<-20lla>100#100<all-20>a#-20>all100<a#a>100ll-20>a#-20>alla>1007、已知"floata=3.5;intb=12;",则算术表达式"(int)(a+b/5)"的值是_____________。【答案】58、已知a=5,则表达式"a+=a*=3"的值是_____________。【答案】309、在vc++编译环境下,一个双精度型变量所占字节数是____。【答案】810、c语言的预处理语句以________开头。【答案】['#号']11、单精度型数据有效位为______位。【答案】712、c语言规定,不能使用c语言中的________做标识符。【答案】关键字13、c语言中与指针有关的两个运算符是&与______。【答案】*14、在c语言中,关系运算符中的"大于等于"表示为________。【答案】>=15、表达式10/3*9%10/2的值是________。【答案】316、以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如‘a’变成‘f’,‘w’变成‘b’。请在内填入正确的内容。

#include<stdio.h>

voidmain()

{

charc;

c=getchar();

if(c>=’a’&&c<=’u’);

elseif(c>=’v’&&c<=’z’);

putchar(c);

}【答案】c=c+5|c=c-21【解析】根据ASCII码规律,要使字母循环后移5位输出,从a-u均不存在问题,但字母v(ASCII码值为118)后移5位,则ASCII值为123,不是循环到a(ASCII值为97),从而须执行c=c-21。17、在printf格式字符中,只能输出一个字符的格式字符是________;

用于输出字符串的格式字符是________;

以小数形式输出实数的格式字符是________;

以标准指数形式输出实数的格式字符是______。【答案】c,s,f,e。18、在c语言中,将字符串中小写字母转换成大写字母的函数是________。【答案】strupr#strupr()#strupr(字符串)19、在c语言中,函数的返回值是由___________语句传递的。【答案】return#return()20、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________。【答案】['

#include<stdio.h>

(或

#include"stdio.h")']21、设有如下宏定义

#defineMYSWAP(z,x,y)

{

z=x;

x=y;

y=z;

}

以下程序段通过宏调用实现变量a、b内容交换,请填空。floata=5,b=16,c;

MYSWAP(________,a,b);【答案】c22、在定义函数时函数名后面括号中的变量名称为________。【答案】形参23、字符读写函数____________是用于把一个字符写入磁盘文件。【答案】fputc#fputc()#putc#putc()24、若有"inta[3][2]={{1,2},{3},{4,5}};",则a[1][1]的值是________。【答案】025、编译预处理包括宏定义、______、条件编译等。【答案】文件包含26、下列程序运行结果是________。

#include<stdio.h>

#include<string.h>

structa(inta;charb[10];doublec;);

voidf(structa*t);

main()

{

structaa={1001,"zhangda",1098.0};

f(&a);

printf("%d,%s,%6.1f\n",a.a,a.b,a.c);

}

voidf(structa*t)

{

strcpy(t->b,"changrong");

}【答案】['1001,changrong,1098.0']27、以下程序运行后的输出结果是________。

该程序的功能是________。

main()

{

intx=10,y=20,t=0;

if(x!=y)t=x;

x=y;

y=t;

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

}【答案】['20,10','变量的交换']28、下面程序可求出矩阵两条对角线上的元素之和。请分析程序填空。

main()

{

inta[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;

for(i=0;i<3;i++)for(j=0;j<3;j++)

if(i==j)sum1+=a[i][j];

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

for(【1】________;【2】________;j--)

if(i+j==2)sum2+=a[i][j];

printf("sum1=%d,sum2=%d\n",sum1,sum2);

}【答案】【1】j=2【2】j>=029、下列程序段的运行结果是_____。

main()

{

inta=5,b=6,c;

intmax(int,int);

c=max(a,b);

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

}

intmax(intx,inty)

{

intz;

if(x>y)z=x;

elsez=y;

returnz;

}【答案】630、若有定义:intk;,以下程序段的输出结果是________。

for(k=2;k<6;k++,k++)printf("##%d",k);【答案】['##2##4']31、执行下列程序段后,输出的a的值是_____________。

main()

{

inta=2;

switch(a)

{

case0:a--;

break;

case1:a++;

break;

case2:a=a+5;

break

}

printf("%d",a);

}【答案】732、有一下程序

#include<stdio.h>

main()

{

intf,f1,f2,i;

f1=0;

f2=1;

printf("%d%d",f1,f2);

for(i=3;i<=5;i++)

{

f=f1+f2;

printf("%d",f);

f1=f2;

f2=f;

}

printf("\n");

}

程序运行后的输出结果是________。【答案】['01123']33、以下程序输出x,y,z三个数中的最小值,请填空使程序完整___________。

main()

{

intx=4,y=5,z=8;

intu,v;

u=x<y?_______;

v=u<z?_______;

printf("%d",v);

}【答案】['x:y','u:z']34、以下程序的输出结果是________。

#include<stdio.h>

main()

{

intk=1,s=0;

do

{

if((k%2)!=0)continue;

s+=k;

k++;

}

while(k>10);

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

}【答案】['s=0']35、以下程序的运行结果是_____________。

main()

{

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

s=0;

for(k=0;k<3;k++)s=s+a[k][k];

printf("%d,",s);

}【答案】15#15,#15,36、以下程序的输出结果是________。

main()

{

intx;

printf("%d\n",(x=2*4,x+5));

}【答案】1337、以下程序运行后的输出结果是________

#include<stdio.h>

main()

{

intx=20;

printf("%d",0<x<20);

printf("%d\n",0<x&&x<20);

}【答案】['10']38、下面程序的运行结果是________。

#include<stdio.h>

main()

{

inti,j;

for(i=4;i>=1;i--)

{

for(j=1;j<=i;j++)putchar('#');

for(j=1;j<=4-i;j++)putchar('*');

putchar('\n');

}

}【答案】#######*##**#***39、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。

#include<stdio.h>

main(){

inta〔10],*p,*s;

for(p=a;p-a<10;p++)scanf("%d",p);

for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;

printf("max=%d\n",________);

}【答案】['*s']40、下面程序的运行结果是________。

main()

{

inti,j,a[2][3]={{2,4,6},{8,10,12}};

printf("theoriginalarrayis:\n");

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

{

for(

温馨提示

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

评论

0/150

提交评论