版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
c語言程序設(shè)計(jì)專升本預(yù)測卷(-)D、if(a=>b)x++;
(總分100分,考試時(shí)長90分鐘)
【答案】A
題號—*二三總分閱卷人
【解析】A雖然是賦值語句,但是在邏輯運(yùn)算中自動將賦值語句的結(jié)果當(dāng)作邏輯值,方
分值402040100法是,如果賦值語句的結(jié)果是非零值則當(dāng)作邏輯真,否則當(dāng)作邏輯假。C語言中關(guān)系運(yùn)
算符有〈(小于)、>(大于)、>=(大于等于)、<二(小于等于)、==(等于)、!=(不等于)
得分等六種,可見其他的條件表達(dá)式中的關(guān)系符寫錯(cuò)了。
4、下列關(guān)于do…while語句的敘述中正確的是。
■題目包括三大部分,單項(xiàng)選擇題,填空題,編程題,請按要求作答°A、do-while語句所構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替
■答卷必須用藍(lán)色或者黑色鋼筆、圓珠筆,不許用鉛筆或者紅筆作答。
B、do…while語句所構(gòu)成的循環(huán)只能用break語句跳出
■考試中途不能無端離場,否則視為放棄??荚囘^程中如遇問題請及時(shí)向監(jiān)考老師反饋。
C、do---while語句所構(gòu)成的循環(huán)只有在while后面的表達(dá)式非零時(shí)才結(jié)束
一、單項(xiàng)選擇題(每小題2分,共40分)D、do…while語句所構(gòu)成的循環(huán)只有在while后面的表達(dá)式為零時(shí)才結(jié)束
1、若整型變量a、b、c、d中的值依次為:1、4、3、2,則條件表達(dá)式aVba:cVdc:d的【答案】D
值是0【解析】for語句、while語句以及do…while語句構(gòu)成的循環(huán)可以相互轉(zhuǎn)換。
A、1do…while循環(huán)的結(jié)束條件是while后面的表達(dá)式為0(即循環(huán)條件為“假”)。
B、2
C、35、下列程序的輸出結(jié)果是一
D、4^include<stdio.h>
intf(inta,intb);
【答案】Amain()
(
【解析】本題考查的是條件表達(dá)式的嵌套。因?yàn)闂l件運(yùn)算符的結(jié)合方向?yàn)椤白杂抑?/p>
inti=2,p,j,k;
左”,所以表達(dá)式aVba:c〈dc:d相當(dāng)于aVba:(cVdc:d)。由于a=l,b=4,所以a〈b
j二i;
的結(jié)果為“真”,整個(gè)表達(dá)式的值為a的值1。所以,4個(gè)選項(xiàng)中選項(xiàng)A)符合題意。k=++i;
p=f(j,k);
2、已有定義:intx=3,y=4,z=5;,則表達(dá)式?。▁+y)+z-1&&y+z/2的值是。
printfp);
A、6}
B、0intf(inta,intb)
C、2(
D、1intc;
if(a>b)c=l;
【答案】Delseif(a==b)c=0;
elsec=-l;
3、選擇出合法的if語句(設(shè)intx,a,b,c;)return(c);
A^if(a=b)x++;)
B>if(a=<b)x++;A、-1
C、if(a<>b)x++;B、1
C、210、有說明語句inta[4][5];則a[2]+3表示—。
D、編譯出錯(cuò),無法運(yùn)行A、a數(shù)組行下標(biāo)為2、列下標(biāo)為3的元素的地址
B、a數(shù)組行下標(biāo)為2、列下標(biāo)為3的元素的值
【答案】AC、a數(shù)組第2行的首地址
【解析】函數(shù)調(diào)用相當(dāng)于f(2,3),程序運(yùn)算結(jié)果為D、a數(shù)組第3行的首地址
6、下列選項(xiàng)中,不合法的變量是o
【答案】A
A^intx=3;
B、charch='c';11、若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型說明,而return
C、floatf;語句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是o
D、casec;A、int型
B、float型
【答案】DC、double型
D、由系統(tǒng)當(dāng)時(shí)的情況而定
7、若charallO];已正確定義,以下語句中不能從鍵盤上給a數(shù)組的所有元素輸入值的
語句是。
【答案】A
A、gets(a);
B、scanfa);12、若以下選項(xiàng)中的變量已正確定義,則正確的賦值語句是o
C、for(i=0;i<10;i++)a[i]=getchar();A、xl=26.8%3;
D、a=getchar();B、l+2=x2;
C、x3=0xl2;
【答案】DD、x4=l+2=3;
8、若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)
【答案】C
s=a;for(b=l;b<=c;b++)s=s+l;則與上述程序段功能等價(jià)的賦值語句是。
A、s=a+b;13、若有說明語句:inti,x[3][4];則不能將的值賦給變量i的語句是。
B、s=a+c;A^i=*(*(x+l)+l)
C、s=s+c;B,i=x[l][l]
D、s=b+c;C、i=*(*(x+D)
D、i=*(x[l]+l)
【答案】B
【答案】C
9、字符串〃\\\"abc\"\\"的長度是。
【解析】本題考查對數(shù)組元素的相關(guān)操作。
A、11
題目中給出的是一個(gè)二維數(shù)組x[3][4],數(shù)組名為x,取數(shù)組第一行第一列元素的幾種
B、7
方法分別是*(x[l]+l)、x[l][1]、*(*(x+l)+l)、*(x+l)[1]等。
C、5
D、314、以下程序運(yùn)行后的輸出結(jié)果是
#include<stdio.h>
【答案】Bstructst
高位舍棄,左邊高位空出要根據(jù)原來符號位的情況進(jìn)行補(bǔ)充,對無符號數(shù)則補(bǔ)0,對有
intx,y;符號數(shù),若為正數(shù)則補(bǔ)0,若為負(fù)數(shù)則補(bǔ)1。1
}data[2]={{1,10),{2}20});
“異或”運(yùn)算是當(dāng)兩個(gè)運(yùn)算量的相應(yīng)位相同時(shí)結(jié)果為0,不相同時(shí)結(jié)果為1。b=2的二
進(jìn)制為(0000001。bVV2后為00001000,好1的二進(jìn)制為00000001,所以。干飛<<2
main()
(為00001001,轉(zhuǎn)化為十進(jìn)制后為9。
structst*p=data;
16、執(zhí)行以下循環(huán)語句時(shí),下列說法正確的是.ox=-1;
printf(/z%d,,z,p->y);
printf(〃%d\n〃,(++p)->x);
}
X=X*X;
、10,1
A)
B、20,1while(x==0);
C、10,2A、循環(huán)體將執(zhí)行一次
D、20,2B、循環(huán)體將執(zhí)行兩次
C、循環(huán)體將執(zhí)行無限次
【答案】C
D、系統(tǒng)將提示有語法錯(cuò)誤
【解析】正確地給結(jié)構(gòu)體數(shù)組賦初值,data[0].x=l>data[0].y=10>data[l].x=2、
datatl].y=20;首先,p指向data[O],第一條打印語句輸出p->y,即data[O].y的值【答案】A
10;(++p)->x含義是先++p,此時(shí)p指向data[l],第二條打印語句輸出(++p)->x,即
dala[l].x的值2。17、c語言中的基本數(shù)據(jù)類型包括
A、整型、實(shí)型、字符型
15、下述程序的輸出結(jié)果是oB、整型、字符型、數(shù)組
#include<stdio.h>
C、整型、實(shí)型、邏輯型
voidmainO{
D、整型、實(shí)型、結(jié)構(gòu)體
chara=l,b=2;
charc=a*b<<2;
【答案】A
printfc);
)18、以下四個(gè)程序中,完全正確的是o
A、9A、#include<stdio.h>
B、10main();{/"programming*/printf("programming!\n");}
C、12B、#include<stdio.h>
D、2mainO
{/*/programming/*//printf("programming!\n〃);)
【答案】A
C、#include<stdio.h>
【解析】本題主要考查C語言最基本的算術(shù)運(yùn)算“左移(VV)”和“異或O”。
main()
“左移”或“右移”運(yùn)算表達(dá)式的一般形式為:xVVn或x>>n。"左移(VV)”運(yùn)
{/*programming*/printf("programming!\n〃);}
算的規(guī)則是將x的二進(jìn)制位全部向左移動n位,將左邊移動的高位舍棄,右邊空出的位
補(bǔ)0:“右移(>>)”運(yùn)算的規(guī)則是將x的二進(jìn)制位全部向右移動n位,將右邊移動的
D^include<stdio.h>【解析】本題中,在調(diào)用函數(shù)時(shí)將結(jié)構(gòu)體變量的兩個(gè)成員作為實(shí)參,其中的成員數(shù)組a
mainO實(shí)際向函數(shù)f()傳遞的是該數(shù)組的地址,因此在函數(shù)f()中所對應(yīng)的形參發(fā)生改變時(shí),該
{/*/*programming*/*/printf("programming!\n");}數(shù)組內(nèi)的數(shù)據(jù)也會發(fā)生改變。函數(shù)f()實(shí)現(xiàn)的功能是將成員數(shù)組中的前9個(gè)元素分別加
上該元素的下標(biāo),作為新的元素。
【答案】C
二、填空題(每小題2分,共20分)
19、以下能對一維數(shù)組a進(jìn)行正確初始化的語句是—
A、inta[10]=(0,0,0,0,0)1、在傳值調(diào)用中,實(shí)際是把實(shí)參的。
B、inta[10]={);
【答案】地址傳給形參
C、inta[]={0};
D、inta[10]={10*l};
2、局部變量的作用域是從定義的位置起,到結(jié)束止。
【答案】C
【答案】函數(shù)
20、有以下程序
3、函數(shù)的形參在未被調(diào)用前不分配空間,函數(shù)形參的數(shù)據(jù)類型要和實(shí)參相同。
structs
(
【答案】
intn;
inta[20];
4、在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字。
};
voidf(int*a,intn)
【答案】static
(
inti;5、下列程序段的運(yùn)行結(jié)果是o
for(i=0;i<n-l;i++)a[i]+=i;
mainO
}
(
mainO
(intm=l,t=l;
inti;for(;;)
structss={10,{2,3,1,6,8,7,5,4,10,9}};(
f(s.a,s.n);m=m+t;
for(i=0;i<s.n;i++)printf("%d,”,s.a[i]);
t++;
}
if(m>9)break;
程序運(yùn)行后的輸出結(jié)果是.
}
A、2,4,3,9,12,12,11,11,18,9,
printf(〃%d\n”,m);
B、3,4,2,7,9,8,6,5,11,10,
)
C、2,3,1,6,8,7,5,4,10,9,
D、1,2,3,6,8,7,5,4,10,9,【答案】11
【答案】A
6、以下sum函數(shù)的功能是計(jì)算下列級數(shù)之和。s=l+x+x2/2!+x3/3!+........+xn/n!9、以下程序運(yùn)行后的輸出結(jié)果是
請給函數(shù)中的各變量正確賦初值。doublesum(doublex,intn)mainO
((
inti;inti,j,a[][3]={l,2,3,4,5,6,7,8,9);
doublea,b,s;for(i=0;i<3;i++)for(j=i+l;j<3;j++)a[j][i]=0;
for(i=0;i<3;i++)
for(i=l;i<=n;i++)(
(for(j=0;j<3;j++)printf(^da[i][j]);
a=a*x;printf("\n");
b=b*i;)
s=s+a/b;)
}
【答案】123056009
returns;
)
10、下列程序的功能是計(jì)算圓的面積,將程序補(bǔ)充完整。
【答案】['a=l.0;b=l.0;s=l.0:']ttdefinePI=3.14159
main()
7、函數(shù)swap(arr,n)可完成對arr數(shù)組從第一個(gè)元素到第n個(gè)元素兩兩交換。在運(yùn)行(
調(diào)用函數(shù)中的如下語句后,a[0]和a[l]的值分別為【1】________,原因是【2】floatr,s;
a[0]=l,a[l]=2;printf("Enteranumberr:");
swap(a,2);s=PI*r*r;
)
【答案】【1】2,1[2]地址傳遞對形參的改變能改變實(shí)參的值
【答案】['scanf,'printf("s=%f",s)']
8、以下程序功能是:借助指針變量找出數(shù)組元素中的最大值及其元素的下標(biāo)值。請?zhí)?/p>
空。三、編程題(每小題分,共40分)
ttinclude<stdio.h>
1、編寫程序:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。(本題10
main()
分)
(
inta[10],*p,*s;【答案】#include<stdio.h>
for(p=a;p-a<10;p++)scanf("%d",p);intmain()
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=_________;
printf("index=%d\n",s-a);inta,b,t,r,n;
}printf("請輸入兩個(gè)數(shù)弓J\n");
scanf(n%d%dH,&a,&b);
【答案】p
if(a<b)
{t=b;b=a;a=t;}inti,x,m=0,n=0,k=0,j=0;
r=a%b;chara[20];
n=a*b;printf("請輸入字符串:”);
while(r!=0)gets(a);
(二x=strlen(a);
a=b;for(i=0;i='0,&&a[i]<='9,)
b=r;m++;
r=a%b;elseif(a[i]>=,A'&&a[i]<=,Z*)
}n++;
prinlf("這兩個(gè)數(shù)的最大公約數(shù)是%d,最小公倍數(shù)是%d\n”,b,n/b);elseif(a[i]>=1a'&&a[i]<=rz1)
k++;
return0;else
)j++;
【解析】1)最小公倍數(shù)二輸入的兩個(gè)數(shù)之積除于它們的最大公約數(shù),關(guān)鍵是求出最大公|
約數(shù);printf(M%d,%d,%d,%d\nM,m,n,k,j);
)
(2)求最大公約數(shù)用輾轉(zhuǎn)相除法(又名歐幾里德算法)
3、有一包含職工編號、年齡和性別的單向鏈表,分別使用函數(shù)完成以下功能
建立鏈表。
1)證明:設(shè)c是a和b的最大公約數(shù),記為c=gcd(a,b),a>=b,
分別統(tǒng)計(jì)男女職工的人數(shù)。
令r=amodb
在鏈表尾部插入新職工。
設(shè)a=kc,b=jc,則k,j互素,否則c不是最大公約數(shù)
刪除指定編號的職工。
據(jù)上,r=a-mb=kc-mjc=(k-mj)c
刪除60歲以上的男職工和55歲以上的女職工被刪除的結(jié)點(diǎn)保存到另一個(gè)鏈表
可知r也是c的倍數(shù),且k-mj與j互素,否則與前述k,j互素矛盾,
中。在主函數(shù)中設(shè)計(jì)簡單的菜單去調(diào)用上述函數(shù)。(本題16分)
由此可知,b與r的最大公約數(shù)也是c,即gcd(a,b)=gcd(b,amodb),得證。
【答案】#include<stdlib.h>
2)算法描述:
#include<stdio.h>
structnode{
第一步:a4-b,令r為所得余數(shù)(OWr第二步:互換:置a-b,b—r,并返回第一
longNo;
步。
intage;
charsex;
2、編寫程序,判斷從鍵盤輸入的字符中數(shù)字字符的個(gè)數(shù)、大寫字母的個(gè)數(shù)、小寫字母的
structnode*next;
個(gè)數(shù)及其它字符的個(gè)數(shù),以*作為字符輸入結(jié)束標(biāo)志。(本題14分)
);
【答案】#includenode*establish()
voidmain()
structnode*h,*p,*q;
longnum;structnode*p,*q;
h=(structnode*)malloc(sizeof(structnode));printfC請輸入新職工編號年齡和性別!\n”);
p=q=h;p=(structnode*)malloc(sizeof(structnode));
printf("請輸入職工編號(輸入0退出輸入)!\n”);scanf(w%ld,%d,%cn,&p->No,&p->age,&p->sex);
scanf(n%ld",&num);q=phead->next;
while(num!=0)while(q->next!=NULL)
(q=q->next;
p=(structnode*)malloc(sizeof(structnode));q->next=p;
p->No=num;p->next=NULL;
printf(”請輸入職工年齡和性別\n");
scanf(',%d,%cn,&p->age,&p->sex);voiddel(structnode*phead,longnum)
q->next=p;(
q二P;structnode*p,*q;
printf(”請輸入職工編號(輸入0退出輸入)!\n”);if(phead->next==NULL)
scanf(w%ld'\&num);{
}printfC'Listisnull.\n");
p->next=NULL;return;
returnh;)
Ip=phead->next;
voidcount(node*phead)q=phead;
while(p!=NULL&&p->No!=num)
intm=0,f=0;(
structnode*p;q=p;
p=phead->next;p=p->next;
while(p!=NULL))
{____if(p==NULL)return;
if(p->sex=='M,||p->sex==,m')if(q!=NULL)
m++;(
elsef++;p=q->next;
p=p->next;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 律師年度工作計(jì)劃
- 律師事務(wù)所的實(shí)習(xí)報(bào)告范文10篇
- 客服主管工作計(jì)劃15篇
- 高老頭讀后感1000字
- 初一教師教學(xué)工作計(jì)劃5篇范文
- 乒乓球比賽作文600字錦集八篇
- 班長的辭職報(bào)告模板集合9篇
- (一)制定招聘戰(zhàn)略-案例導(dǎo)入-江西人力資源網(wǎng)
- 2025年油炸類制品項(xiàng)目發(fā)展計(jì)劃
- 健康管理咨詢服務(wù)合同(2篇)
- 遼寧省沈陽市五校2023-2024學(xué)年高一1月期末考試生物試題(解析版)
- 健康教育知曉率調(diào)查總結(jié)幼兒園
- 2024年國家新聞出版廣電總局直屬事業(yè)單位招聘公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 進(jìn)口電子元器件管理辦法
- 【基于FCFF模型的拼多多企業(yè)價(jià)值評估案例11000字(論文)】
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- 農(nóng)產(chǎn)品免稅申請書
- GIS組合電器概述
- 水廠分布式光伏項(xiàng)目(設(shè)備采購)實(shí)施組織方案及售后服務(wù)方案
- 污水處理廠技術(shù)副廠長競聘報(bào)告
- 2021年機(jī)務(wù)檢修試題庫
評論
0/150
提交評論