- 論壇徽章:
- 0
|
綜合練習(xí)題(一)
一、 單項(xiàng)選擇題
1.正確的自定義標(biāo)識(shí)符是
A.a=2 B.a+b
C.name D.default
2.錯(cuò)誤的轉(zhuǎn)義字符是
A.'\091' B.'\\'
C.'\0' D.'\''
3.設(shè)int a,b,c;執(zhí)行表達(dá)式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分別是
A.2,1,2 B.2,0,3
C.2,2,3 D.2,1,3
4.在C語言中,錯(cuò)誤的常數(shù)是
A.1E+0.0 B.5.
C.0xaf D.0L
5.下面運(yùn)算符優(yōu)先級(jí)最高的是
A.<= B.=
C.% D.&&
6.若數(shù)組名作實(shí)參而指針變量作形參,函數(shù)調(diào)用實(shí)參傳給形參的是
A.數(shù)組的長度 B.數(shù)組第一個(gè)元素的值
C.數(shù)組所有元素的值 D.數(shù)組第一個(gè)元素的地址
7.變量的指針含意是指變量的
A.值 B.地址
C.存儲(chǔ) D.名字
8.設(shè)int k;則語句for(k=0;k=1;k++);和語句for(k=0;k==1;k++);執(zhí)行的次數(shù)分別是
A.無限和0 B.0和無限
C.都是無限 D.都是0
9.某文件中定義的靜態(tài)全局變量(或稱靜態(tài)外部變量)其作用域是
A.只限某個(gè)函數(shù) B.本文件
C.跨文件 D.不限制作用域
10.設(shè)struct {int a; char b; } Q, *p=&Q;錯(cuò)誤的表達(dá)式是
A.Q.a B.(*p),b
C.p->a D.*p.b
二、填空題 (請(qǐng)?jiān)诿啃☆}的空格上填上正確答案)
11.在C語言中,單目運(yùn)算符的結(jié)合方向(運(yùn)算方向)是_____________;唯一的一個(gè)三目運(yùn)算符是_____________。
12.字符串"A\\B"的內(nèi)容是_____________,存儲(chǔ)需要的字節(jié)數(shù)是_____________。
13.設(shè)int a[10],b[3][3];數(shù)組元素a[5]和b[1][2]分別用指針表示的形式是_____________和_____________。
14.編譯預(yù)處理的三種形式除宏定義外,還有_____________和_____________。
15.文件操作方式"w"和"rb+"的含義分別是__________________________和__________________________。
三、程序分析題 (閱讀下列程序,寫出輸出結(jié)果)
16.
main( )
{int a=3,b=9,c=2;
if(a<b)a=b;
if(a<c)a=c;
printf("%5d%5d%5d\n",a,b,c);
}
17.
void change(int *x,int y)
{int t;
t=*x;*x=y;y=t;
}
main( )
{int a=3,b=5;
change(&a,b);
printf("a=%d,b=%d\n",a,b);
}
18.
main( )
{int j;
for(j=4;j>=2;j--)
switch(j)
{case 0: printf("%4s","ABC" ;
case 1: printf("%4s","DEF" ;
case 2: printf("%4s","GHI" ;break
case 3: printf("%4s","JKL" ;
default: printf("%4s","MNO" ;
}
printf("\n" ;
}
19.
main( )
{int j,a[6]={1,2}};
for(j=3;j<6;j++)
a[j]=a[j/2]+a[j%3]-a[j-2];
for(j=0;j<6;j++)
printf("%5d",a[i]);
printf("\n" ;
}
20.
int a=10;
int f(int a)
{int b=0;static int c=3;
a++;++c;++b;
return a+b+c;
}
main( )
{int i;
for(i=0;i<2;i++)print("%5d",f(a));
printf("\n" ;
}
21.
#define N 2
#define M N+1
#define NUM 2*M+1
int fib(int n)
{
return n<3?2:fib(n-1)+fib(n-2);
}
main( )
{
printf("%5d%5d\n",NUM,fib(5));
}
22.假設(shè)在DOS提示符下顯示源程序如下(PROG.exe程序也在C盤中):
C>type PROC.c
main(int argc,char * argv[])
{while(--argc>0)
printf("%s",argv[argc]);
printf("\n" ;
}
寫出執(zhí)行下列命令后的輸出結(jié)果
C> ROG 2008 OLYMPIC BEIJING <回車>
四、程序填空題
23.任意輸入三條邊(a,b,c)后,若能構(gòu)成三角形且為等腰、等邊和直角,則分別輸出DY、DB和ZJ,若不能構(gòu)成三角形則輸出NO。
main( )
{ float a,b,c,a2,b2,c2
scanf("%f%f%f%,&a,&b,&c);
printf("%5.1f,%5.1f,%5.1f",a,b,c);
if(a+b>c&&b+c>a&&a+c>b)
{
if(____________________________________)printf("DY" ;
if(____________________________________)printf("DB");
a2=a*a;b2=b*b;c2=c*c;
if(____________________________________)printf("ZJ");
printf("\n");
}
else printf("NO\n");
}
24.輸出下列圖形。
1 2 3 4 5 6 7 8 9 main( )
2 3 4 5 6 7 8 9 int I,J;
3 4 5 6 7 8 9 for(I=1;I<=_________;I++)
4 5 6 7 8 9 for(J=_________;J<=9;J++)printf("%2d",J);
5 6 7 8 9 printf("\n");
6 7 8 9
7 8 9
8 9
9
五、程序設(shè)計(jì)題 ( 寫出下列問題的程序)
。
25.輸入十個(gè)整數(shù),計(jì)算出平均值(aver),找出其中最大者(max)和最小者(min)并將三者輸出。
26.將十個(gè)實(shí)型數(shù)輸入數(shù)組(float n[10];)逆序存放后再輸出。 |
|