版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言(二級(jí))筆試模擬試卷
(考試時(shí)間120分鐘,滿分共100分)
試卷I
-、單項(xiàng)選擇題(每小題1分,共20分)
1.若N為整型變量,則£。「("10;21;2-);循環(huán)里的循環(huán)體被()。
A)無(wú)限循環(huán)B)執(zhí)行9次C)執(zhí)行一次D)一次也不執(zhí)行
2.以下程序的輸出結(jié)果是()(注:備選答案中,一代表空格)
main()
printf(〃\n*sl=%15s*〃,“chinabeijing〃);
printf("\n*s2或-5s*〃,〃chi〃);
*sl二chinabeijing*B)*sl=chinabeijing___*
*s2=**chi*;*s2=chi*
*s1=*_chinabeijing*D)*sl=__chinabeijing*
*s2=_chi;*s2=chi_*;
3.設(shè)有整型變量a,單精度型變量f,雙精度型變量x,則表達(dá)式a+'b'+x*f值的類型為()。
A)intB)floatC)doubleD)不能確定
4.有以下說明語(yǔ)句,0<=iGO,則下面哪個(gè)是對(duì)數(shù)組元素的錯(cuò)誤引用
inta[]={l,2,3,4,5,6,7,8,9,0),*p,i;
P=a;
A.*(a+i)B.a[p-a]C.p+iD.*(&a[i])
5.以下所列的各函數(shù)首部中,正確的是()。
A.voidplay(var:Integer,varb:Integer)B.voidplay(inta,b)
C.Subplay(aasinteger,basinteger)D.voidplay(inta,intb)
6.下面程序運(yùn)行情況是()。
#include<stdio.h>
voidmainO
{intx=3,y=-10,z=10;
if(x=y+z)
printf(〃####〃);
else
printf("****〃);
A)有語(yǔ)法錯(cuò)誤不能通過編譯B)輸出####
C)可以通過編譯,但不能通過連接,因而不能運(yùn)行D)輸出****
7.如下程序運(yùn)行后x的值為()
#include<stdio.h>
voidmainO
{intx=5,b=3,x=10,y=20;
(a<b)&&(x++);
printf("x=%d\n”,x);
}
A)9B)10C)11D)12
8.表達(dá)式k=(12〈10)?4:l?2:3的值為()1,
A)1B)2C)3D)4
9.在下列程序中,調(diào)用fabona(8)的值是()
intfabona(intn)
{if(n==l)return(1);
elseif(n-2)return(2);
elsereturn(fabona(n-1)+fabona(n-2));
)
A)13B)21C)55D)34
10.C語(yǔ)言中,函數(shù)調(diào)用時(shí)若實(shí)參是數(shù)組名,則被調(diào)用函數(shù)對(duì)應(yīng)形參()。
A)可以是相應(yīng)類型簡(jiǎn)單變量B)必須是相應(yīng)類型的指針變量
C)必須是相應(yīng)類型數(shù)組名D)可以是相應(yīng)類型的指針變量
11.sizeofCa'+12)的值為()類型。
A)intB)floatC)doubleD)char
12.判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用()o
A)if(a==b)B)if(a=b)
C)if(strcpy(a,b))D)if(strcmp(a,b))
13.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是0。
A)在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B)C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
0函數(shù)必須有返回值,否則不能使用函數(shù)
D)C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
14.在〃文件包含〃預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用<>(尖括號(hào))括起
時(shí),找尋被包含文件的方式是()。
A.僅僅搜索當(dāng)前目錄
B.僅僅搜索源程序所在目錄
C.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
D.先在源程序所在目錄搜索,再按照系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
15.若二維數(shù)組a有m歹U,則計(jì)算任一元素在數(shù)組中位置的公式為()。
(假設(shè)a[0][0]位于數(shù)組的第1個(gè)位置上。)
A.i*m+jB.j*m+iC.i*m+j-lD.i*m+j+l
16.一個(gè)數(shù)據(jù)類型為void的函數(shù)中可以沒有return語(yǔ)句,那么函數(shù)的被調(diào)用時(shí)()。
A)沒有返回值B)返回一個(gè)系統(tǒng)默認(rèn)值
C)返回只有用戶臨時(shí)決定D)返回一個(gè)不確定的值
17.有定義:inty,*p=&y;,假定變量y在內(nèi)存中所占地址為100、103。那么p的值為()。
A)100B)101C)102D)103
18.設(shè)有定義:structsk
{inta;floatb;}data,*p;
若有p二&data;,則對(duì)data中的a域的正確引用是()
A)(*p).data.aB)(*p).aC)p->data.aD)p.data,a
19.有定義:inta[10][10],*p=a[O],j,k;,其中j和k表示數(shù)組元素下標(biāo)并在數(shù)組允許范圍
內(nèi),那么能夠正確引用元素值的是()。
A)*(a[j]+k)B)*((p+j)+k)0*(p[j]+k)D)(a+j)+k
20.有定義:char*s="\t\"Name\\Address\"\n";,那么strlen(s)等于()。
A)15B)16C)17D)18
二、不定項(xiàng)選擇題(每小題1分,共10分,錯(cuò)選、漏選均不得分)
1.在下面C語(yǔ)言的函數(shù)說明語(yǔ)句中,正確的是()。
A)intfun(int,int);B)intfun(intx,y);C)intfun(x,y);
D)intfun(intx;inty);E)intfun(intx,inty);
2.C語(yǔ)言中,形式參數(shù)不能使用的存儲(chǔ)類型說明為()。
A)autoB)registerC)externD)staticE)staticregister
3.在C語(yǔ)言中,對(duì)函數(shù)而言正確的概念有()。
A)函數(shù)可以嵌套定義B)函數(shù)不能嵌套定義C)函數(shù)可以嵌套調(diào)用
D)函數(shù)可以遞歸調(diào)用E)函數(shù)可以沒有返回值
4.有定義:inta[5]定],*p=a[0]則能正確引用a[2][3]元素地址的有()。
A)a[2]+3B)*((p+2)+3)C)*(p[2]+3)D)*(a+2)+3E)
p+2*4+3
5.下列選項(xiàng)中,對(duì)變量的初始化定義正確的是()。
A)inta,b,c=3;B)inta=3,b=3,c=3;C)inta=b=c=3;
D)inta=3;b=3;c=3;E)inta,b=c=3;
6.在下列語(yǔ)句所構(gòu)成的程序結(jié)構(gòu)中,break語(yǔ)句和continue語(yǔ)句均可使用的是()
A)用goto語(yǔ)句和if語(yǔ)句構(gòu)成的循環(huán)B)while循環(huán)C)do-while循環(huán)
D)for循環(huán)E)switch語(yǔ)句構(gòu)成的分支結(jié)構(gòu)
7.對(duì)結(jié)構(gòu)類型不能進(jìn)行的操作有()。
A)賦值和存取B)復(fù)制C)作實(shí)際參數(shù)
D)作函數(shù)的返回值類型E)&操作
8.C語(yǔ)言中的語(yǔ)句中除了控制語(yǔ)句外,還應(yīng)包括()。
A)函數(shù)調(diào)用語(yǔ)句B)表達(dá)式語(yǔ)句C)空語(yǔ)句
D)復(fù)合語(yǔ)句E)輸入輸出語(yǔ)句
9下列關(guān)于文件的結(jié)論中正確的是()。
A)對(duì)文件操作必須先關(guān)閉文件B)對(duì)文件操作必須先打開文件
0對(duì)文本文件只能順序操作D)C語(yǔ)言不能操作二進(jìn)制文件
E)對(duì)文件操作結(jié)束后必須關(guān)閉文件
10.以下說法中不正確的是()。
A)宏名必須大寫B(tài))預(yù)處理時(shí)要檢查宏定義中的拼寫錯(cuò)誤
C)程序中所有與宏名相同的字符串都要進(jìn)行置換
D)可以用$undef命令終止宏定義的作用域
E)宏定義有帶參數(shù)和不帶參數(shù)兩種
三、判斷分析題(如正確,選擇V;如錯(cuò)誤,選擇X。每小題1分,共10分)
1.在一個(gè)函數(shù)定義中,可以根據(jù)需要使用多個(gè)return語(yǔ)句。
2.--個(gè)C程序無(wú)論有多少個(gè)源程序文件組成,在其中一個(gè)源程序文件中定義的全局變量
的作用域默認(rèn)為整個(gè)C程序。
3.對(duì)任一變量一旦指定為某一確定類型后,該變量在程序運(yùn)行時(shí)所占存儲(chǔ)空間的多少和
所能參加的運(yùn)算類型便已確定了。
4.可以將一個(gè)整型指針變量的值賦給一個(gè)實(shí)型指針變量,但可能引起符號(hào)位擴(kuò)展。
5.在程序的運(yùn)行過程中,符號(hào)常量的值是可以改變的。
6.函數(shù)返回值的數(shù)據(jù)類型取決于主調(diào)函數(shù)傳遞過來的實(shí)參的數(shù)據(jù)類型。
7.表達(dá)式128>>2的值是32。
8.用C語(yǔ)言編寫的程序是一種需要經(jīng)過編譯和連接才能運(yùn)行的程序。
9.函數(shù)fseek(fp,10L,1)的作用是將fp指向的文件內(nèi)部指針從當(dāng)前位置后移10個(gè)字節(jié)的
位置。
10.C語(yǔ)言中,所有函數(shù)之間都可以互相調(diào)用。
四、填空題。(每空2分,共20分)
1.以下程序中,主函數(shù)調(diào)用了LineMax函數(shù),實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行
上的最大值。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN3
#defineM4
voidLineMax(intx[N][M])
(
inti,j,p;
for(i=0;i<N;i++)
(
p=0;
for(j=l;j<M;j++)
if(x[iHp]<x[i][j])①;
printf("Themaxvalueinlineis%d\n",②;
)
}
voidmainO
(
intx[N]=5,7,4,2,6,4,3,8,2,3,1};
_______________?_______________;
)
2.以下程序的功能是:從整數(shù)10~99之間選出那些能被3整除、且有一位數(shù)字是5的數(shù)存
放到x數(shù)組中,并輸出這些數(shù)的個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
voidmain0
(
intx[100],k,a,b,i④,;
for(k=10;k<=99;k++)
{b=k/10;
a=k-b*10;
if(⑤)}
{x[i]=k;
i++;
}
)
printfC數(shù)據(jù)個(gè)數(shù)是:\n〃,i);
3.函數(shù)hs的功能是根據(jù)下面的公式求出滿足精度要求的乃值,請(qǐng)?zhí)羁胀瓿珊瘮?shù)。
doublehs(doubleep)
{doubles=0.0,t=l.0;
intn,fg=l;
for(⑥;t>ep;n++)
{s=s+fg*t;
t=1.0/(2*n+l);
fg=-fg;
)
return?;
)
4.函數(shù)yh的功能是構(gòu)成一個(gè)楊輝三角形,請(qǐng)?zhí)羁胀瓿稍摵瘮?shù)。
#include<stdio.h>
#defineN11
voidyh(a[][N])
(
intj,k;
}
for(⑧;j<N;j++)
for(k=2;k<=j-l;k++)
a[j][k]=⑨+a[j-l][k];
)
5.下述程序用“輾轉(zhuǎn)相除法”計(jì)算兩個(gè)正整數(shù)m和n的最大公約數(shù)。請(qǐng)?zhí)羁胀瓿沙绦颉?/p>
ttinclude<stdio.h>
voidmain()
(
intm,n,w;
scanf("%5d,%d〃,&m,&n);
while(n)
{w=⑩;m=n;n=w;}
printf(〃%d〃,m);
)
五、閱讀程序,寫出運(yùn)行結(jié)果(每小題4分,共20分)
1.給出以下程序的運(yùn)行結(jié)果()。
#include<stdio.h>
intx,y,a=15,b=10;
voidnum()
x二a-b;
y=a+b;
)
voidmain()
(
inta=7,b=5;
x=x+a;
y=y-b;
num();
printf(〃%d,%d\n,z,x,y);
)
2.以下程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
unsignedfun6(unsignednum)
{unsignedk=l;
do
{k*=num%10;
num/=10;
}while(num);
return(k);
)
voidmain()
{unsignedn=26;
printf(,,%d\n,z,fun6(n));
)
3.下面程序的輸出結(jié)果是()
ttinclude<stdio.h>
voidff(char*pl,char*p2)
{while(*p2++=*pl++)
)
voidmain()
{char*pl=〃abcde〃,*p2=〃1234567〃;
ff(pl,p2);
printf("%s\n%s\n”,pl,p2);
)
4.下列程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
voidmain()
{char*ay=〃abcdefghijk〃,*p;
for(p=&ay[5];p>=ay;p-)
printf(〃%2c〃,*p);
printf("\n〃);
}
5.#include<stdio.h>
voidmain()
{intfun(inta);
inta=2,j;
for(j=0;j<3;j++)
printf(〃%d〃,fun(a));
)
intfun(inta)
{intb=0;
staticintc=3;
b++,c++;
returna+b+c;
)
六、編程序。(每小題10分,共20分)
1.函數(shù)adddigit的原型為intadddigit(intnum);,其功能是求num各位數(shù)字之和。要求編
制該函數(shù)并用相應(yīng)的主函數(shù)進(jìn)行測(cè)試。
2.函數(shù)的原型說明為intchrn(char*s,charc);其功能是測(cè)試c在s中出現(xiàn)的次數(shù),編制該
函數(shù)并用相應(yīng)的主函數(shù)對(duì)其進(jìn)行測(cè)試。
試卷II
一、單項(xiàng)選擇題。(每小題1分,共20分)
1.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型()
A.只能是0或1B.只能是0或非0正數(shù)
C.只能是整型或字符型數(shù)據(jù)D.可以是任何類型的數(shù)據(jù)
2.表達(dá)式“c=*p++”的執(zhí)行過程是()。
A.將*p的賦值給c后再執(zhí)行p++B.將*p的賦值給c后再執(zhí)行*p++
C.將p的賦值給c后再執(zhí)行p++D.執(zhí)行p++后將*p賦值給c
3.有定義:inta[]={l,3,5,7,9},*p=a;則值為5的表達(dá)式是()。
A)p+=2,*p++B)p+=2,*p++C)p+=2,(*p)++D)a+=2,*a
4.在C語(yǔ)言中,函數(shù)返回值的數(shù)據(jù)類型取決于()。
A)函數(shù)的名字B)return語(yǔ)句中表達(dá)式的數(shù)據(jù)類型
C)在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型D)主調(diào)函數(shù)的數(shù)據(jù)類型
5.設(shè)x,y分別為單精度和雙精度類型變量,則下列選項(xiàng)()可將表達(dá)式x+y的運(yùn)算結(jié)果強(qiáng)
制轉(zhuǎn)換為整型數(shù)據(jù)。
A)(int)x+yB)int(x)+yC)int(x+y)D)(int)(x+y)
6.設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中值為0的是()?
A)x&&y;B)x〈=y;C)x||y+z&&y-z;D)!((x<y)&&!z111);
7.如果程序中有#include“文件名”則意味著()。
A)將“文件名”所指的該文件的全部?jī)?nèi)容,嵌入到此語(yǔ)句行處。
B)指定標(biāo)準(zhǔn)輸入輸出C)宏定義一個(gè)函數(shù)D)條件編譯說明
8.若有說明:inta[][4]={0,0};則下面不正確的敘述是().
A.數(shù)組a的每個(gè)元素都可得到初值0
B,二維數(shù)組a的第一維大小為1
C.因?yàn)槎S數(shù)組a中第二維大小的值除以初值個(gè)數(shù)的商為1,故數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和可得到初值0,其余元素均得不到初值0
9.以卜只有在使用時(shí)才為該變量分配內(nèi)存單元的存儲(chǔ)類型說明是()。
A.auto和staticB.autoregister
C.register和staticD.extern和register
10.有定義:inta[5],*pl=a,*p2=pl;,則能夠正確表示元素a[2]的是()。
A)*(p2+2)B)p2+2C)*pl+2D)*p2+2
11.以下為一維整型數(shù)組a的正確說明是()o
A.inta(20);B.intN=30,a[N];
C.intm;D.#defineSIZE40;
scanf&m);inta[SIZE];
inta[m];
12.設(shè)有如下程序:
#include<stdio.h>
voidmain()
{int**k,*j,i=100;
j=&i;k=&j;
printf(〃%d\n”,**k);
)
上述程序的輸出結(jié)果是()。
A)運(yùn)行錯(cuò)誤B)100C)i的地址D)j的地址
13.結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是()。
A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B)遞歸結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)
構(gòu)
C)嵌套結(jié)構(gòu)、遞歸結(jié)構(gòu)、順序結(jié)構(gòu)D)循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)、順序結(jié)
構(gòu)
14.C語(yǔ)言在判斷一個(gè)量時(shí),用()表示邏輯真值。
A)trueB)TC)整型值0D)非0整型值
15.C語(yǔ)言源程序經(jīng)過編譯后,生成文件的后綴是()o
A>.cB>.objC、.ccD、.exe
16.下列常數(shù)中不能作為C的常量的是()o
A.0xA5B.2.5e-2C.3e2D.0582
17.若有定義floatx,y;inta,b;則合法的switch語(yǔ)句是()
A)switch(a)B)switch(a)
{case3+x:printf("abc〃);case3printf(〃abc〃);
case4:printf(〃123abc〃);}case4printf(,z123abc);}
C)switch(b)D)switch(a+b);
{default:a++;{case1+2:printf(“1234”)
case1:printf("abc");case1:printf("abc");
case1+2:printf(“1234”);}default:a++;}
18.針對(duì)typedef的敘述中不正確的是(
A)用typedef可以增加系統(tǒng)內(nèi)置新類型
B)用typedef可以用來定義各種類型名,但不能用來定義變量
0用typedef只是將已經(jīng)存在的類型用一個(gè)新的標(biāo)識(shí)符來代表
D)用typedef有利于程序的通用和移植
19.在16位系統(tǒng)中,要將一個(gè)整數(shù)12000分別以ASCII碼文件和二進(jìn)制文件形式存放,各自所
占的存儲(chǔ)空間數(shù)分別是()字節(jié)。
A)5和2B)2和5C)2和2D)5和5
20.設(shè)有整型變量a,實(shí)型變量f,雙精度型變量x,則表達(dá)式10+'b"+x*f值的類型為()。
A)intB)floatC)doubleD)不能確定
二、不定項(xiàng)選擇題。(每題1分,共10分,錯(cuò)選、漏選均不得分)
1.C語(yǔ)言中,對(duì)存儲(chǔ)類型static而言,正確的方法為()。
A)作用于局部變量B)作用于全局變量C)作用于數(shù)組
D)作用于構(gòu)造數(shù)據(jù)類型變量E)作用于形式參數(shù)
2.C語(yǔ)言的函數(shù)定義中,如果函數(shù)的返回值為0到255之間的整數(shù),則函數(shù)的返回類型可以定
義為()。
A)intB)floatC)charD)doubleE)long
3.C語(yǔ)言的語(yǔ)句中除了控制語(yǔ)句外,還應(yīng)包括()。
A)函數(shù)調(diào)用語(yǔ)句B)表達(dá)式語(yǔ)句C)空語(yǔ)句D)復(fù)合語(yǔ)句E)
輸入輸出語(yǔ)句
4.在下列說法中,正確的是()。
A)和其他語(yǔ)言一樣,C語(yǔ)言本身也提供了輸入輸出語(yǔ)句。
B)在C語(yǔ)言中,賦值語(yǔ)句和賦值表達(dá)式不是兩個(gè)等價(jià)的概念。
C)語(yǔ)句斕=丫+3;與*=乂旃+3;的執(zhí)行效果是一樣的。
D)在inta=3,b=3,c=3;中對(duì)變量的初始化不是在編譯階段完成的。
E)語(yǔ)句x=a>b?a:b;與語(yǔ)句if句〉b)x=a;elsex=b;的作用等價(jià)。
5.有定義:structA{intx;inty)a,*p=&a;則能表示成員變量x的有()。
A)a.xB)(*p).xC)p->xD)p.xE)a->x
6.若有inta=10,b=100,t,*temp,*ptra=&a,*ptr=&b;則下列各語(yǔ)句組中,可實(shí)現(xiàn)a,b兩個(gè)整
型變量值互換的是()。
A)t=a;a=b;b=t;B)t=*ptra;*ptra=*ptrb;*ptrb=t;
C)temp=ptra;ptra=ptrb;ptrb=temp;D)a=a+b;b=a-b;a=a-b;
E)b=a;a=b;
7.對(duì)于下列定義,正確的敘述是()
unionss
{inti;
charc;
floatf;
}a,b;
A)變量a所占內(nèi)存的長(zhǎng)度等于成員f的長(zhǎng)度
B)變量a的地址值和它的各成員地址值都是相同的
C)地址表達(dá)式&a、&a.i、&a.c、&a.f的值相同
D)變量a所占內(nèi)存的長(zhǎng)度等于各成員所占空間之和
E)sizeof(unionss)的值為4
8.若有定義chars[20]="Programming",*ps=s;則能夠代表字符。的表達(dá)式是()。
A)ps+2B)s[2]C)ps[2]D)ps+=2,*psE)*(ps+2)
9.下列哪些運(yùn)算符的優(yōu)先級(jí)相同且運(yùn)算次序從左到右()。
A)()、口、->B)++、~C)<、>=
D)&&、||E)&、|、八
10.以下是屬于算法的特點(diǎn)的選項(xiàng)()。
A)有窮性B)確定性C)有效性
D)有零性和多個(gè)輸入E)有一個(gè)或多個(gè)輸出
三、判斷分析題(如正確,選擇V;如錯(cuò)誤,選擇X。每小題1分,共10分)
1.若有定義:longintj,*p;則操作j=(longint)p;是合法操作。
2.C語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的處理是在程序連接時(shí)進(jìn)行的。
3.在C語(yǔ)言中,定義inta=b=c=5;是錯(cuò)誤的,而inta,b,c;a=b=c=5;是正確的。
4.兩個(gè)char型數(shù)據(jù)相加,其結(jié)果為char型。
5.用fseek函數(shù)可以使文件指針重新置于文件的開頭。
6.C語(yǔ)言中,任意兩個(gè)函數(shù)間不能嵌套定義,但可以互相調(diào)用。
7.return語(yǔ)句作為函數(shù)的出口,在某一個(gè)函數(shù)體內(nèi)必須唯一。
8.在C語(yǔ)言中,程序main。{int*ptr;*ptr=100;printf(〃%d〃,*ptr);}是正確的。
9.C語(yǔ)言與其他高級(jí)語(yǔ)言一樣,對(duì)于所有的同級(jí)運(yùn)算符均遵循左結(jié)合原則。
10.C語(yǔ)言在判斷一個(gè)量是否為真時(shí),以非0值代表“真”,以0值代表“假”。
四.填空題。(每空2分,共20分)
1.下列程序的功能是輸入一個(gè)正整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0,請(qǐng)?zhí)?/p>
空完成程序。
#include<stdio.h>
voidmainO
{inti,x,?;
scanf("%”,&x);
for(i=2;i<=x/2;i++)
if(②){y=0;break;}
printf("%d\n",y);
)
2.下面程序的功能是統(tǒng)計(jì)從命令行上傳遞進(jìn)來的第?個(gè)參數(shù)中出現(xiàn)的字母?jìng)€(gè)數(shù)。請(qǐng)?zhí)羁胀瓿?/p>
程序。(注:參數(shù)個(gè)數(shù)從0開始記數(shù))
#include<stdio.h>
#include<ctype.h>
voidmain(intargc,(3)argv[])
(
char*str;
intcount=0;
if(argc<2)
return;
str=?;
while(*str)
if(isalpha(*str++))
count++;
printf(〃%d\n〃,count);
}
3.下面程序用于計(jì)算1+(1+2)+(1+2+3)+.....+(1+2+3+......+10),請(qǐng)完善程序。
#include<stdio.h>
voidmainO
{inttotal,sum,m,n;
___________________;
for(m=l;m<=10;m++)
{sum=0;
for(n=l;n<=m;n++)sum=sum+n;
⑥___________;
)
printf(//total=%\n,\total);
)
4.下面函數(shù)的功能是求一正整數(shù)的各位數(shù)字之積,請(qǐng)?zhí)羁铡?/p>
intfun(intn)
(
ints=?;
while(n)
(
s=s*(8);
n=n/10;
)
returns;
)
5.下面程序的功能是從鍵盤輸入一些字符,逐個(gè)把它們寫到文件中去,直到輸入?個(gè)“#"
為止。請(qǐng)?zhí)羁胀瓿沙绦颉?/p>
/include<stdio.h>
voidmain()
{FILE*fp;
charch,filename[13];
scanffilename);
if(⑨=NULL)
{printf(/zcannotopenfile\n〃);
return;
)
while((ch=getchar())!=⑩)
fputc(ch,fp);
fclose(fp);
}
五.閱讀程序,寫出運(yùn)行結(jié)果(每小題4分,共20分)
1.下列程序的運(yùn)行結(jié)果是()。
Sinclude<stdio.h>
voidmain()
{char*string[4]={〃pascal〃,〃c〃,“basic","fortran"},**ptr;
inti;
ptr=string;
for(i=0;i〈4;i++)
puts(ptr[i]);
}
2.下列程序的輸出結(jié)果是()。
#include<stdio.h>
ttdefineMIN(x,y)(x)<(y)?(x):(y)
^defineML(x,y)x*y
voidmain()
{inta,b,k,m;
a=10;
b=15;
k=10*MIN(a,b);
m=ML(a+b,a-b);
printf(〃%d,%d〃,k,m);
)
3.以下程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
voidincre()
{staticinty=0;
y=y+l;printf(〃%d\n〃,y);
}
voidmain()
{increO;
incre();
incre();
)
4,下述程序的輸出結(jié)果是()。
Sinclude<stdio.h>
voidmain()
{charmn口=〃Goodbye”;
char*pc=
while(一pc>=mn)
putchar(*pc);
putchar(〃\n〃);
)
5.下述程序的運(yùn)行結(jié)果是()。
^include<stdio.h>
voidmain()
inta=100,x=10,y=20,okl=5,ok2=0;
if(x<y)
if(y!=10)
if(!okl)
a=l;
else
if(ok2)a=10;
a=-l;
printf("%d'n",a);
)
六.編程序。(每小題10分,共20分)
1.函數(shù)mxmiav的原型為:doublemxmiav(doublea[],intn,double*max,doble*min);,
其功能是同時(shí)獲取長(zhǎng)度為n的實(shí)型數(shù)組a中的最大元素值,最小元素值和元素平均值。測(cè)試用
主函數(shù)如卜所示,請(qǐng)編制該函數(shù)。
#include<stdio.h>
voidmain()
(
doublemxmiav(doublea[],intn,double*max,double*min);
doubleac[10],maxc,mine,averc;
inti;
for(i=0;i<10;i++)
scanf&ac[i]);
averc=mxmiav(ac,10,&maxc,&minc);
printf("zniax=%lf,min=%lf,aver=%lf\n”,maxc,mine,averc);
)
2.編制程序?qū)崿F(xiàn)功能:統(tǒng)計(jì)指定文本文件myfile.txt中英語(yǔ)字母的個(gè)數(shù)。
試卷III
一、單項(xiàng)選擇題(每小題1分,共20分)
1.在執(zhí)行語(yǔ)句if(x=y=2>=x&&(x<5))y*=x;后變量x、y的值應(yīng)分別為()
A.X=2,Y=2B.X=5,Y=2
C.X=5,Y=10D.執(zhí)行時(shí)報(bào)錯(cuò)
2.設(shè)有定義:intx,*p;,能使指針變量p指向變量x的語(yǔ)句是()。
(A)*p=&x;⑻p=&x;
(C)*p=x;(D)p=*&x;
3.設(shè)有定義:char*s="\t\'REACJ\\12345ss\'\n";,那么strlen(s)等于()
(A)15(B)16(C)17(D)18
4.在執(zhí)行語(yǔ)句if((x=y=2)>=x&&(x=5))y*=x;后變量x、y的值應(yīng)分別為()
(A)2、2(B)5、2(C)5,10(D)執(zhí)行時(shí)報(bào)錯(cuò)
5.若N為整型變量,則for(N=10;N=0;N-);循環(huán)里的循環(huán)體被()。
(A)無(wú)限循環(huán)(B)執(zhí)行10次(C)執(zhí)行一次(D)一次也不執(zhí)行
6.下列程序段的輸出結(jié)果是()。
intx=l,y=l,z;
z=l||++x&&y一;
printf("\n%d,%d,%d”,x,y,z);
(A)l,1,1(B)2,0,1(C)2,1,1(D)2,0,0
7.執(zhí)行下述語(yǔ)句后的結(jié)果是()o
enumweekday{sun,mon=3,tue,wed,thu);
enumweekdayday;
day=wed;
printf("%d\n〃,day);
(A)5(B)6(C)4(D)編譯時(shí)出錯(cuò)
8.設(shè)有定義語(yǔ)句struct{intx;inty;}d[2]={{1,3},{2,7}};,則
printf("%d\n",d[0].y/d[0].x);的輸出結(jié)果是()。
(A)0(B)l(C)3(D)6
9.已有定義int(*p)();指針p可以()o
A.代表函數(shù)的返回值B.指向函數(shù)的入口地址
C.表示函數(shù)的類型D.表示函數(shù)返回值的類型
10.設(shè)有如下所示結(jié)構(gòu)體類型定義,則下列說法錯(cuò)誤的是()。
structstu
{ingnum;
charname[20];
);
(A)結(jié)構(gòu)體變量的指針就是這個(gè)結(jié)構(gòu)體變量所占內(nèi)存單元的起始地址
(B)經(jīng)structstu*p;定義后,指針p可以指向任何類型的結(jié)構(gòu)體變量
(C)經(jīng)structstuss,*p=&ss;定義后,p->num+l等價(jià)于(p->num)+l
(D)經(jīng)structstuss,*p=&ss;定義后,p->num++等價(jià)于(*p).num++
11.設(shè)inta=0,b=5,c=2;選擇結(jié)構(gòu)中可執(zhí)行x++語(yǔ)句的是()。
(A)if(a)x++(B)if(a=b)x++;
(C)if(a=<b)x++;(D)if(!(b-c))x++;
12.在下列程序中,函數(shù)調(diào)用f(8)后得到的值是()。
intf(intn)
(
if(n==l)return(1);
elseif(n==2)return(2);
elsereturn(f(n-1)+f(n-2));
)
(A)13(B)21(C)55(D)34
13.設(shè)有下列語(yǔ)句
typedefstruct
{intn;
charch[8];
}Stt;
則下面敘述正確的是()。
(A)Stt是結(jié)構(gòu)體變量(B)Stt是結(jié)構(gòu)類型名
(C)typedefStruct是結(jié)構(gòu)體類型(D)struct是結(jié)構(gòu)體類型名
14.設(shè)有定義語(yǔ)句:charcl=92,c2=92;,則以下表達(dá)式中值為零的是()。
A.clc2B.cl&c2C.?c2D.cl|c2
15.有兩個(gè)字符數(shù)組a、b,則以下正確的輸入語(yǔ)句是()o
A.gets(a,b);B.scanf(繪s%s”,a,b);
C.scanf(//%s%s/z,&a,&b);D.gets("a"),gets("b");
16.設(shè)有變量定義intx,y;,則表達(dá)式(x=2,y=5,y—,++x+y)的值是()?
(A)5(B)8(C)6(D)7
17.數(shù)組定義為“inta[4]數(shù)下列錯(cuò)誤的引用是()。
A.*aB.*(*(a+2)+3)
C.&a[2][3]D.++a
18.x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是()。
A.abs(x-y)<10B.x_y>~10&&x-y<10
C.@(x-y)<-10||!(y-x)>10D.(x-y)*(x-y)<100
19.以下程序運(yùn)行后,輸出結(jié)果是()o
#include<stdio.h>
#definePT5.5
#defines(x)PT*x*x
voidmain()
{
inta=l,b=2;
printfC%4.lf\n",s(a+b));
)
(A)49.5(B)9.5(C)22.0(D)45.0
20.假設(shè)有C語(yǔ)句doublex,*y=&x,**z=&y;,則與變量x等價(jià)的是()。
(A)z(B)*z(C)**z(D)&z
二、基本概念選擇填空題(本大題后面有若干備選項(xiàng),請(qǐng)選擇合適的備選項(xiàng)并將其號(hào)碼填入
各小題的空白處,每空2分,共10分)
1.一個(gè)C源程序可以由函數(shù)構(gòu)成,其中有且僅有—主函數(shù),C程序執(zhí)行總是從_
開始的。
2.在16位系統(tǒng)中,設(shè)有定義floatx,*p=&x;,那么執(zhí)行p++;后指針p的值增加了字
節(jié).
3.在對(duì)一維數(shù)組進(jìn)行初始化時(shí),若提供了數(shù)組所有的初始化值省略對(duì)數(shù)組長(zhǎng)度的指
定。
備選項(xiàng):
①一個(gè)②4個(gè)③2個(gè)④若干個(gè)⑤主函數(shù)⑥也不能⑦就可以
三、程序填空題(每空2分,共20分)
1.函數(shù)strjoin的功能是實(shí)現(xiàn)字符串si和s2的連接,請(qǐng)?zhí)羁胀晟坪瘮?shù)。
voidstrjoin(char*sl,char*s2)
(
while(*sl)
①;
while((*sl++=*s2++)!='\0')
2.下面程序的功能是求一維數(shù)組的各位元素之積,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
floatpro(floata[],intn)
(
inti;
floatp=l;
for(i=0;i<n;i++)
p*=③;
returnp/n;
)
voidmain()
(
inti;
floatb[10];
for(i=0;i<10;i++)
scanf&b[i]);
printf(z,\n%5.2f\n”,pro(?));
)
3.下面程序的功能是將-個(gè)字符串str的內(nèi)容顛倒過來,請(qǐng)?zhí)羁铡?/p>
main()
{charstr[]={nabcdefg"};
char*pl,*p2,ch;
p1=str;
p2=str;
while(*p2!=W)p2++;
⑤;
while(pl<p2)
{ch=*pl;*pl=*p2;*p2=ch;
⑥;
p2-;}
}
4.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁胀晟瞥绦颉?/p>
#include<stdio.h>
voidmainO
(
intk,p;
ints[]={l,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])
⑦
printf("%d\n",k);
5.下面程序的功能是從鍵盤輸入一些字符,逐個(gè)把它們寫到文件中去,直到輸入一個(gè)
字符為止,請(qǐng)?zhí)羁胀晟瞥绦颉?/p>
#include<stdio.h>
#include<stdlib.h>
voidmain()
(
FILE*fp;
charch,filename[10];
printf(z,Inputfilename:",);
scanf(〃%s〃,filename);
if((fp=fopen(filename,〃w〃))==NULL)
(
printf("'cannotopenfile\n〃);
exit(0);
)
while((ch=getchar())!='#')
(
⑧
putchar(ch);
)
fclose(fp);
)
6.下面函數(shù)fl的功能是求x的n次方,請(qǐng)?zhí)羁胀晟坪瘮?shù)定義。
doublefl(doublex,intn)
(
inti;
doublek;
for(i=l,k=x;i<n;i++)
⑨
returnk;
)
7.下面函數(shù)fun的功能是求一個(gè)3*4矩陣中的最小元素,請(qǐng)?zhí)羁胀晟坪瘮?shù)定義。
intfun(inta[][4])
(
inti,j,k,min;
min=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(@)
min=a[i][j];
returnmin;
)
四、閱讀程序題(每小題5分,共30分)
1.下面程序的輸出結(jié)果是()。
#include<stdio.h>
intm=13;
voidmain()
(
intfun(intx,inty);
inta=7,b=5;
printf(//%d\n,/,fun(a,b)/m);
}
intfun(intx,inty)
(
intm=3;
returnx*y-m;
)
運(yùn)行結(jié)果:
2.下面程序的輸出結(jié)果是()。
#include<stdio.h>
voidmain()
(
inta[]={l,3,5},s=l,j,*p=a;
for(j=0;j<3;j++)
s*二*(p+j);
printf(〃s=%d\n〃,s);
}
運(yùn)行結(jié)果:
3.下面程序的輸出結(jié)果是()。
#include<stdio.h>
#include<string.h>
voidmain()
(
charstr[20]=〃xyz”;
charsi口=〃abed”;
chars2□二〃ABCD〃;
strepy(str+1,strcat(sl+1,s2+l));
puts(str);
)
運(yùn)行結(jié)果:
4.下面程序的輸出結(jié)果是()o
#include<stdio.h>
voidmain()
staticinta[][3]={9,7,5,3,1,2,4,6,8};
inti,j,sl=O,s2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
(
if(i==j)
sl+=a[i][j];
if(i+j==2)
s2+=a[i][j];
)
printf(z,%d,%d\n,z,si,s2);
)
運(yùn)行結(jié)果:
5.下面程序的輸出結(jié)果是()
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省揚(yáng)州市儀征市2019-2020學(xué)年八年級(jí)下學(xué)期期中物理試題【含答案、解析】
- 2025版圖書館圖書出版資助合同規(guī)范模板3篇
- 2025版二手豪華轎車買賣及保養(yǎng)維修增值合同3篇
- 廣東省韶關(guān)市2024-2025學(xué)年八年級(jí)上學(xué)期期末地理試題(含答案)
- 2025年度木材廠租地合同與生態(tài)補(bǔ)償協(xié)議書4篇
- 2025年代購(gòu)物品委托合同
- 2025年醫(yī)療信息軟件開發(fā)協(xié)議書
- 2025年學(xué)員就業(yè)服務(wù)合作協(xié)議
- 2025年分期付款美食餐飲外賣協(xié)議
- 2025年加盟經(jīng)營(yíng)合同簽署簽訂
- 2025-2030年中國(guó)草莓市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展趨勢(shì)分析報(bào)告
- 奕成玻璃基板先進(jìn)封裝中試線項(xiàng)目環(huán)評(píng)報(bào)告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎(chǔ)設(shè)施全過程工程咨詢服務(wù)招標(biāo)文件范本(2020年版)修訂版
- 人教版八年級(jí)英語(yǔ)上冊(cè)期末專項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- GB/T 44304-2024精細(xì)陶瓷室溫?cái)嗔炎枇υ囼?yàn)方法壓痕(IF)法
- 年度董事會(huì)工作計(jì)劃
- 《退休不褪色余熱亦生輝》學(xué)校退休教師歡送會(huì)
- 02R112拱頂油罐圖集
- 2021年新教材重慶生物高考真題(含答案解析)
- 酒店協(xié)議價(jià)格合同范文(8篇)
評(píng)論
0/150
提交評(píng)論