《C語言程序設(shè)計(jì)》 復(fù)習(xí)大綱
《《C語言程序設(shè)計(jì)》 復(fù)習(xí)大綱》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C語言程序設(shè)計(jì)》 復(fù)習(xí)大綱(21頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、遠(yuǎn)程教育學(xué)院期末復(fù)習(xí)大綱模板 課程名稱 C語言程序設(shè)計(jì) 教 材 信 息 名稱 C語言程序設(shè)計(jì)教程 出版社 高等教育出版社 作者 譚浩強(qiáng)、張基溫 版次 第3版 一、客觀部分: (一)單項(xiàng)選擇題: 1、在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是( )。D A、補(bǔ)碼 B、反碼 C、原碼 D、ASCII碼 2、下面4個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是( )。C A、A P_0 do B、float a0 _A C、b-a 123 int D、_123 temp INT 3、下面不正確的字符串常量是( )
2、。A A、abc B、"1212" C、"0 " D、" " 4、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且定義c2為字符型變量,則執(zhí)行語句c2=A+6-3;后,c2中的值為( )。A A、D B、68 C、不確定的值 D、C 5、以下不正確的語句為( )。C A、if(x>y); B、if(x>y){x++;y++;} C、if(x=y)&&(x!=0)x+=y; D、if(x!=y) scanf("%d",&x); else scanf("%d",&y); 6、當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不
3、同,這個(gè)選項(xiàng)是 B A、k%2 B、k%2==0 C、(k%2)!=0 D、!(k%2==0) 7、#include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 上述程序段的運(yùn)行結(jié)果是( )。A A、sum=0 B、sum=55 C、sum=10 D、sum=11 8、int k=1; while (k<=10); 上述語句執(zhí)行后,變量k的值是( )。D A、1
4、0 B、11 C、9 D、無限循環(huán),值不定 9、#include “stdio.h” void main() { int sum=0,a=1; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 以上程序段的運(yùn)行結(jié)果是( )。B A、sum=0 B、sum=55 C、sum=10 D、sum=11 10、數(shù)組名作為實(shí)參傳遞給形參時(shí),數(shù)組名被處理為( )。C A、該數(shù)組的長(zhǎng)度 B、該數(shù)組的元素個(gè)數(shù) C、該數(shù)組的首地址 D、該數(shù)組中各元素的值 11、以下對(duì)一維
5、整型數(shù)組 a 的正確說明是( )。D A、int a(10) ; B、int n=10,a[n]; C、int n; D、#define SIZE 10 int a[SIZE]; 12、從用戶使用的角度看,函數(shù)有兩種,它們是( )。A A、庫函數(shù)和用戶自定義函數(shù) B、庫函數(shù)和主函數(shù) C、用戶自定義函數(shù)和主函數(shù) D、主函數(shù)和子函數(shù) 13、C程序的執(zhí)行從哪里開始( )。D A、第一條語句 B、第一個(gè)函數(shù) C、最后一個(gè)函數(shù) D、主函數(shù) 14、已知p,p1為指針變量,a為數(shù)組名,i為整型變量,下列賦值語句中不正確的是( )。D A
6、、p=&i B、p=p1 C、p=&a[i] D、p=10 15、變量的指針,其含義是指該變量的( )。A A、地址 B、值 C、名字 D、標(biāo)識(shí) 16、設(shè)有以下說明語句 struct stu {int a;float b;}stutype; 則以下敘述不正確的是( )。A A、stutype 是用戶定義的結(jié)構(gòu)體類型名 B、a 和 b 都是結(jié)構(gòu)體成員名 C、struct 是結(jié)構(gòu)體類型的關(guān)鍵字 D、struct stu 是用戶定義的結(jié)構(gòu)體類型 17、main() {struct date {int year,month,day;}today; pr
7、intf("%d\n",sizeof(struct date));} 以上程序的運(yùn)行結(jié)果是( )。D A、6 B、8 C、10 D、12 18、當(dāng)說明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是( )。A A、各成員所需內(nèi)存的總和 B、結(jié)構(gòu)中第一個(gè)成員所需內(nèi)存量 C、成員中占內(nèi)存量最大者所需的容量 D、結(jié)構(gòu)中最后一個(gè)成員所需內(nèi)存量 19、fwrite函數(shù)的一般調(diào)用形式是( )。D A、fwrite(buffer,count,size,fp) B、fwrite(fp,size,count,buffer) C、fwrite(fp,count,size,buffer)
8、 D、fwirte(buffer,size,count,fp) 20、fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開方式必須是( )。D A、只寫 B、追加 C、讀或讀寫 D、答案B和C都正確 21、 已知各變量的類型說明如下:A int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 則以下符合C語言語法的表達(dá)式是: A) a十=a一=(b= 4)*(a=3) B)a=a*3=2 C) x%(一3) D)y=f1oat(i)
9、22、以下不正確的敘述是( )D A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低 B)在C程序中,APH和aph是兩個(gè)不同的變量 C)若a和b類型相同,在執(zhí)行了賦值表達(dá)式a=b后b中的值將放人a中,而b中的值不變。 D)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值。 23、如果在C語言中一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsigned int型數(shù)據(jù)的取值范圍為( )。 C A、0~255 B、0~32 767 C、0~65 535 D、0~2 147 483 647 24、設(shè)有說明語句:char w;int x;float y;d
10、ouble z;w*x+z-y值的數(shù)據(jù)類型為( )。 D
A、float B、char
C、int D、double
25、main() {int x=2,y=-1,z=2; if(x 11、、int k=1; while (k<=10); 上述語句執(zhí)行后,變量k的值是( )。 D
A、10 B、11
C、9 D、無限循環(huán),值不定
28、#include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 上述程序段的運(yùn)行結(jié)果是( )。 A
A、sum=0 B、sum=55
C、sum=10 D、sum=11
29、for (i=2; i=0; ) printf(“%d” , i- 12、-) ; 以上程序段的循環(huán)次數(shù)是( )。B
A、2次 B、無限次
C、0 次 D、1 次
30、下列關(guān)于數(shù)組的特征錯(cuò)誤的是( )。 C
A、先定義后使用
B、可以有多維
C、定義數(shù)組長(zhǎng)度時(shí)可以用常量或變量
D、可以作參數(shù)傳遞
31、設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是( ) C
A) (x= y= 6, x+y,x+1) B)(x= y= 6,x+y,y+1)
C) (x= 6,x+1,y= 6,x+y) D) (y=6,y+l,x = y,x+1)
32、printf函數(shù)中用到格式符%5s ,其中數(shù)字5表示輸出的字符串占用5列 13、。如果字符串長(zhǎng)度大于5,則輸出按方式( ) B
A)從左起輸出該字串,右補(bǔ)空格
B)按原字符長(zhǎng)從左向右全部輸出
C)右對(duì)齊輸出該字串,左補(bǔ)空格
D)輸出錯(cuò)誤信息
33、printf函數(shù)中用到格式符%5s ,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度小于5,則輸出按方式。( )
A)從左起輸出該字串,右補(bǔ)空格
B)按原字符長(zhǎng)從左向右全部輸出
C)右對(duì)齊輸出該字串,左補(bǔ)空格
D)輸出錯(cuò)誤信息
34、已有定義 int a=-2;和輸出語句:printf("%8lx",a);以下正確的敘述是: D
A)整型變量的輸出格式符只有%d一種
B)%x 是格式符 14、的一種,它可以適用于任何一種類型的數(shù)據(jù)
C)%x 是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx 是錯(cuò)誤的
D)%8lx 不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度
35、putchar函數(shù)可以向終端輸出一個(gè): D
A)整型變量表達(dá)式值
B)實(shí)型變量值
C)字符串
D)字符或字符型變量值
36、#include 15、列哪個(gè)是讀寫文件出錯(cuò)檢測(cè)函數(shù)( )。A
A、ferror
B、clearerr
C、feof
D、fwrite
38、C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間( )。A
A、所有成員一直駐留在內(nèi)存中
B、只有一個(gè)成員駐留在內(nèi)存中
C、部分成員駐留在內(nèi)存中
D、沒有成員駐留在內(nèi)存中
39、fscanf函數(shù)的正確調(diào)用形式是( )。 A
A、fscanf(文件指針,格式字符串,輸出表列)
B、fscanf(格式字符串,輸出表列, fp)
C、fscanf(格式字符串,文件指針,輸出表列)
D、fscanf(文件指針,格式字符串,輸入表列) 16、
40、若以”a+”方式打開一個(gè)已存在的文件,則以下敘述正確的是( )。 D
A、文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作。
B、文件打開時(shí),原有文件內(nèi)容被刪除,位置指針移到文件開頭,可作重新寫和讀操作。
C、文件打開時(shí),原有文件內(nèi)容被刪除,只可作寫操作。
D、以上各種說法皆不正確。
二、主觀部分:
(一)讀程序?qū)懡Y(jié)果
1. 寫出以下程序運(yùn)行的結(jié)果。
main ( )
{
char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’116’;
printf(“a%c b%c\tc%c\tabc\n”, 17、c1,c2,c3);
printf(“\t\b%c %c”,c4,c5);
}
aa bb cc abc
A 6
2. 寫出以下程序運(yùn)行的結(jié)果。
main ( )
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
9,11,9,10
3. 寫出以下程序的輸出結(jié)果。
main ( )
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
3 3
4. 寫出以下程序的輸出結(jié) 18、果。
main ( )
{ int a=12345;
float b=-198.345, c=6.5;
printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);
}
a=12345,b=-1.98e+002,c= 6.50
5. 寫出以下程序的輸出結(jié)果。
main ( )
{ int x=-2345;
float y=-12.3;
printf(“%6D,%06.2F”,x,y);
}
D
6. 寫出以下程序的輸出結(jié)果。
main ( )
{ int a=252;
printf(“a=%o a=%#o\n”,a,a 19、);
printf(“a=%x a=%#x\n”,a,a);
}
a=374 a=0374
a=fc a=0xfc
7. 若運(yùn)行時(shí)輸入100↙,寫出以下程序的運(yùn)行結(jié)果。
main ( )
{ int a ;
scanf(“%d”,&a);
printf(“%s”,(a%2!=0)?”No”:”Yes”);
}
Yes
8. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int x,i ;
for (i=1 ; i<=100 ; i++) {
x=i;
if (++x%2==0)
if (++x%3==0)
if(++x%7==0)
20、printf(“%d ”,x) ;
}
}
28 70
9. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int i,b,k=0 ;
for (i=1; i<=5 ; i++) {
b=i%2;
while (b--) k++ ;
}
printf(“%d,%d”,k,b);
}
3,-1
10. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int a,b;
for (a=1,b=1 ; a<=100 ; a++) {
if (b>=20) break;
if (b%3==1) { b+=3 ; continue ; }
b- 21、=5;
}
printf(“%d\n”,a);
}
8
11. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int k=1,n=263 ;
do { k*= n%10 ; n/=10 ; } while (n) ;
printf(“%d\n”,k);
}
36
12. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int a=10,y=0 ;
do {
a+=2 ; y+=a ;
if (y>50) break ;
} while (a=14) ;
printf(“a=%d y=%d\n”,a,y) ;
}
a=16 y= 22、60
13. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int i,j,k=19;
while (i=k-1) {
k-=3 ;
if (k%5==0) { i++ ; continue ; }
else if (k<5) break ;
i++;
}
printf(“i=%d,k=%d\n”,i,k);
}
i=6,k=4
14. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int y=2,a=1;
while (y--!=-1)
do {
a*=y ;
a++ ;
} while (y--) ;
printf(“%d,%d\ 23、n”,a,y);
}
1,-2
15. 寫出下面程序運(yùn)行的結(jié)果。
main ( )
{ int i,k=0;
for (i=1; ; i++) {
k++ ;
while (k
fun (int n)
{ int k,r ;
for (k=2; k<=sqrt(n); k++) {
r = n 24、 % k ;
while (!r) {
printf(“%d”,k); n=n/k;
if (n>1) printf(“*”);
r = n % k ;
}
}
if (n!=1) printf(“%d\n”,n);
}
main ( )
{ int n ;
scanf(“%d”,&n);
printf(“%d=”,n);
if (n<0) printf(“-”);
n = fabs(n); fun(n);
}
-125=-5*5*5
17. 寫出下面程序的運(yùn)行結(jié)果。
int i=0;
fun1 (int i)
{ i = (i%i)*(i* 25、i)/(2*i)+4 ;
printf(“i=%d\n”,i);
return (i) ;
}
fun2(int i)
{ i = i<=2 ? 5 : 0 ;
return (i) ;
}
main ( )
{ int i = 5 ;
fun2(i/2) ; printf(“i=%d\n”,i) ;
fun2(i=i/2) ; printf(“i=%d\n”,i) ;
fun2(i/2) ; printf(“i=%d\n”,i) ;
fun1(i/2) ; printf(“i=%d\n”,i) ;
}
i=5
i=2
i=2
i=4
i=2
26、
18. 寫出下面程序的運(yùn)行結(jié)果。
main ( )
{ int a[6][6],i,j ;
for (i=1; i<6 ; i++)
for (j=1 ; j<6 ; j++)
a[i][j]=(i/j)*(j/i) ;
for (i=1;i<6 ; i++) {
for (j=1 ; j<6 ; j++)
printf(“%2d”,a[i][j]) ;
printf(“\n”);
}
}
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
19. 當(dāng)運(yùn)行下面程序時(shí),從鍵盤上輸入AabD↙,則寫出下 27、面程序的運(yùn)行結(jié)果。
main ( )
{ char s[80];
int i=0;
gets(s);
while (s[i]!=’\0’) {
if (s[i]<=’z’ && s[i]>=’a’)
s[i]=’z’+’a’-s[i] ;
i++;
}
puts(s);
}
AzyD
20. 當(dāng)運(yùn)行下面程序時(shí),從鍵盤上輸入7 4 8 9 1 5↙,則寫出下面程序的運(yùn)行結(jié)果。
main ( )
{ int a[6],i,j,k,m;
for (i=0 ; i<6 ; i++)
scanf (“%d”,&a[i]);
for (i=5 ; i>=0; i 28、--) {
k=a[5];
for (j=4; j>=0; j--)
a[j+1]=a[j] ;
a[0]=k;
for (m=0 ; m<6 ; m++)
printf(“%d ”,a[m]);
printf(“\n”);
}
}
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1 5 7
7 4 8 9 1 5
21.
#include 29、
for (i=p,j=p+n-1; i 30、\n”,*(p--)) ;
}
Java
dBase
C Language
Pascal
23. #include 31、=1; e.b=2;
e.in.x=e.a*e.b; e.in.y=e.a+e.b;
printf("%d %d",e.in.x,e.in.y);
}
4 8
25.
struct w { char low ; char high ; } ;
union u { struct w byte ; int word ; } uu;
main ( )
{ uu.word = 0x1234 ;
printf(“%04x\n”, uu.word); printf(“%02x\n”, uu.byte.high) ;
p 32、rintf(“%02x\n”, uu.byte.low); uu.byte.low = 0xff ;
printf(“%04x\n”, uu.word) ;
}
1234
12
34
12ff
(二)程序填空
1. 根據(jù)以下函數(shù)關(guān)系,對(duì)輸入的每個(gè)x值,計(jì)算出相應(yīng)的y值,請(qǐng)?zhí)羁帐钩绦蛲暾?
main ( )
{
int x,c,m;
float y;
scanf(“%d”,&x);
if (________(1)________) c=-1;
else c=________(2)________ ;
switch (c) {
case –1 : 33、y=0 ; break ;
case 0 : y=x ; break ;
case 1 : y=10 ; break ;
case 2 :
case 3 : y=-0.5*x+20 ; break ;
default : y=-2 ;
}
if (________(3)________)
printf (“y=%f”,y);
else
printf(“error!”);
}
(1)
2. 以下程序輸出x,y,z三個(gè)數(shù)中的最小值,請(qǐng)?zhí)睿?)空使程序完整。
main ( )
{ int x=4,y=5,z=8 ;
int u,v;
u = x 34、_____(1)________ ;
v = u 35、)________;
m=________(2)________;
n=________(3)________;
}
printf(“%d”,m);
}
(1) m%n
(2) n
(3) w
4. 下面程序段的功能是計(jì)算1000!的末尾有多少個(gè)零,請(qǐng)?zhí)羁帐钩绦蛲暾?
main ( )
{
int i,k;
for (k=0,i=5; i<=1000; i+=5)
{ m = i ;
while (________(1)________) { k++; m=m/5 ; }
}
}
(1) m%2==0
5. avg函數(shù)的作用是計(jì)算數(shù)組array 36、的平均值返回,請(qǐng)?zhí)?3)空使程序完整。
float avg(float array[10])
{ int i ;
float avgr , sum=0 ;
for (i=1; ________(1)________; i++)
sum+=________(2)________;
avgr = sum / 10 ;
________(3)________;
}
(1) i<10
(2) array[i]
(3) return avgr
6. 下面程序可求出矩陣a的主對(duì)角線上的元素之和,請(qǐng)?zhí)羁帐钩绦蛲暾?
main ( )
{ int a[3][3]={1,3,5, 37、7,9,11,13,15,17} , sum=0, i, j ;
for (i=0 ; i<3 ; i++)
for (j=0 ; j<3 ; j++)
if (________(1)________)
sum=sum+________(2)________;
printf(“sum=%d”,sum);
}
(1) i==j
(2) a[i][j]
7. 下面程序?qū)⑹M(jìn)制整數(shù)base轉(zhuǎn)換成n進(jìn)制,請(qǐng)?zhí)羁帐钩绦蛲暾?
main ( )
{ int i=0,base,n,j,num[20] ;
scanf(“%d”,&n);
scanf(“%d”,base) ;
38、
do {
i++;
num[i]= ________(1)________;
n=________(2)________;
} while (n!=0);
for (________(3)________) ;
printf(“%d”,num[j]) ;
}
(1)
(2)
(3)
8. 下面程序的功能是輸入10個(gè)數(shù),找出最大值和最小值所在的位置,并把兩者對(duì)調(diào),然后輸出調(diào)整后的10個(gè)數(shù),請(qǐng)?zhí)羁帐钩绦蛲暾?
main ( )
{ int a[10],max,min,i,j,k ;
for (i=0; i<10; i++)
scanf(“%d”,&a[i]); 39、
max=min=a[0];
for (i=0; i<10; i++) {
if (a[i]
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版教材三年級(jí)上冊(cè)道德與法治第四單元家是最溫暖的地方教學(xué)ppt課件 (全套)
- 蘇教版小學(xué)科學(xué)三年級(jí)下冊(cè)《雨下得有多大》課件1
- 花的形態(tài)與結(jié)構(gòu)課件匯總
- 一年級(jí)-數(shù)學(xué)下冊(cè)十幾減九人教版課件
- 電影膠片動(dòng)態(tài)課件
- 高電壓技術(shù)課件第六章
- 項(xiàng)目采購(gòu)管理(6)
- 四川省攀枝花市XX小學(xué)一年級(jí)數(shù)學(xué)下冊(cè)六100以內(nèi)的加法和減法二練習(xí)十三2課件蘇教版
- 山東省青島市黃島區(qū)海青鎮(zhèn)中心中學(xué)七年級(jí)歷史下冊(cè) 15 明朝君權(quán)的加強(qiáng)課件 新人教版
- 把握人物的性格特征
- 剪小紙人PPT課件
- 八年級(jí)物理探究凸透鏡成像規(guī)律8
- 1[1]22配方法2
- 近代機(jī)械行業(yè)唯物主義管理分析自然觀
- 全國(guó)科技創(chuàng)新大賽“科學(xué)幻想畫”獲獎(jiǎng)作品ppt課件