一、選擇題
1.一個C語言程序是由( )構(gòu)成。
A.語句 B.行號 C.數(shù)據(jù) D.函數(shù)
2.下面標(biāo)識符中正確的是( )。
A.d&ef B.6a C.z4x5c D.a3/b4
3.在C語言中,存儲一個字符型、整型、單精度實型變量所需的空間是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8
4.為了避免嵌套的條件分支語句 if——else中的else總是與( ) 組成成對關(guān)系。
A. 縮排位置相同的
B. 在其之前未配對的
C. 在其之前未配對的最近的if
D. 在同一行上的if
5.下列表達(dá)式的結(jié)果正確的是( )。
int aa,bb,cc,dd;
aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;
(aa+1==2)?bb=aa+2:aa+3
A.2 B.3 C. 1 D.5
6.設(shè)有int x=11 ;則表達(dá)式(x+1/3)的值是( )。
A.3 B. 4 C. 11 D.12
7.設(shè)有字符串A=“He has 錢!”,則該字符串的長度為( )。
A. 9 B. 10 C. 11 D. 8
8.有如下程序段,則正確的執(zhí)行結(jié)果是( )
int m=3;
while(m<=5)
{ printf(“%d ”,m-3); m++;}
A. 0 0 0 B.0 1 2 C.1 2 3 D.無結(jié)果
9.執(zhí)行語句:printf(“%d”,(a=2)&&(b= -2);后,輸出結(jié)果是( )。
A.無輸出 B.結(jié)果不確定 C.-1 D. 1
10.有如下定義類型語句,若從鍵盤輸入數(shù)據(jù),正確的輸入語句是( )。
int x; char y; char z[20];
A. scanf(“%d%c%c”,&x,&y,&z);
B. scanf(“%d%c%s”,&x,&y,&z);
C. scanf(“%d%c%c”,&x,&y,z);
D. scanf(“%d%c%s”,&x,&y,z);
11. struct ex
{ int x ; float y; char z ;} example;
則下面的敘述中不正確的是( )。
A. struct結(jié)構(gòu)體類型的關(guān)鍵字 B. example是結(jié)構(gòu)體類型名
C. x,y,z都是結(jié)構(gòu)體成員名 D. struct ex是結(jié)構(gòu)體類型
12.在C語言中對于實型數(shù)組,其每個數(shù)組元素的類型是( )。
A. 實型 B. 整型 C. 可以為任何類型 D. 不確定
13. 若已定義:int a[9],*p=a;不能表示a[1] 地址的表達(dá)式是( )。
A. p+1 B. a+1 C. a++ D. ++p
14. 在TC2.0環(huán)境中,對文件進行保存使用的命令是( )。
A. OPEN B. SAVE C. LOAD D. WRITE TO
15.在C++的類中,用于表示公共類型的關(guān)鍵字是( )。
A. class B. private C. protect D. public
二、填空題
1.在C語言中,正確的標(biāo)識符是由____________組成的,且由____________開頭的。
2. 設(shè)p=30,那么執(zhí)行q=(++p)后,表達(dá)式的結(jié)果q為______,變量p的結(jié)果為________.
若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是_________.
3. 一個變量的指針是指____________.
4. 在C語言程序中,對文件進行操作首先要____________;然后對文件進行操作,最后要對文件實行________操作,防止文件中信息的丟失。
5. 以下程序運行后的輸出結(jié)果是_________ .該程序的功能是_________ .
main()
{ int x=10,y=20 ,t=0;
if(x!=y) t=x; x=y; y=t;
printf("%d,%d\n",x,y); }
6. 若fp已正確定義為一個文件指針,d1.dat為二進制文件,請?zhí)羁?,以便為“讀”而打開此文件:fp=fopen( );。
7. 有以下程序,當(dāng)輸入的數(shù)值為2,3,4時,輸出結(jié)果為___________.
main()
{ int x,y,z;
cout 《 “please input three number”;
cin 》x》y》z;
sum=x*x+y*2+z;
cout《“sum of number is :”《sum;
}
8. 有以下程序
main()
{ char c;
while((c=getchar())!='?') putchar( - - c ); }
程序運行時,如果從鍵盤輸入:YDG?N?<回車>,則輸出結(jié)果為 .
9.在循環(huán)中,continue語句與break語句的區(qū)別是:_________continue語句是語句的區(qū)別是:_________continue語句是_________,break 是_________.
三、程序填空與算法題
1. 下面程序是計算10個整數(shù)中奇數(shù)的和及其偶數(shù)的和,請?zhí)羁铡?BR> #include
main()
{ int a,b,c,i;
a=c=0;
for(i=1;i<=10;i++)
{ scanf(“%d”,&b);canf(“%d”,&b);
}
printf(“偶數(shù)的和=%d\n”,a);
printf(“奇數(shù)的和=%d\n”,c); }
2.編寫一個自定義函數(shù),實現(xiàn)求兩個實數(shù)的平方和
3. 以下程序運行后的輸出結(jié)果是 .
main()
{ char s[ ]=“GFEDCBA”;
int p=6;
while(s[p]!=‘D’)
{ printf(“%c ”, p);
p=p-1; } }
4.定義一個反映學(xué)生信息的結(jié)構(gòu)體,包括學(xué)生的姓名,性別,年齡,成績等。
5.以下程序輸出的結(jié)果是 .
int ff(int n)
{ static int f=l;
f=f*n;
return f; }
main()
{ int i;
for(i=1;i<=5;i++) printf(“%d\n”,ff(i)); }
6. 設(shè)有以下程序:
main()
{ int n1,n2;
scanf(“%d”,&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf(“%d ”,n1); } }
程序運行后,如果從鍵盤上輸入1298;則輸出結(jié)果為 .
7.下面程序的功能是:輸出 100以內(nèi)(不包含100)能被 3整除且個位數(shù)為 6的所有整數(shù),請?zhí)羁铡?BR> #Include<stdio.h>
main()
{ int i, j;
for(i=1; ____________; i++)
if (________________)
printf(“%d”, j); }
8.現(xiàn)有一個單鏈表Head,如下圖所示,如果要在元素B和D之間插入一個字符型元素C.
所需要的語句為:(如果用到指針,在圖中標(biāo)出指針的位置)
A
B
Head
D
Z
∧
……
四、編程題
1. 編程實現(xiàn)求解下面的式子的結(jié)果
s=1*2+2*3+3*4+…+20*21
2.編程實現(xiàn)求下面的式子的結(jié)果
3.編程實現(xiàn)將文本文件file1.dat的內(nèi)容讀出來,顯示到屏幕上。
1.一個C語言程序是由( )構(gòu)成。
A.語句 B.行號 C.數(shù)據(jù) D.函數(shù)
2.下面標(biāo)識符中正確的是( )。
A.d&ef B.6a C.z4x5c D.a3/b4
3.在C語言中,存儲一個字符型、整型、單精度實型變量所需的空間是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8
4.為了避免嵌套的條件分支語句 if——else中的else總是與( ) 組成成對關(guān)系。
A. 縮排位置相同的
B. 在其之前未配對的
C. 在其之前未配對的最近的if
D. 在同一行上的if
5.下列表達(dá)式的結(jié)果正確的是( )。
int aa,bb,cc,dd;
aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;
(aa+1==2)?bb=aa+2:aa+3
A.2 B.3 C. 1 D.5
6.設(shè)有int x=11 ;則表達(dá)式(x+1/3)的值是( )。
A.3 B. 4 C. 11 D.12
7.設(shè)有字符串A=“He has 錢!”,則該字符串的長度為( )。
A. 9 B. 10 C. 11 D. 8
8.有如下程序段,則正確的執(zhí)行結(jié)果是( )
int m=3;
while(m<=5)
{ printf(“%d ”,m-3); m++;}
A. 0 0 0 B.0 1 2 C.1 2 3 D.無結(jié)果
9.執(zhí)行語句:printf(“%d”,(a=2)&&(b= -2);后,輸出結(jié)果是( )。
A.無輸出 B.結(jié)果不確定 C.-1 D. 1
10.有如下定義類型語句,若從鍵盤輸入數(shù)據(jù),正確的輸入語句是( )。
int x; char y; char z[20];
A. scanf(“%d%c%c”,&x,&y,&z);
B. scanf(“%d%c%s”,&x,&y,&z);
C. scanf(“%d%c%c”,&x,&y,z);
D. scanf(“%d%c%s”,&x,&y,z);
11. struct ex
{ int x ; float y; char z ;} example;
則下面的敘述中不正確的是( )。
A. struct結(jié)構(gòu)體類型的關(guān)鍵字 B. example是結(jié)構(gòu)體類型名
C. x,y,z都是結(jié)構(gòu)體成員名 D. struct ex是結(jié)構(gòu)體類型
12.在C語言中對于實型數(shù)組,其每個數(shù)組元素的類型是( )。
A. 實型 B. 整型 C. 可以為任何類型 D. 不確定
13. 若已定義:int a[9],*p=a;不能表示a[1] 地址的表達(dá)式是( )。
A. p+1 B. a+1 C. a++ D. ++p
14. 在TC2.0環(huán)境中,對文件進行保存使用的命令是( )。
A. OPEN B. SAVE C. LOAD D. WRITE TO
15.在C++的類中,用于表示公共類型的關(guān)鍵字是( )。
A. class B. private C. protect D. public
二、填空題
1.在C語言中,正確的標(biāo)識符是由____________組成的,且由____________開頭的。
2. 設(shè)p=30,那么執(zhí)行q=(++p)后,表達(dá)式的結(jié)果q為______,變量p的結(jié)果為________.
若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是_________.
3. 一個變量的指針是指____________.
4. 在C語言程序中,對文件進行操作首先要____________;然后對文件進行操作,最后要對文件實行________操作,防止文件中信息的丟失。
5. 以下程序運行后的輸出結(jié)果是_________ .該程序的功能是_________ .
main()
{ int x=10,y=20 ,t=0;
if(x!=y) t=x; x=y; y=t;
printf("%d,%d\n",x,y); }
6. 若fp已正確定義為一個文件指針,d1.dat為二進制文件,請?zhí)羁?,以便為“讀”而打開此文件:fp=fopen( );。
7. 有以下程序,當(dāng)輸入的數(shù)值為2,3,4時,輸出結(jié)果為___________.
main()
{ int x,y,z;
cout 《 “please input three number”;
cin 》x》y》z;
sum=x*x+y*2+z;
cout《“sum of number is :”《sum;
}
8. 有以下程序
main()
{ char c;
while((c=getchar())!='?') putchar( - - c ); }
程序運行時,如果從鍵盤輸入:YDG?N?<回車>,則輸出結(jié)果為 .
9.在循環(huán)中,continue語句與break語句的區(qū)別是:_________continue語句是語句的區(qū)別是:_________continue語句是_________,break 是_________.
三、程序填空與算法題
1. 下面程序是計算10個整數(shù)中奇數(shù)的和及其偶數(shù)的和,請?zhí)羁铡?BR> #include
main()
{ int a,b,c,i;
a=c=0;
for(i=1;i<=10;i++)
{ scanf(“%d”,&b);canf(“%d”,&b);
}
printf(“偶數(shù)的和=%d\n”,a);
printf(“奇數(shù)的和=%d\n”,c); }
2.編寫一個自定義函數(shù),實現(xiàn)求兩個實數(shù)的平方和
3. 以下程序運行后的輸出結(jié)果是 .
main()
{ char s[ ]=“GFEDCBA”;
int p=6;
while(s[p]!=‘D’)
{ printf(“%c ”, p);
p=p-1; } }
4.定義一個反映學(xué)生信息的結(jié)構(gòu)體,包括學(xué)生的姓名,性別,年齡,成績等。
5.以下程序輸出的結(jié)果是 .
int ff(int n)
{ static int f=l;
f=f*n;
return f; }
main()
{ int i;
for(i=1;i<=5;i++) printf(“%d\n”,ff(i)); }
6. 設(shè)有以下程序:
main()
{ int n1,n2;
scanf(“%d”,&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf(“%d ”,n1); } }
程序運行后,如果從鍵盤上輸入1298;則輸出結(jié)果為 .
7.下面程序的功能是:輸出 100以內(nèi)(不包含100)能被 3整除且個位數(shù)為 6的所有整數(shù),請?zhí)羁铡?BR> #Include<stdio.h>
main()
{ int i, j;
for(i=1; ____________; i++)
if (________________)
printf(“%d”, j); }
8.現(xiàn)有一個單鏈表Head,如下圖所示,如果要在元素B和D之間插入一個字符型元素C.
所需要的語句為:(如果用到指針,在圖中標(biāo)出指針的位置)
A
B
Head
D
Z
∧
……
四、編程題
1. 編程實現(xiàn)求解下面的式子的結(jié)果
s=1*2+2*3+3*4+…+20*21
2.編程實現(xiàn)求下面的式子的結(jié)果
3.編程實現(xiàn)將文本文件file1.dat的內(nèi)容讀出來,顯示到屏幕上。