教学材料《C语言》-期末试卷二_第1页
教学材料《C语言》-期末试卷二_第2页
教学材料《C语言》-期末试卷二_第3页
教学材料《C语言》-期末试卷二_第4页
教学材料《C语言》-期末试卷二_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

期末试卷二一、单项选择题(每题1分,共45分)

1.下列变量名中,哪个是合法的()

A.C&DB.string$

C.charD._213

2.C语言程序的基本单位是()

A.程序行B.语句C.函数D.字符

3.表达式a+b%3的值是()(设a=13.6,b=10)

A.14.6B.15

C.15.9D.16.6

4.保存一个C语言源程序的快捷键是()

A.F1B.F2C.F3D.F4

5.字符串”tc20\nlib\101\\\’”含有多少个字符()

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

6.Putchar()函数可以向终端输出一个()

A.整型变量或表达式值B.实型变量值

C.字符串D.字符或字符型变量值

7.以下所列的C语言常量中,错误的是()

A.0xFFB.2*5C.2.5D.0456

8.下列不合法的C语言赋值表达式是()

A.a+=b-cB.a+b=c

C.a=b=c=1D.a*=++b+c

9.下列程序运行后的输出结果是()

main()

{inty=3,x=3;

printf(“%d\n”,++x+y++);

}

A.5B.8C.7D.6

10.若已正确定义x和y为double类型,则表达式

x=1,y=x+3/2的值是()

A.1B.2C.2.0D.2.5

11.在C语言中运算对象必须是整型的运算符是()

A.%B./C.=D.*

12.若有以下定义:

chara;intb;floatc;

则表达式a*b-c值的类型为()

A.intB.charC.doubleD.float13.下列正确的C语言赋值语句的是()

A.x=3,y=5B.a=b=1C.i++;D.y=int(x)

14.有如下程序段:

inta1,a2;

charc1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()(<CR>表示回车)

A.10A20B<CR>B.10A20B<CR>

C.10A20B<CR>D.10A20B<CR>

15.有如下程序,输入数据:12345m678<CR>后,x的值是()

#include<stdio.h>

main()

{intx;floaty;

scanf("%3d%f",&x,&y);

}

A.12345B.123C.45D.345

16.有如下程序,对应正确的数据输入是()

main()

{floata,b;

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

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

}

A.2.04<CR>B.2.04,5.67<CR>

5.67<CR>

C.a=2.04,b=5.67<CR>D.2.045.67<CR>

17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);

为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()

A.132<CR>B.1,3,2<CR>

C.a=1,b=3,c=2<CR>D.a=1b=3c=2<CR>

18.已知字母A的ASCII码是65,以下程序的执行结果是()

main()

{charc1='A',c2='Y';

printf("%d,%d\n",c1,c2);

}

A.A,YB.65,65C.65,90D.65,8919.以下程序的执行结果是()

main()

{inta=2,b=5;

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

}

A.a=%2,b=%5B.a=2,b=5

C.a=%%d,b=%%dD.a=%d,b=%d

20.最适合解决选择结构“若x>0,则y=1;否则y=0;”的语句是()

A.switchB.嵌套的if-elseC.if-elseD.if

21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()

if(x>y)x=y;if(x>z)x=z;

printf(″%d,%d,%d\n″,x,y,z);

A.1,1,1B.1,2,1C.1,2,3D.3,2,1

22.执行下列程序段后,变量x的值是()

inta=8,b=7,c=6,x=1;

if(a>6)if(b>7)if(c>8)x=2;elsex=3;

A.0B.1C.2D.3

23.运行下列程序的输出结果是()

main()

{inta1=1,a2=1,a3=1,a4=1;

if(a1>0)a3++;

if(a1>a2)a3--;

elseif(a1==a2)a3++;

elsea3--;

printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);

}

A.1,1,1,1B.1,2,3,4

C.4,3,2,1D.1,3,1,1

24.执行下列语句后,整型变量x的值是()

switch(x=1){case0:x=10;break;

case1:switch(x=2){case1:x=20;break;

case2:x=30;

}

}

A.30B.20C.10D.1

25.以下说法中正确的是()

A.continue和break只能用在循环体中B.continue只能用在循环体中

C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()

m=8;

while(m>=5)m--,--m,n=m---m;

pritnf(″%d,%d″,m,n);

A.2,0B.5,-1C.5,0D.5,1

27.设整型变量x的值为1,执行下列循环语句后,变量x的值是()

dox++;while(x++<2);

A.2B.3C.4D.5

28.执行下列语句后,变量k的值是()

for(k=0;k<=5;k++)dok++;

while(k<5);

A.5B.6C.7D.8

29.下列程序段中,不能使变量m的值等于10的程序段是()

A.m=0;B.dom=0;

while(m++<9);while(m++<10);

C.for(m=8;m<10;m++);D.m=0;

L:m++;if(m<10)gotoL;

30.下列语句中不正确的是()

A.staticinta[5]={1,2,3,4,5};

B.staticinta[5]={1,2,3};

C.staticinta[]={0,0,0,0,0};

D.staticinta[5]={0*5};

31.说明:inta[10];

则对a数组元素的正确引用是()

A.a[10]B.a[3.5]C.a(5)D.a[10-5]

32.下面程序的运行结果是()

main()

{inta[6],i;

for(i=1;i<6;i++)

{a[i]=9*(i-2+4*(i>3))%5;

printf(“%2d”,a[i]);

}

}

A.-40404B.-40403

C.-40443D.-4044033.以下程序的输出结果是()

main()

{intn[2]={0},i,j,k=2;

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

for(j=0;j<k;j++)

n[j]=n[i]+1;

printf(“%d\n”,n[1]);

}

A.1B.3C.2D.4

34.下面程序的输出结果是()

main()

{chars[]=”catandmouse”;

intj=0;

while(s[j]!=’\0’)++j;

printf(“%d\n”,j);

}

A.11B.0C.12D.13

35.下面程序的运行结果是()

#include<stdio.h>

main()

{chara[10]=”student”;

charb[10]=”boy”;

intn;

n=strlen(a)+strlen(b);

printf(“%d”,n);

}

A.7B.10C.12D.20

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

voidfun(inta,intb,intc)

{a=456;b=567;c=678;}

main()

{intx=10,y=20,z=30;fun(x,y,z);

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

A.30,20,10B.10,20,30

C.456,567,678D.678,567,456

37.以下说法中正确的是()

A.C语言程序总是从第一个定义的函数开始执行。

B.在C语言程序中,要调用的函数必须在main()函数中定义。

C.C语言程序总是从main()函数开始执行。

D.C语言程序中的main()函数必须放在程序的开始部分。38.下列变量中,哪类变量的生存期和作用域是不一致的()

A.自动变量B.定义在文件最前面的外部变量

C.静态内部变量D.寄存器变量

39.C语言中形参的缺省存储类别是()。

A.自动(auto)B.静态(static)

C.寄存器(register)D.外部(extern)

40.在一个C源程序文件中,如要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()

A.externB.registerC.autoD.static

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

#defineMIN(x,y)x<y?x:y

main()

{inti,j,k;

i=10;j=15;k=10*MIN(i,j);

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

}

A.15B.100C.10D.150

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

#defineM100

#defineNM+3

main()

{

inti=2,j;

j=i*N*M;

printf(“%d”,j);

}

A.200600B.800C.500D.2006

43.若有定义:intx,*pb;则以下正确的赋值表达式是()

A.pb=&xB.pb=xC.*pb=&xD.*pb=*x

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

main()

{intk=2,m=4,n=6;

int*pk=&k,*pm=&m,*p=&n;

*p=*pk*(*pm);

printf(“%d\n”,n);

}

A.4B.6C.8D.1045.以下程序的输出结果是()

voidfun(int*x)

{printf("%d\n",++*x);}

main()

{inta=25;

fun(&a);

}

A.23B.24C.25D.26

二、填空题(每题1分,共15分)

1.一个C语言程序有且仅有一个___________函数

2.结构化程序设计中的三种基本结构是顺序结构、分支结构和__________结构

3.表达式20/3的结果是________

4.定义intx,y,执行y=(x=1,++x,x+2);语句后,y的值是___________

5.以下程序运行时输入100<CR>后,执行的结果是____

#include<stdio.h>

main()

{

intn;

scanf("%o",&n);

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

}

6.以下程序的执行结果是__________

#include<stdio.h>

main()

{

floatf=3.1415926;

printf("%5.4f",f);

}

7.以下程序的执行结果是______

#include<stdio.h>

main()

{charc='A'+1;

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

}

8.实现“x>0,则令y为1;否则令y为0”的语句是__________________________9.运行下列程序的输出结果是____________

main()

{intn=1;

switch(n--)

{case0:printf(″%d″,n);

case1:printf(″%d″,n);

case2:printf(″%d″,n);

}

}

10.用for语句实现对语句s重复执行n(>0)次的程序段是___________________________

11.设整型变量k值为0,则循环语句while(k++<9)k++;循环体一共执行_________次

12.若有定义:inta[10]={1,2,3,4,5,6};则表达式a[2]+a[4]的值是

13.以下程序的输出结果为

floatfun(floatx,floaty)

{x+=1;y+=x;

returny;

}

main()

{floata=1.6,b=1.8;

printf("%f\n",fun(b-a,a));

}

14.以下程序的输出结果为

#definef(x)x*x

main()

{floaty;

printf(“y=%f\n”,f(3)/f(1+2));

}

15.以下程序段的输出结果是_________

int*var,ab;

ab=100;var=&ab;ab=*var+10;

printf("%d\n",*var);三、判断程序运行结果题(每题3分,共15分)

1.设运行下列程序时,从键盘输入ABC和回车键,程序输出结果是____

#include″stdio.h″

main()

{charc;

c=getchar();

if(c>=′a′&&c<=′w′‖c>=′A′&&c<=′W′)c=c+3;

elseif(c>=′x′&&c<=′z′‖c>=′X′&&c<=′Z′)c=c-32;

printf(″%c\n″,c);

}

2.下列程序的执行结果是___________

main()

{inta=10,b=20;

swap(&a,&b);

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

}

swap(int*p,int*q)

{intt;

t=*p;*p=*q*q=t;

}

3.以下程序的执行结果是___________

main()

{inta=3,b=8;

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

}

4.下列程序的输出结果是___________

main()

{intm,n;

for(m=11;m>10;m--)

{for(n=m;n>9;n--)if(m%n)break;

if(n<=m-1)printf(″%d″,m);

}

}5.以下程序的运行结果是____________

#include<stdio.h>

main()

{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2

温馨提示

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

评论

0/150

提交评论