文档库

最新最全的文档下载
当前位置:文档库 > C语言期末模拟卷及答案

C语言期末模拟卷及答案

2011~2012第二学期C程序设计期末模拟试卷

一、单选题(每题2分,共20分)

1、若有定义:int x,y;char a,b,c;并有以下输入数据(此处代表换行符,u代表空格):

1u2

AuBuC

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是:_(1)__

[A]scanf(“x=%d y=%d”,&x,&y);a=getchar();b=getchar();c=getchar();

[B]scanf(“%d %d”,&x,&y);a=getchar();b=getchar();c=getchar();

[C]scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c);

[D]scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c);

2、若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是:(2)

[A]以上两处的*p含义相同,都说明给指针变量p赋值

[B]在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元

[C]语句“*p=r;”把变量r的值赋给指针变量p

[D]语句“*p=r;”取变量r的值放回r中

3、以下说法正确的是:(3)

[A]输入项可以是一个实型常量,如:scanf(“%f”,3.5);

[B]只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d ,b=%d”);

[C]当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”,&d);

[D]当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);

4、以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为:(4)

[A]5 [B]6 [C]7 [D]8

#include

int func (char str[ ])

{ int num =0;

while (*(str+num )!='\0')

num++ ;

return(num );

} void main( )

{ char str[10],*p=str ;

gets(p);

printf("%d\n",func(p)); }

5、若有以下定义:char a;int b; float c;double d; 则表达式a*b/d-c值的类型为:(5)

[A]float [B]int [C]double [D]char

6、下列可作为C语言赋值语句的是:(6)

[A]x=3, y=5 [B]a=b=6

[C]i--; [D]y=int(x);