




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
歷年計算機C語言專升本題目(-)
(總分100分,考試時長90分鐘)
一、單項選擇題(每小題2分,共40分)
1、以下標(biāo)識符中,不能作為合法的C用戶定義標(biāo)識符的是o
A、putchar
double
C、_123
D、INT
2、下面判斷正確的是o
A、char*a=〃china〃;等價于char*a;*a=〃china”;
charstr[5]=,,china,/;等價于charstr口=“china”;
C、char*S二〃china〃;等價于char*S;S="china”;
charc[4]-"abc”,d[4]-〃abc〃;等價丁ch"c[4]-d[4]-〃abc〃;
3、c語言對嵌套的if語句的規(guī)定是:else總是與配對。
A、與之前最近的述
B、第一個if
C、縮進位置相同的if
D、與之前最近的且尚未配對的if
4、若變量已正確定義,以下while循環(huán)正常結(jié)束時,累加到pi的最后一項item
的值滿足o
A、item的絕對值小于0.0001
B、item的絕對值大于0.0001
C、item的絕對值大于等于0.0001
D、item的絕對值小于等于0.0001
5、設(shè)有以下語句:charstrl□="string”,str2[8],*str3,*str4=〃string";則
下列選項中,不是對庫函數(shù)strepy的正確調(diào)用,此庫函數(shù)用來復(fù)制字符串。
A、strepy(str1,“HELLO1〃);
strepy(str2,,,HELL02,/);
C、strepy(str3,,,HELLO3,/);
D、strepy(str4,“HELLO4");
6、設(shè)有定義:longx-1234561;則以下能夠正確輸出變量x值的語句是
__O
A、printf("x二%d\n",x)
printf("x=%ld\n",x)
C、printf((ix=l\n”,x)
D、printf(wx=%D\nw,x);
7、下面程序輸出的結(jié)果是.
ttinclude<stdio.h>
voidmain()
(
inti,j,x=0;
staticinta[6]={l,2,3,4,5,6);
for(i=0,j=l;i<5;++i,j++)x+=a[i]*a[j];
printfC/%d\n,,>x);
)
A、數(shù)組a中首尾的對應(yīng)元素的乘積
B、數(shù)組a中首尾的對應(yīng)元素的乘積之和
C、數(shù)組a中相鄰各元素的乘積
D、數(shù)組a中相鄰各元素的乘積之和
8、調(diào)試程序是指對程序進行
A^編輯
B、編譯
C、查錯和排錯
D、連接
9、從鍵盤上輸入某字符串時,不可使用的函數(shù)是()。
A、getchar()
B、gets()
C、scanf()
fread()
10、設(shè)charstr[100];inti=5;則引用數(shù)組元素的錯誤形式的是
A、str[I+10]
B、*(srr+
C、(str+I-1)
*(&(str++)+
11、有以下程序
main()
(
inta=666,b=888;
printf("%d\n〃,a,b);
}
程序運行后的輸出結(jié)果是O
A、錯誤信息
B、666
C、888
D、666,888
12、算法具有五個特性,以下選項中不屬于算法特性的是o
A、有窮性
B、簡潔性
C、可行性
D、確定性
13設(shè)有數(shù)組定義:chararray□:"china”;則數(shù)組array所占的空間為
A、6字節(jié)
B、5字節(jié)
C、4字節(jié)
D、7字節(jié)
14、設(shè)有如下定義:
structsk
(
intn;
floatx;
}data,*p;
若要使p指向data中的n域,正確的賦值語句是________。
A、p=&datn;
*p=datn;
C、p=(structsk*)&datn;
D、p=(structsk*)datn;
15、已知字母a的ascii碼為65,以下程序運行后的輸出結(jié)果是
#include<stdio.h>
main()
(
charcl,c2;
cl=a'+'8'-'4>;
c2='a'+'8'5';
printf(z,%c,%d\n,\cl,c2);
}
A、E,68
B、D,69
C、E,D
D、輸出無定值
16、有如下程序
#includedstdio.h>
voidmain()
(
inti,sum=0;
for(i=l;i<=3;sum++)sum+=i;
printf(〃/d\n〃,sum);
)
該程序的執(zhí)行結(jié)果是.
A、6
B、3
C、死循環(huán)
D、0
17、以下選項中,能定義m為合法的結(jié)構(gòu)體變量的是______。
A^typedefstructabc{
doublea;charb;}m;
B、struct(
doublea;charb;)m;
C^structABC{
doublea:charb;}ABCm;
D、typedefABC{
doublea;charb;)ABCm;
18、下面程序的輸出結(jié)果是。
main()
(
externinta;
ai=3;
f();
printf(〃%d\n〃,a);
)
inta=2;
voidf()
(
printf(〃%d&〃,a*a);
a+=a;
)
A、2510
B、25&25
C、10&25
D、25&10
19、以下敘述中錯誤的是o
A、對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出
B、數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C、當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出
“下標(biāo)越界”的出錯信息
D、可以通過賦初值的方式確定數(shù)組元素的個數(shù)
20、有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量bo
則不能把結(jié)點b連接到結(jié)點a之后的語句是o
structnode
(
chardata;
structnode*next;
a,b,*p=&a,*q=&b;
A、3475
B、3574
C、1234
D>1235
二、填空題(每小題2分,共20分)
1、在c語言中,關(guān)系運算符中的〃等于〃表示為。
2、以下程序的輸出結(jié)果是_______。
main()
(
intx=5,y=6;
printf(〃/da%d〃,x---,----y);
)
3、若有"inta[3][2]={{1,2},{3},{4,5});
〃,則a[2][2]的值是o
4、若有定義:inta=5,b=2,c=l;則表達式a-bVc|b二二c的值是。
5、c語言三個循環(huán)語句分別while語句、語句和語句。
6、下列程序的功能是計算圓的面積,將程序補充完整。
ttdefinePI=3.14159
main()
(
floatr,s;
printfC'Enteranumberr:〃);
s=PI*r*r;
}
7、在c語言中,按函數(shù)在程序中出現(xiàn)的位置可分為以下三種調(diào)用方式:函數(shù)語句、
函數(shù)表達式和函數(shù)0
8、若有〃inta[3][2]={{l,2},{3},{4,5}};〃,則的值是。
9、有以下程序
#include<stdio.h>
mainO{
intn[2],i,j;
for(i=0;i<2;i++)n[i]=O;
for(i=O;i<2;i++)
for(j=0;j<2;j++)n[j]=n[i]+l;
printf(〃%d\n〃,n[l]);
}程序運行后的輸出結(jié)果是。
10、mystrlcn函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請
填空。intmystrlen(char*str)
{
inti;
for(i=0;!='\0';i++);
return();
}
三、編程題(每小題分,共40分)
1、編寫程序:輸出200?300之間的所有素數(shù),要求每行輸出8個素數(shù)。
(本題10分)
2、任意輸入兩行字符串,把第二行字符串連接到第一行字符串末尾(不用strcat
函數(shù))。(本題14分)
3、通過函數(shù)調(diào)用實現(xiàn):講結(jié)構(gòu)體數(shù)組中的三個元素按num成員進行升序排列。
要求:
①數(shù)組元素依次賦初值為:{12,"sunny”,89.1}[8,"henry",73.5}、
{21,〃lucy”,9L7}。
②結(jié)構(gòu)體定義如下:structs{intnum;charname[30];floatscore;};(本題
16分)
參考答案
一、單項選擇題
1、A
2、C
【解析】選項A)char*a;*a="china”應(yīng)改為a二china;,選項B)應(yīng)該是
charstr[6];D)項表述方法有錯誤。
3、D
4、A
5、C
6、B
7、D
8、C
9、A
10、D
11、B
【解析】本題考查的是輸出格式。printfO函數(shù)中,當(dāng)格式轉(zhuǎn)換說明符個數(shù)少
于輸出項個數(shù)時,多余的輸出項不予輸出。
12、B
【解析】本題考/的是算法的特性。有窮性、確定性、有零個或多個輸入、有
一個或多個輸出、有效性是算法的五大特性。
13、A
【解析】在本題的定義方式中,系統(tǒng)會自動在數(shù)組最后加入一個‘\0',表示字
符數(shù)組的結(jié)束,因此數(shù)組的長度是6個字節(jié)。
14、C
【解析】本題主要考查了結(jié)構(gòu)體變量引用成員數(shù)據(jù)的方法,主要有以下幾種:
結(jié)構(gòu)體變量名,成員名或結(jié)構(gòu)體指針成員名的方法來引用結(jié)構(gòu)體成員。
15、A
【解析】cl='A'+'8'-'4'='A'+'4'='E',c2='A'+'8'-'5'='A'+'3'='D'(ASCII
碼為68),所以程序運行結(jié)果為E,68。
16、C
17、B
18、D
19、C
20、B
【解析】在被調(diào)用過程中,有這樣的語句“StaticSum”,因為變量Sum是局
部變量,局部變量除了可以用Dim語句聲明外,還可用Static語句將變量聲明
為靜態(tài)變量,它在程序運行過程中可保留變量的值,這就是說每次調(diào)用過程
時,用Static說明的變量保持原來的值。具體過程分析如下:調(diào)用P(l),
所以在被調(diào)過程中N=L執(zhí)行ForNext循環(huán),P(l)=Sum=l;調(diào)用P(2),所以
在被調(diào)過程中N=2,執(zhí)行ForNext循環(huán),P(2)=Sum=4;調(diào)用P(3),所以在被
調(diào)過程中N=3,執(zhí)行ForNext循環(huán),P(3)=Sum=10;調(diào)用P(4),所以在被調(diào)過
程中N=4,執(zhí)行ForNext循環(huán),P(4)=Sum=20;不難看出,最后輸出的結(jié)臭S
值應(yīng)為1+4+10+20=35,所以選項C)正確。
二、填空題
1、==
2、5a5
3、無#不存在
4、0
5、['do-while語句','for語句']
6、['scanf&r)','printf(〃s=%f〃,s)']
7、參數(shù)
8、0
9、3
10^「*(str+i)str[i]','i']
三、編程題
1、^include<stdio.h>
#include<math.h>
main()
intm,j,n=0,k;
for(m=200;m<=300;m++)
k=sqrt(m);
for(尸2;jV=k;j++)
/**********x*foiind************/
if(m%j-0)continue;
if(j>k)
(
if(n%8==0)printf(〃\n〃);
/******x*****fcund************/
printf("%d,”,m);
n++;
}
}
)
2、^include<stdio.h>
#include<string.h>
intmain()
(
charsi[80],s2[80];
inti,11,12,j;
gels(sl);
gets(s2);
ll=strlen(si);
12=strlen(s2);
for(i=ll,j=0;j<12;i++,j++){
sl[i]=s2[j]:
puts(sl);
return0;
)
3、寫法1:在函數(shù)外部定義結(jié)構(gòu)體變量并且賦值,參數(shù)值為空。
charname[30];
floatscore;
}a[3]={{12,“sunny”,89.1},{8,“henry”,73.5},{21,〃lucy〃,91.7}};
voidfun()
(
inti,j;
struct,st:
for(i=0;i<2;i-+)
(
for(j=0;j<2-i;j++)
(
if(a[j].num>a[j+l].num)
(
t=a[j];
a[j]=a[j+l];
a[j-l]=t;
}
}
)
)
intmain()
(
inti;
fun();
for(i=0;i<3;i-+)
printf(,z%d,%s,%f\n,,>a[i].num,a[i].name,a[i].score);
}
return0;
)
8,henry,73.500000
12,sunny,89.099998
21,lucy,91.699997
寫法2:在主函數(shù)中定義變量,通過參數(shù)傳遞變量值
charname[30];
fIoatscore;
};
voidfun(structs*a,intn)
(
inti,j;
structst;
for(i=0;i<n-l;i++)
(
for(j=0;j<n-l-i;j++)
(
if(a[j].num>a[j+l].num)
(
l=a[j];
a[j]=a[j+l];
=t;
)
)
intmainO
structsa[3]={{12,"sunny",89.1),(8,"henry",73.5),
{21,〃lucy〃,91.7}};
inti;
fun(a,3);
for(i=0;i<3;i-+)
(
printf("%d,%s,%f\n”,a[i].num,a[i].name,a[i].score);
}
rpturn0;
)
8,henry,73.500000
12,sunny,89.099998
21,lucy,91.699997
歷年計算機C語言專升本題目(二)
(總分100分,考試時長90分鐘)
一、單項選擇題(每小題2分,共40分)
1、編寫c語言程序并上機調(diào)試運行的一般過程是_______。
限編輯f編譯f連接--運行
B、編譯編輯一連接一運行
C、編輯一連接一編譯一運行
D、編譯一連接一編輯一運行
2、表達式X&&1等價于________o
A、x==0
B、x==1
C、x!=0
D.x!=1
3、與〃尸(x>0?l:xV0?T:0)〃;的功能相同的if語句是o
A、if(x>0)y=l;
if(x)
elseif(x>0)y=l;
elsey=0;elseif(x%0)y=-l;
elsey=0;
C、y=-l
D、y=0;
if(x)if(x>=0)
if(x>0)y=l;if(xi>=0)y=l;
elseif(x-0)y=0;elsey=-l;
elsey=-l;
4、結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。
A、順序結(jié)構(gòu)
B、GOTO跳轉(zhuǎn)
C、選擇(分支)結(jié)構(gòu)
D、重復(fù)(循環(huán))結(jié)構(gòu)
5、若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0WiW9,則
對a數(shù)組元素不正確的引用是________o
A^a[p-a]
B、*(&
C、p
D、a[10]
6、下列語句合法的是。
A、4+c=b=0;
a=++c;
C、a=2=b=6;
D^a=4++;
7、已知有數(shù)組定義chara[3][4];下列表達式中錯誤的是________。
A、a[2]=〃WIN〃
B、strcpy(a[2],Z,WIN,Z)
C、a[2][3]='W'
D、a[O][l]=a[O][l]
8、若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是
A、-3
B、9
C、-12
D、6
9、判斷兩個字符串是否相等,正確的表達方式是_______o
A、while(sl==s2)
B、while(sl=s2)
C>while(strcmp(sl,s2)==0)
D、while(strcmp(si,s2)=0)
10、若有定義:inta[3][4];不能表示數(shù)組元素a[l][l]?
A、*(a[l]+l)
B、*(&a⑴⑴)
C、(*(a+l)[l])
Ds*(a+5)
11、有以下函數(shù)定義:
voidfun(intn,doublex)
)
若以下選項中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是
A、fun(inty,doublem);
B、k=fun(10,12.5);
C、fun(x,n):
D^voidfun(n,x);
12、若變量均已正確定義并賦值,以下合法的c語言賦值語句是o
A、x=n/2.5;
B、x==5;
C、x+n=I;
D>5=x=4+l;
13、若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元
int*pp二___malloc(sizeof(int));則應(yīng)填入
A、int
int*
C、(*int)
D^(int*)
14、下面賦值表達式不正確的是.
structstudent
(
longnum;
charnameL20];
}stl,*p=&stl,st2={101,〃tom〃};
A、stl=st2
p->name=st2.name
C、p->num=st2.num
D、*p=st2
15、若有定義:inta,b,c;以下程序段的輸出結(jié)果是a=ll;b=3;c=0;
printf(z/%d\nz,,c=(a/b,a%b));
A、2
B、0
C、3
D、1
16、判斷關(guān)鍵字*不是關(guān)鍵字。
A、int
B、extern
C、break
main
17、設(shè)有以下語句:
typedefstructtt{charc;inta[4];}cin;則下面敘述中正確的是
__o
A、可以用TT定義結(jié)構(gòu)體變量
B、TT是struct類型的變量
C、可以用CIN定義結(jié)構(gòu)體變量
D、CIN是structTT類型的變量
18x以下程序的輸出結(jié)果是。charstr[15]=〃hello!〃;
printfstrlen(str));
A、15
B、14
C、7
D、6
19、下列程序的運行結(jié)果是_____o
main()
inta[6],i;
for(i=2;i<6;i+-)
a[i]=4*(i-2^(i>3))%5;
printf("%2d",a[i]);
)
}
A>2323
B、1212
C、3232
D>2222
20、下列程序的輸出結(jié)果是________。
^include<stdio.h>
structabc
(
inta,b,c,s;
};
main()
(
structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=sLOj.a+s[l].b;
printf(〃%d\n〃,t);
)
A、5
B、6
C、7
D、8
二、填空題(每小題2分,共20分)
1、在c語言中,用轉(zhuǎn)義字符表示。答題提示:雙引號/單引號
/反斜線/橫向跳格/回車換行
2、在vc++編譯環(huán)境下,c語言基本整型變量所占字節(jié)數(shù)是一o
3、c語言規(guī)定,不能使用c語言中的_______做標(biāo)識符。
4、C語言中,關(guān)系表達式和邏輯表達式的值是0
5、c語言程序的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和。
6、設(shè)有以下程序:
main()
{
intnl,n2;
scanf(〃%d〃,&n2):
while(n2!=0)
(
nl=n2;
n2=n2/10;
printf(z/%d”,nl);
}
)
程序運行后,如果從鍵盤上輸入1298;
則輸出結(jié)果為________0
7、在定義函數(shù)時函數(shù)名后面括號中的變量名稱為o
8、若有說明:inta口⑶={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小
為o
9、以下程序運行結(jié)果是o
^include<stdio.h>
voidmain()
(
intx,y=l;
if(y!=0)x=5;
,x);
if(y==0)x=4;
elsex=5;
printf(,,\t%d\n,/,x);
x=l;
if(y<0)if(y>0)x=4;
elsex=5;
printf(〃\t%d\n”,x);
}
10、語句putcharCa'+2);的輸出結(jié)果是。
三、編程題(每小題分,共40分)
1、己知a,b,c都是1位整數(shù),求當(dāng)三位整數(shù)abc、cba的和為1333時a、b、
c的值。(本題10分)
2、輸入一個字符串和一個特定字符,在字符串中刪除從該特定字符開始的所有
字符。例如輸入字符串為〃abcdefg”,特定字符為'd',刪除后的字符串為〃abc〃;
輸入字符串為〃abcdefg〃,特定字符為'x',則輸出“特定字符不存在”。(本
題14分)
3、題目描述
萬里十佳歌手比賽終于開始了,評委席坐了N(N大于等于3,并且N小于80)個
評委,他們商量了很久,終于找出一個公正合理的評分方法。每次歌手唱完后,
每個評委自己打一個分,然后在N個評委的打分中,去掉一個最高分,一個最低
分。然后再把剩下的評委的打分求平均值~。
但是問題是他們嫌每次拿計算器按實在太煩。作為一名計算機專業(yè)學(xué)生、你用個
程序幫幫他們搞定吧。
輸入
輸入有*多組數(shù)據(jù)。每組2行,第一行是一個N,代表有N個評委。然后第二行有
N個數(shù),每個數(shù)用空格隔開,代表每個評委的打分。
當(dāng)輸入的N為0的時候結(jié)束輸入。
輸出
對于每組輸入,輸入最終這個選手的得分(小數(shù)點后面保留2位有效數(shù)字)。
樣例輸入
3
743634
7
16972726749688
樣例輸出
36.00
62.20(本題16分)
參考答案
一、單項選擇題
1、A
2、C
3、B
4、B
5、D
【解析】通常,引用一個數(shù)組元素可以用下標(biāo)法,如s[p-a]和p[i]的形式;或
指針法,如*(&a[i])的形式。在本題中如0]=0,a[9]=9,顯然a[10]超出了數(shù)
組范圍。
6、B
7、A
【解析】本題考查數(shù)組的基本知識,B、C、D在C語言中都是允許的,A選項的
賦值是非法的。
8、C
9、C
10、D
11、C
12、A
13、D
【解析】不論P是指向什么類型的指針變量,都可以通過強制類型轉(zhuǎn)換的方法
使之類型一致,強制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型*)。
14、B
15、A
16、C
17、C
【解析】將題目中的定義語句去掉前面的typedef和后面的CIN(分號保留),
就是一條完整的結(jié)構(gòu)體定義語句,其中struct是說明符,TT是結(jié)構(gòu)體名,大
括號里面的是結(jié)構(gòu)體成員的定義。此時要聲明該結(jié)構(gòu)體變量時需要使用struct
加結(jié)構(gòu)體名一起來聲明,structTT一起構(gòu)成一人結(jié)構(gòu)體類型,就好像字符類
型char。若只去掉前面的typedef,就是一條結(jié)構(gòu)體定義同時聲明個結(jié)構(gòu)體變量
CIN的語句,因為CIN的前面部分是structTT的完整寫法,可以看作是
structTToC語言允許用typedef說明一種新類型名,其語法格式為:
typedef類型名標(biāo)設(shè)符;
以后就可以用該標(biāo)識符來代替被說明的類型名了。因此,當(dāng)前面存在
typedef時,該語句就變成了給structTT的定義一個新的名稱CTN。所以,此
時的CIN是一個結(jié)構(gòu)體類型,它相當(dāng)于structTT,即可以和char一樣單獨用
來聲明該結(jié)構(gòu)體變量,而TT只是一個結(jié)構(gòu)體名,不能單獨用來聲明變量。所
以,4個選項中C符合題意。
18、D
19、C
【解析】本題程序的功能是對數(shù)組元素賦值,難點是對表達式4*(i-2*(i>
3))%5的分析。
20、B
【解析】在本題中,s[0].a=l,s[l].b=5,所以輸出結(jié)果為中
二、填空題
1、單引號
2、4
3、關(guān)鍵字
4、0或1
5、['循環(huán)結(jié)構(gòu)']
6、8921
7、形參
8、3
9、5|5,1
【解析】上程序中第三個if語句有嵌套,前兩個if語句沒有嵌套。前兩個if
語句根據(jù)y=l便可得知輸出結(jié)果均為5;最后一人if語句,根據(jù)條件yVO便
知不成立,后續(xù)語句無法執(zhí)行,只好輸出前一賦值語句x=l的值。
10、結(jié)果是c
三、編程題
1、^include
voidmain()
(
inta,b,c;
for(a=l;a<=9;a+-)
(
for(b=0;b<=9;b++)
{
for(c=l:c<=9;c++)
if(a*100+b*10+c+c*100+b*10+a==-333)
printf("%d,%d,%d\n,,?a,b,c);
)
)
}
2、#include<stdio.h>
intmain()
(
inti,flag=0;
chars[80],n;
gets(s);
scanf&n);
printf("特定字符是機\n〃,u);
for(i=0;s[i]!='\0';i++){
if(s[i]==n){
s[i]-\0J;
flag=l;
printf("刪除特定字符枇后的字符串是〃,n);
puts(s);
break;
}else
flag=O;
}
if(flag==O){
printf(〃特定字符不存在〃);
)
)
3、#include<stdio.h>
intmain(){
intt,n,i,max,nin,sum:
intscore[102]=(O);
while(scanf(z/%dx,&n)){
if(n==0)break;
for(i=0;i<n;++i)
scanf(〃%d〃,&score[i]);
max=-l;
min=101;
sum=0;
for(i=0;i<n;++i){
if(score[i]>max)
max=score[i];
if(score[i]<min)
min=score[i];
sum+=score[i];
}
sum一二max-min;
printf(,z%.21f\n,/,(double)sum/(n-2));
)
returnO;
歷年計算機C語言專升本題目(三)
(總分100分,考試時長90分鐘)
一、單項選擇題(每小題2分,共40分)
1、如果要求在if后的判斷條件是a不等于0,則下列選項中能正確表達這一關(guān)
系的是o
A、a<>0
B、!a
C、a=0
D、a
2、若fahr為整型變量,則能正確表示以下數(shù)學(xué)式的c語言表達式是o
A、5*(fahr-32)/9
B、5/9*(fahr-32)
C、5(fahr-32)/9
D、(fahr-32)/9*5
3、有以下程序
main()
(
inti=l,j=l,k=2;
if((j++IIk++)&&i++)
printf("%d,%d,%d\n”,i,j,k);
)
執(zhí)行后輸出結(jié)果是o
A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3
4、下面程序段的輸出結(jié)果是.
x=3;
do
(
y二x一;
if(!y)
(
printf(〃*〃);
continue;
)
printf(〃#〃);
)
while(x=2);
A、##
B、##*
C、死循環(huán)
D、輸出錯誤信息
5、在函數(shù)調(diào)用過程中,如果函數(shù)funa調(diào)用了函數(shù)funb,函數(shù)funb又調(diào)用了函數(shù)
funa,貝1o
A、稱為函數(shù)的直接遞歸調(diào)用
B,稱為函數(shù)的間接遞歸調(diào)用
C、稱為函數(shù)的循環(huán)調(diào)用
D、C語言中不允許這樣的遞歸調(diào)用
6、若有代數(shù)式|x3+lgx],則正確的c語言表達式是o
A、fabs(x*3+log10(x))
abs(pow(x,3)+loglO(x))
C>abs(pow(x,3)0)+logl0(x))
fabs(pow(x,3)0)+log10(x))
7、若有以下定義和語句:inta[10]={l,2,3,4,5,6,7,8,9,10},*ia=a;則不能
正確表示a數(shù)組元素的表達式是o
A、*ia
B、a[10]
C^*a
a[ia-a]
8、若已定義x和y是整型變量,x=2;,則表達式y(tǒng)=2.75+x/2的值是。
A、5.5
B、5
C、3
D、4.0
9、字符串〃xyz〃在內(nèi)存占用的字節(jié)數(shù)是o
A、3
B、4
C、6
D、8
10、以下數(shù)組定義中不正確的是.
A、inta[2][3];
B、intb[][3]={0,1,2,3};
C、intc[100][100]={0};
D、inta[3][]={{l,2},{1,2,3},{1,2,3,4));
11、以下關(guān)于宏的敘述中正確的是o
A、宏名必須用大寫字母表示
B、宏定義必須位于源程序中所有語句之前
C、宏替換沒有數(shù)據(jù)類型限制
D、宏調(diào)用比函數(shù)調(diào)用耗費時間
12、整型變量x和y的值相等,且為非0值,則以下選項中結(jié)果為0的表達式是
A、X||Y
B、X|Y
C、X&Y
D、X"
13、下面關(guān)于形參與實參的說法,正確的是o
A、形參與實參的人數(shù)、類型、順序都應(yīng)一一對應(yīng)
B、形參與實參的人數(shù)可以不必相同,少一個多一個程序一樣執(zhí)行
C、形參與實參的類型可以不同,不影響運算結(jié)果
D、形參與實參的類型個數(shù)相同,而順序不同,計算機可以自動進行匹配,所
以形參的順序無所謂,只要各種形參類型的數(shù)量與實參相同即可
14、有以下程序
structstu
(
charnum[10];
floatscore[3];
};
main()
(
structstu
s[3]={{"20021〃,90,95,85},{〃20022〃,95,80,75),{"20023",100,95,90)},2;
inti;
floatsum=0;
P=s+2;
for(i=0;i<3;i+-)sum=sum+p->score[i];
printfC'%6.2f\n”,sum);
)
程序運行后的輸出結(jié)果是O
A、250.00
B、250
C、285.00
D、285
15、有以下程序
#include<stdio.h>
main()
(
intx=l,y=0;
if(!x)y++;
elseif(x—0)if(x)y+=2;
elsey+=3;
printfC%d\n',y);
程序運行后的輸出結(jié)果是一。
A、0
B、2
C、1
D、3
16、下列敘述中正確的是________o
A^break語句只能用于switch語句體中
B、continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C、break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
D、在循環(huán)體內(nèi)使月break語句和continue語句的作用相同
17、程序中有下面的說明和定義
structabc
(
intx;
chary;
)
structabcsi,s2;
則會發(fā)生的情況是。
A、編譯出錯
B、程序?qū)㈨樌幾g、連接、執(zhí)行
C、能順利通過編譯、連接、但不能執(zhí)行
D、能順利通過編譯、但連接出錯
18、下面程序段的輸出結(jié)果是o
#include<stdio.h>
mainO
(
floatx=l.236547;
printf("%f\n〃,(int)(x*1000+0.5)/(float;1000);
)
A、1.237000
B、輸出格式說明與輸出項不匹配,輸出無定值
C、1.236000
D、1.24
19、以下能正確定義數(shù)組并正確賦初值的選項是______。
A、intN=5,a[N][N];
B.intb[l][2]={{l},{2});
C、intc[2][]={{1,2},{3,4}};
D、intd[3][2]={{1,2),(3,4}};
20、設(shè)有以下說明語句
typedefstruct
intn;
charch[8];
)
per;
則下面敘述中正確的是o
A、PER是結(jié)構(gòu)體變量名
B、PER是結(jié)構(gòu)體類型名
C、typedefstruct是結(jié)構(gòu)體類型
struct是結(jié)構(gòu)體類型名
二、填空題(每小題2分,共20分)
1、全局的外部變量與函數(shù)體內(nèi)定義的局部變量同名時,在函數(shù)體內(nèi),變
量起作用。
2、實型常量有兩種表示方法:小數(shù)形式和【1】形式。
3、inta=0;a+=(a=8);求a的最后結(jié)果
4^已知b=2,則表達式〃b+二b-=3〃的值是o
5、語句只能用在循環(huán)中,該語句的作用是結(jié)束本層本次循環(huán),繼續(xù)一下次循環(huán),前
不跳出循環(huán)。
6、下列程序段的運行結(jié)果是____o
#definesub(x,y)x-y
main()
inta,b,s;
A=5,b=6;
S=sub(a,b);
printf(//s=%d\n/,,s);
}
7、一個C程序有且僅有一個______函數(shù)。
8、數(shù)組inta[3][3];共定義了個數(shù)組元素。
9、a=3;
a+=(a<l)?a:1;
printf(〃/d〃,a);
結(jié)果是o
10、請閱讀下面的程序,當(dāng)用戶從鍵盤輸入helloworld時,分析程序是否能編繹
通過并正確運行,如果不能,說明原因;
如果能,請寫出運行結(jié)果。
voidmain()
(
charstr[256];
scanf();
printf();
)
hallo
三、編程題(每小題分,共40分)
1、輸入3個學(xué)生4門課的成績{(60,70,65,75),(75,80,75,90),(95,75,90,65)},
計算每個學(xué)生的總分和平均成績并輸出,結(jié)果保留一位小數(shù)。(本題10分)
2、編寫程序:字符串反轉(zhuǎn),如將字符串"abc-123-xyz"反轉(zhuǎn)為〃zyx-321-cba〃。
(本題14分)
3、編寫程序:使用結(jié)構(gòu)體,創(chuàng)建一個長度為n的鏈表。(本題16分)
參考答案
一、單項選擇題
1、D
【解析】if判斷條件的值只能是0或非0,if3)就是if(!0)的意思。
2、A
3、C
【解析】首先計算if語句后面的表達式值,先計算運算符&&前面括號里的
“I”運算。在“I”運算中先計算j++,值為:(j的值為2),為真,后面的
k++將不再計算,k的值依舊為2。計算&&后面的表達式i++,值為l(i的值變
為2)。整個表達式的值為真,所以執(zhí)行后面的輸出語句,最后輸出的i、j和k
的值為2、2和2。
4、C
5、B
【解析】在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,稱為
函數(shù)的遞歸調(diào)用。本題描述的函數(shù)調(diào)用屬于函數(shù)的間接遞歸調(diào)用。
6、D
7、B
8、C
9、B
【解析】字符串中的每個字符占1個字節(jié),但C程序在存儲字符串時,要在最
后一個有效字符后面接上1個字符串結(jié)束的標(biāo)記符'\0'。這樣,存儲字符串常
量”XyZ”需要4個字節(jié)。所以解答是B。
10、D
11、C
12、D
【解析】“II”為或運算符,當(dāng)其左右表達式中只要一個為非零則整個表達式
的值1。I是按位或,&是按位與,”是按位異或,這三位運算符是按值的二進
制位來比較的。
13、A
【解析】形參、實參個數(shù)類型、數(shù)量、順序應(yīng)相同,因為類型轉(zhuǎn)換都是有條件
的,如果浮點型變量向指針型變量轉(zhuǎn)換就是不可的。
14、C
15、A
【解析】Qx)為假,然后判斷(x=0),為假,最后就執(zhí)行輸出語句,y的值仍
為初始值,答案選擇A。
16、C
17、A
18、A
【解析】本題中,(int)(x*1000+中5)的結(jié)果為1237,(float)1000是將1000
強制轉(zhuǎn)換成float類型;整個表達式(int)(x*1000+0.5)/(float)1000的結(jié)果
為L237000,再以實數(shù)(6位小數(shù))形式輸出.
19、D
【解析】數(shù)組維數(shù)必須為常量;數(shù)組為一行兩列,而兩行一列;數(shù)組
定義錯誤,數(shù)組定義時列數(shù)必須寫明,而行數(shù)可以缺??;D.表示正確,相當(dāng)于
{{1,2},{3,4},{0,0})
20、B
二、填空題
1、函數(shù)體內(nèi)定義的局部
2、指數(shù)
3、16
4、-2
5、continue
6、s=-l
7、main
8、9
9、4
10、|〃%s",str|str
【解析】輸入hell。world時,中間的空格對scanf()函數(shù)來說是終止符,后
面的內(nèi)容無法讀取。
三、編程題
1、^include
voidmain()
(
inta[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};
inti,j;
floataverage,sum=0.0;
printf(〃三個學(xué)生的總分和平均成績依次為:\n〃);
for(i=0;i<3;i++)
(
sum=0.0;
for(j=0;j<4:j++)
sum=sum+a[i][j];
average=sum,4;
printf("%.2f,%.2f\n〃,sum,average);
}
)
2、^include<stdio.h>
voidreverse(char*s)
(
//獲取字符串長度
intlen=0;
cliax*p=s;
while(*p!=0)
(
len++;
p++;
//交換...
inti=0;
charc;
while(i<=len/2-1)
(
c=*(s+i);
*(s+i)=*(s+len-1-i);
*(s+len-1-i)=c;
i++;
}
)
intmain()
(
chars[]=〃abcT23-xyz〃;
printf(/z,%sJ=>\nz/,s);
reverse(s);//反轉(zhuǎn)字符串
printf("'%s''n〃,s);
return0;
)
【解析】質(zhì)數(shù)(primenumber)又稱素數(shù),有無限個。一個大于1的自然數(shù),
除了1和它本身外,不能被其他自然數(shù)整除。
3、#iiiulude<bldio.h>
#include<stdlib.h>
#include<malloc.h>
typedefstructLNode{
intdata;
structLNode*next;
}LNode,*LinkList;
LinkListCrcatcListlintn);
voidprint(LinkListh);
intmain()
(
LinkListHead=NULL;
intn;
scanf(〃%d〃,&n);
Head=CreateList:n);
printf(〃剛剛建立的各個鏈表元素的值為:\n〃);
print(Head);
printf('\n\n〃);
system("pause");
return0;
)
LinkListCreateListlintn)
(
LinkListL,p,q;
inti;
L=(LNode*)uialloc(sizeof(LNode));
if(!L)return0;
L->next=NULL;
q二L;
for(1=1;iV=n;i-+)
p=(LinkList}malloc(sizeof(LNode));
printf(〃請輸入第%d個元素的值:〃,i);
scanf(z/%d/z,&(p->data));
p->next=NULL;
q->next=p;
q二P;
)
returnL;
)
voidprint(LinkListh)
(
l.inkl.ist.p=h->npxt:
while(p!=NULL){
printfC^dp->data);
p=p->next;
)
}
歷年計算機C語言專升本題目(四)
(總分100分,考試時長90分鐘)
一、單項選擇題(每小題2分,共40分)
1、下面程序段的功能是
ttinclude<stdio.h>
main()
{
charsi;
sl=putc(getc(stdin),stdout);
)
A、從鍵盤輸入一人字符給字符變量si
B、從鍵盤輸入一人字符,然后再輸出到屏幕
C、從鍵盤輸入一人字符,然后在輸出到屏幕的同時賦給變量si
D、在屏幕上愉出stdout的值
2、用語句scanf(〃%c%c%c〃,&cl,&c2,&c3)輸入〃a,b,c〃時,變量cl、c2、c3的
值分別為()
A、'a','b','c'
C、'a','b'
D、a,,c
3、switch語句中表達式(expression)的值不允許用的類型是。
A、byle
B、int
C、boolean
D、char
4、設(shè)有循環(huán)語句〃for:i=l;i>0;i++)i++;〃,其循環(huán)執(zhí)行的次數(shù)是o
A、無限
B、0
C、3
D、4
5、下面函數(shù)的功能是
char*fun(char*str7char*str2){
while((*str1)&&(*str2++=*strl++));
returnstr2;
)
A、求字符串的長度
B、比較兩個字符串的大小
C、將字符串strl復(fù)制到字符串str2中
D、將字符串strl接續(xù)到字符串str2中
6、若有定義語句:inta[4][10],*p,*q[4];且0<=iV4,則錯誤的賦值是
A、p=a
B、q[i]=a[i]
C、p=a[i]
D、p=&a[2][l]
7、定義如下變量和數(shù)組:inti,x[3][3]={1,2,3,4,5,6,7,8,9
};則下面語句for(i=0;i<3;i++)printf(〃%d",x[i][2-i]);的輸出結(jié)果是
A、159
B、147
C、357
D>369
8、c語言中,int型數(shù)據(jù)在內(nèi)存中的存儲形式是________o
A、ASCII碼
B、補碼
C、反碼
D、原碼
9、下面選項中合法的字符常量是。
A、〃X〃
B、'X'
C、'abc'
D、'\'
10、設(shè)有如下程序段chars[20]=〃bejing〃,*p;p=s;則執(zhí)行p=s;語句后,以
下敘述正確的是________O
A、可以用*p表示s[0]
B、s數(shù)組中元素的個數(shù)和p所指字符串長度相等
C、s和p都是指針變量
D、數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等
11、以下敘述中錯誤的是________。
A、在一個程序中,每個模塊均可以獨立編譯運行
B、程序“模塊化”有利于任務(wù)的分解簡化
C、允許對函數(shù)單獨進行編譯,是C語言實現(xiàn)“模塊化”的基礎(chǔ)
D、采用模塊化結(jié)構(gòu),可以提高編程效率
12、下列是多行注釋的符號是o
A、//
B、/
C、[*
D、/**/
13、計算斐波那契數(shù)列第n項的函數(shù)定義如下:intfib(intn)
if(n==0)returnl;
elseif(n==l)
return2;
else
returnfib(n-l)+fib(n-2);
}
若執(zhí)行函數(shù)調(diào)用表達式fib(2),函數(shù)fib被調(diào)用的次數(shù)是
A、1
B、2
C、3
D、4
14、設(shè)有以下說明語句:
typeclefstructstu
(
inta;
floatb;
)
stutype;
則下面敘述中錯誤的是O
A、struct是結(jié)構(gòu)類型的關(guān)鍵字
structstu是用戶定義的結(jié)構(gòu)類型
C、a和b都是結(jié)構(gòu)成員名
D、stutype是用戶定義的結(jié)構(gòu)體變量名
15、請閱讀下面的程序,選擇正確的輸出結(jié)果。()
voidmain()
(
printf(〃%d〃,null);
)
A、0
B、變量無定義
C、-1
D、1
16、下列for循環(huán)語句的執(zhí)行次數(shù)是。
for(intx=0,y=0;(y!=0)&&(x<4);x++)
A、無限次
B、一次也不執(zhí)行
C、執(zhí)行一次
D、執(zhí)行三次
17、有以下程序
structstu
charname[10];
intnum;
floattotalscore;
};
voidf(structstu*p)
(
structstus[2]={{〃sundan〃,20044,550],{"penghua”,20045,537}},
*q=s;
++P;
++q;
*p=*q;
)
main()
(
structstus[3]={{"yangsan”,20041,703),{"lisiguo”,20042,580});
f(s);
printf(z/%s%d%3.0f\n〃,s[l].name,s[l].num,s[l].totalscorc):
)
程序運行后的輸出結(jié)果是o
A、SunDan20044550
B、Penghua20045537
C、LiSiGuo20042580
D、SunDan20041703
18、下述程序段的執(zhí)行結(jié)果是o
ttinclude<stdio.h>
voidmain(){
intx;
for(x=l;x<=100;x++)if(++x%3—0)if(++x%4==0)if(++x%7==0)
printfx);
)
A、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省寧波市慈溪市2025屆初三下4月月考化學(xué)試題含解析
- 武漢鐵路橋梁職業(yè)學(xué)院《綜合英語:化學(xué)3》2023-2024學(xué)年第二學(xué)期期末試卷
- 陽江職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)影像設(shè)備學(xué)(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 天府新區(qū)航空職業(yè)學(xué)院《傳輸原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川電力職業(yè)技術(shù)學(xué)院《大學(xué)IT4》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇省鎮(zhèn)江市六校2024-2025學(xué)年中考英語試題二輪優(yōu)化提升專題訓(xùn)練含答案
- 深圳市龍崗區(qū)2025年下學(xué)期初三化學(xué)試題第一次診斷性考試試卷含解析
- 曲靖師范學(xué)院《電影攝影創(chuàng)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 陜西省西安市西北工業(yè)大附屬中學(xué)2025年初三第六次質(zhì)量考評生物試題試卷含解析
- 采購合同履行法律咨詢重點基礎(chǔ)知識點
- 上海交通大學(xué)醫(yī)學(xué)院附屬仁濟醫(yī)院-日間手術(shù)管理信息化實踐與發(fā)展
- 2021年湖北理工學(xué)院輔導(dǎo)員招聘考試題庫及答案解析
- 消防設(shè)備設(shè)施維護保養(yǎng)臺賬
- 神奇的植物王國課件
- 員工崗位技能考核評定表
- 項目部安全生產(chǎn)事故應(yīng)急預(yù)案
- 普通沖床設(shè)備日常點檢標(biāo)準作業(yè)指導(dǎo)書
- DBT29-265-2019 天津市市政基礎(chǔ)設(shè)施工程資料管理規(guī)程
- -城鄉(xiāng)規(guī)劃法-最新課件
- DB32T 4013-2021 第三方社會穩(wěn)定風(fēng)險評估技術(shù)規(guī)范
- 夏日泛舟海上 (3)
評論
0/150
提交評論