C语言测试,过关者300分 (300分)

T

tony.xu

Unregistered / Unconfirmed
GUEST, unregistred user!
一、判断题
(1) 表过式(-5)%3的值是2 ( )
(2) 设有int i;则表过式i=1,++i,++i||++i,i的值是4 ( )
(3) x=(a=3,6*3)和x=a=3,6*a两个表达式的作用不同 ( )
(4) *(p++)和*(++p)的作用不同 ( )
(5) 利用数组名作为函数应被看做是’值传递’方式 ( )
二、填空题
1. 设有 int a[]={10,11,12},*p=&a[0],则执行*p++;*p+=1;
后a[0],a[1],a[2]的值依次是
___ ___ _____
2. 十进制数-20利用补码表示是________________
3. 若a 的初始值为12,那么a+=a-=a*a的值是_________
4. 设有声明int s[2]={0,1},*p=s;则下列语句错误是C语句是 ( )
A:s+=1 B:p+=1 C:*p++ D:(*p)++
5. 设有int i,j,k;
则表达式i=1,j=2,k=3,i&&j&k-的值为_________
6. Switch()语句中表示除case所列情况以外所有情况的关键字是_________
7. 设a=3,b=4,c=5 则表达式 a||b+c&&b-c的值是______________
8. Printf(“%5.3f/n”,123456.12345);
输出结果为________________
9. int pointer_1,pointer_2,a;
pointer_1=&a;
pointer_2=&*pointer_1;则pointer_2指向_____________
10.共用变量的地址和它的各个成员的地址使用_____________地址(填不同或同一)
三、程序分析,给出下列各程序的执行结果
1.
#include <studio.h>
int f(int n)
{static int s=1;
while(n)s*=n--;
return s;
}
main()
{int i,j;
i=f(3);j=f(5);
prinft(“/nThe output of 5.1.is:/n/n”);
printf(“i=%d j=%d/n”,i,j);
}
2.
main()
{int max(int,int);
int min(int,int);
int a,b;
printf(“enter a and b:”);
scanf(“%d,%d”,&amp;a,&amp;b);
printf(“max=”);
process(a,b,max);
printf(“min=”);
process(a,b,min);
}
max(int x,int y)
{
int z;
if (x>y) z=x;
else
z=y;
return(z)
}
min(int x,int y)
{int z;
if (x<y) z=x;
else
z=y;
return(z);
}
process(int x,int y,int(*fun)(int,int))
{int result;
result=(*fun)(x,y);
printf(“%d/n”,result);
}
 
1) 表过式(-5)%3的值是2 错-2
 
好的,linx先得20分
 
2).错 i=3.
 
好的,mayardlichen 20分
 
3).对 第一个式子x=18,第二个式子x=3.
 
4):错。作用是相同的
 
5):错。
填空4:D
填空7:6
 
不一一配分了,等结帖时按答题量和答题正确度给分
 
填空题第三题a=-264.
你要给我50分了哦。
 
while(n)s*=n-;
有-吗》
 
填空10 同1
 
2.十进制数-20利用补码表示是 1111111111101100
 
你是不是想考程序员呀
 
To:snrmtd
不好意思,鍵误
正确的是while(n)s*=n--;
已更正,让你浪费感情了:) 补10分吧
说明一下,程序分析题每题50分
 
是不是交不了作业?
 
TO:孔明.net 此帖的目的只是想大家把C语言的简单东东温习一下,没有其它意思。还有分拿,何乐不为
 
三、程序分析
1.i=6 j=720
 

Similar threads

S
回复
0
查看
950
SUNSTONE的Delphi笔记
S
S
回复
0
查看
771
SUNSTONE的Delphi笔记
S
I
回复
0
查看
593
import
I
I
回复
0
查看
866
import
I
I
回复
0
查看
1K
import
I
顶部