云南师范大学C语言期末试题B.docx

上传人:b****7 文档编号:11241027 上传时间:2023-02-26 格式:DOCX 页数:11 大小:21.14KB
下载 相关 举报
云南师范大学C语言期末试题B.docx_第1页
第1页 / 共11页
云南师范大学C语言期末试题B.docx_第2页
第2页 / 共11页
云南师范大学C语言期末试题B.docx_第3页
第3页 / 共11页
云南师范大学C语言期末试题B.docx_第4页
第4页 / 共11页
云南师范大学C语言期末试题B.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

云南师范大学C语言期末试题B.docx

《云南师范大学C语言期末试题B.docx》由会员分享,可在线阅读,更多相关《云南师范大学C语言期末试题B.docx(11页珍藏版)》请在冰豆网上搜索。

云南师范大学C语言期末试题B.docx

云南师范大学C语言期末试题B

云南师范大学2009-2010学年C语言期末考试试卷

考试方式(闭卷)考试时量:

90分钟试卷编号(B卷)

一、判断题:

(每题1分,共10分)

1.C语言中表达式3/2得到的结果是1.5。

   A.对   B.错

2.语句是C程序的基本构成单位。

A.对B.错

3.在C程序中,函数既可以嵌套定义,也可以嵌套调用。

   A.对   B.错

4.数组名代表数组的首地址。

A.对   B.错

5.循环结构中的break语句是使整个循环终止执行。

A.对B.错

6.字符数组可以存放字符串,因此字符数组就是字符串。

B

A.对B.错

7.在if语句中,不可以没有else子句。

A.对B.错

8.在程序中凡是以“#”号开始的语句行都是预处理命令行。

A

A.对B.错

9.设有数组定义:

chara[]="hi!

";则数组a所占的空间为3。

A.对B.错

10.宏定义中的宏名必须是大写字母。

b

   A.对   B.错

二、单选题(每一小题的被选答案中只有一个正确答案,每题1分,共30分)

1.C语言规定,必须用作为主函数名。

B

A.FunctionB.mainC.includeD.stdio

2.以下叙述中正确的是____。

C

A.C程序的基本组成单位是语句

B.C程序中的每一行只能写一条语句

C.简单C语句必须以分号结束

D.C语句必须在一行内写完

3.下列正确的标识符是____。

C

A.%yB.6aC._doD.a+b

4.在下面几组数据类型中,全为最常用的基本数据类型的是哪一组:

A

A.整型实型字符型B.整型数组指针

C.数组结构体共用体D.指针逻辑型空类型

5.C语言中不能用来表示整常数的进制是。

D)

A.十进制B.十六进制C.八进制D.二进制

6.表达式:

(int)((double)9/2)-(9)%2的值是。

B

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

7.C语言中,运算对象必须是整型数的运算符是。

D

A.**B.\C.%和\D.%

8.设x=1,y=2,m=4,n=3,则表达式x>y?

x:

m

y:

n的值为:

C

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

9.若有说明语句:

charc=‘\64’;则变量C包含:

A

A.1个字符B.2个字符

C.3个字符D.说明不合法,C值不确定

10.以下不能正确表示代数式

的C语言表达式是()。

D

A.2*a*b/c/dB.a*b/c/d*2

C.a/c/d*b*2D.2*a*b/c*d

11.任何一个C语言的可执行程序都是从___开始执行的。

B

A.程序中的第一个函数B.main()函数的入口处

C.程序中的第一条语句D.编译预处理语句

12.能正确表示x的取值范围在[0,100]或[-10,-5]内的表达式是。

B

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)

C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)

D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

13.C语言函数的隐含存储类别是____。

D

A.staticB.autoC.registerD.extern

14.将字符串str2连接到字符串str1中应使用。

B

A.strcpy(str1,str2)B.strcat(str1,str2)

C.strcmp(str1,str2)D.strcat(str2,str1)

15.有以下程序

#include 

main()

{ int a=1,b=0;

  printf("%d,",b=a+b);

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

}

程序运行后的输出结果是。

D

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

16.设变量定义为“inta,b;”,执行语句scanf("a=%d,b=%d",&a,&b);时,输入_____,则a和b的值都是10。

D

A.1010B.10,10C.a=10b=10D.a=10,b=10

17.不是给数组的第一个元素赋值的语句是。

D

A.inta[2]={1};B.inta[2]={1*2};

C.inta[2];scanf(“%d”,a);D.a[1]=1;

18.若用数组名作为函数调用的实参,传递给形参的是。

A

A.数组的首地址         B.数组第一个元素的值   

C.数组中全部元素的值   D.数组元素的个数

19.循环语句中的for语句,其一般形式如下:

for(表达式1;表达式2;表达式3)语句

其中表示循环条件的是。

B

A.表达式1B.表达式2C.表达式3D.语句

20.已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

执行语句printf("%d,%d",c1,c2-2);后,输出结果是__。

C

A.A,BB.A,68C.65,66D.65,68

21.下面叙述中正确的是___B_。

A.全局变量在定义它的文件中的任何地方都是有效的

B.全局变量在程序的全部执行过程中一直占用内存单元

C.同一文件中的变量不能重名

D.使用全局变量有利于程序的模块化和可读性的提高

22.以下叙述中错误的是___。

A

A.可以通过typedef增加新的类型

B.可以用typedef将已存在的类型用一个新的名字来代表

C.用typedef定义新的类型名后,原有类型名仍有效

D.用typedef可以为各种类型起别名,但不能为变量起别名

23.假定所有变量均已正确说明,下列程序段运行后x的值是。

B

a=b=c=0;x=35;

if(!

a)x=-1;

elseif(b);

if(c)x=3;

elsex=4;

A.34B.4C.35D.3

24.以下程序的执行结果是______C__。

main()

{intnum=0;

while(num<=2){num++;printf("%d,",num);}}

A.0,1,2,

B.1,2,

C.1,2,3,

D.1,2,3,4,

25.以下程序的输出结果是________。

a

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",z,y,x);}

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

26.14.下面函数调用语句中实参的个数为:

B

func((exp1,exp2),(exp3,exp4,exp5))

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

27.有宏定义:

#defineE2.718则编译预处理时将E替换成一个__D__。

A.单精度常量

B.单精度变量

C.双精度变量

D.字符串

28.变量的指针,其含义是指该变量的。

A

A.地址B.值C.名D.一个标志

29.若有定义inta[10],*p=a;,则*(p+5)表示___。

B

A.元素a[5]的地址B.元素a[5]的值

C.元素a[6]的地址D.元素a[6]的值

30.有如下程序段

int*p,a=10,b=1

p=&a;a=*p+b;

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

C

A.12B.10C.11D.编译出错

三、填空题:

(每空2分,共20分)。

1.在C语言中,程序运行期间,其值可以被改变的量叫【1】。

2.表示条件:

x≥0或x<100的C语言表达式是【1】。

3.已知:

inti=3,j=4,m,n;m=++i;n=j++;问语句执行后m=【1】,n=【2】。

4.有定义floaty=1.23456;若希望在屏幕上输出"1.23",则相应的C语言语句应写为printf("【1】",y);。

(2分)

5.下面程序的输出是【1】。

  main()

  {intarr[10],i,k=O:

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

  arr[i]=i;

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

  k+=arr[i]+i;

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

6.下面程序的输出结果是【1】。

main()

{ints=0,k;

for(k=5;k>=0;k--)

{swich(k)

{case1:

case5:

s++;break;

case3:

case4:

break;

case0:

case2:

s+=2;break;

}

}

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

}

7.以下程序可计算10名学生1门课程的平均分,请填空。

floataverage(floatarray[10])

{inti;floataver,sum=array[0];

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

【1】;

aver=sum/10;

returnaver;

}

main()

{floatscore[10],aver;inti;

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

scanf("%f",___【2】____);

aver=___【3】___;

printf("averagescoreis%5.2f\n",aver);}

四、编程题:

(共40分)。

1.从键盘输入1个3位整数n,请判断其是否是“水仙花数”,是则输出n,否则输出“不是”.。

(“水仙花数”是一个其各个位数的立方和等于该整数的三位数,如:

371=33+73+13)(12分)

2.从键盘输入2个整数x和n,用for循环求出xn并输出。

(13分)

3.利用自定义函数voidfun(charc[]),由实参传来一个字符串,实现以下功能:

将字符串中的大写字母转换为小写字母,其他字符不变,要求在主函数中输入字符串str并输出处理后的字符串。

(15分)

答案

一、判断题:

1~5BBBAA6~10BBABB

二、单选题

1~5BCCAD6~10BDCAD

11~15BBDBD16~20DDABC

21~25BABCA26~30BDABC

三、填空题:

1.变量

2.x>=0||x<100或x<100||x>=0

3.[1]4[2]4

4.%4.2f

5.12

6.s=6

7.[1]sum+=array[i]或sum=sum+array[i]或sum=array[i]+sum[2]&score[i][3]average(score)

四、编程题:

1.参考程序:

#include

voidmain()

{

inta,b,c,n;//a为百位,b为十位,c为个位

printf("请输入1个3位整数:

");

scanf("%d",&n);

a=n/100;

b=n%100/10;

c=n%10;

if(n==a*a*a+b*b*b+c*c*c)

printf("%d是水仙花数\n",n);

elseprintf("不是\n");

}

2.参考程序:

#include

voidmain()

{

intx,n,i,s=1;

printf("请输入2个整数:

");

scanf("%d%d",&x,&n);

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

s=s*x;

printf("x的n次方为:

%d\n",s);

}

3.参考程序:

#include

voidmain()

{

voidfun(charc[]);

charstr[20];

printf("请输入字符串:

");

gets(str);

fun(str);

printf("转换后的字符串为:

");

puts(str);

}

voidfun(charc[])

{

inti;

for(i=0;c[i]!

='\0';i++)

if(c[i]>='A'&&c[i]<='Z')c[i]=c[i]+32;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1