?湖北專升本C語言程序設(shè)計(jì)模擬練習(xí)題2
摘要:本文是湖北專升本C語言程序設(shè)計(jì)模擬練習(xí)題2,有打算報(bào)考湖北專升本考試相關(guān)專業(yè)的考生可以進(jìn)行參考,了解相關(guān)的試卷信息。具體請(qǐng)見下文。
湖北專升本C語言程序設(shè)計(jì)模擬練習(xí)題2
一、填空題(每小題2分,共20分)
⑴ 判斷變量a、b是否絕對(duì)值相等而符號(hào)相反的邏輯表達(dá)式為 a==-b 。
⑵ 執(zhí)行語句“for(s=0,i=1;i<11;i++) { if(i==6)break; s+=i;}”后,s值為 15 。
⑶ 程序中使用了內(nèi)存分配函數(shù)malloc,則必須包含的頭文件名為 stdlib.h 。
⑷ 聲明“char a[20]="Office 2000";”后執(zhí)行下列語句的輸出結(jié)果為 office 。
a[6]='\0'; puts(a);
⑸ 若聲明“char a[]="hangzhou",*p=a;”,執(zhí)行語句“for(i=0;*p!='\0'; p++,i++);”
后i的值為 8 。
⑹ 自定義函數(shù)sort對(duì)float類型的數(shù)組排序,函數(shù)原型為 void sort(float *,int) 。
⑺ 自定義函數(shù)sum求二維數(shù)組全體元素之和,函數(shù)原型為 int SUM(int **a,int,int ) 。
⑻ x、y均為指針變量,語句“x=y;”在 x與y的類型相同的一級(jí)指針 的條件下可以執(zhí)行。
⑼ 若int類型變量a的當(dāng)前值是23,執(zhí)行“a=a>>2;”后,a 的值為 5 。
⑽ 打開g盤根目錄下文本文件aaa.txt用于寫數(shù)據(jù)的語句是 fp= fpoen(“g\\:aaa.txt”,“w” ;。
二、程序閱讀題(每小題8分,共24分)
閱讀下列程序,將運(yùn)行時(shí)的輸出結(jié)果寫在答卷紙相應(yīng)題號(hào)下。
1. #include
void main()
{ int i,j,k, a[4][4]={{2,-1,2,7},{2,4,3,5},{1,4,-2,3},{4,-2,8,3}};
for(i=0;i<4;i++) {
k=a[i][i]; for(j=0;j<4;j++) a[i][j]/=k;
}
for(i=0;i<4;i++) {
for(j=0;j<4;j++) printf("%4d",a[i][j]); putchar('\n');
}
}
2. #include
#include
void del(char *a,int k)
{ int i, n=strlen(a);
for(i=1;i<=k;i++) { a[n-1]=a[n]; n--; puts(a); }
}
void main()
{ char a[10]="abcdef"; del(a,4); }
3. #include
void f(float a,float b,float* c)
{ static float x=0; float y;
x=(y=a>b?a:b)>x?y:x;
*c=x;
}
void main()
{ float a[5]={2.5,-1.5,7.5,4.5,6.5},x;
for(int i=0;i<4;i++) {
f(a[i],a[i+1],&x); printf("%.1f\n",x);
}
}
三、程序填空題(每空2分,共24分)
閱讀下列程序說明和程序,將答案填寫在答卷紙相應(yīng)題號(hào)下。
1.【程序說明】下列程序輸入1個(gè)大于2的整數(shù),判斷其是否為2個(gè)大于1的整數(shù)的乘積。
#include
⑴
void main()
{ int m,i;
while( ⑵ );
for(i=2;i<=sqrt(m);i++)
if( ⑶ ) { printf("%d*%d=%d\n",i,m/i,m);break; }
if( ⑷ ) printf("不可分解\n");
}
2.【程序說明】下列函數(shù)計(jì)算一個(gè)二維數(shù)組全體元素的和以及主對(duì)角元素的和。
void f( ⑴ )
{ int i,j;
⑵ ;
for(i=0;i<m;i++) p="" {
*s1=*s1+ ⑶ ;
for(j=0;j
⑷
}
3.【函數(shù)說明】鏈表的節(jié)點(diǎn)類型聲明如下,下列函數(shù)中h為鏈表頭指針,函數(shù)功能是刪除成員cj值小于60的所有節(jié)點(diǎn)。
struct stu { char name[9]; int cj; stu *next; };
student *del_stu(student *h)
{ student ⑴ ;
if(h==NULL) return h;
if(h->cj
while(p1->next!=NULL) {
p2= ⑵ ;
if( ⑶ ) { p1->next=p2->next; free(p2); }
else p1=p2;
}
⑷ ;
}
四、程序設(shè)計(jì)題(1、2小題各10分,第3小題12分,共32分)
1. 輸入一個(gè)正整數(shù)n,求1+1/2!+1/3!+……1/n!的值,要求調(diào)用自定義函數(shù)計(jì)算階乘。
2. 編寫通用函數(shù),在n個(gè)元素的一維數(shù)組中,統(tǒng)計(jì)并返回比相鄰元素大的數(shù)組元素個(gè)數(shù)(不考慮a[0]和a[n-1])。
3. 文本文件e:\c.txt 中按統(tǒng)一格式已經(jīng)存儲(chǔ)若干行學(xué)生信息:學(xué)號(hào)8位字符、空格、成績(jī)3位整數(shù))。編程,將所有60分(含60分)以上學(xué)生之學(xué)號(hào)、成績(jī)寫入到文本文件e:\c.txt 中,并顯示總?cè)藬?shù)、不及格人數(shù)。
C程序設(shè)計(jì)參考答案
一、填空題(每小題2分,共20分)
⑴ a==-b ⑵ 15 ⑶ stdlib.h ⑷ Office ⑸ 8
⑹ void sort(float*,int) ⑺ float sum(float**,int,int)
⑻ x、y均為指向同類型數(shù)據(jù)的一級(jí)指針變量 ⑼ 5
⑽ fopen("g:\\aaa.txt","w")
二、程序閱讀題(每小題8分,共24分)
1. 1 0 1 3 2. abcde 3. 2.5
0 1 0 1 abcd 7.5
0 -2 1 -1 abc 7.5
1 0 2 1 ab 7.5
三、程序填空題(每空2分,共24分)
1. ⑴ #include⑵ scanf("%d",&m),m
2.⑴ float **a,int m,int n,float *s1,float *s2
⑵ *s1=*s2=0; ⑶ a[i][i] ⑷ }
3. ⑴ *p1,*p2 ⑵ p1->next ⑶ p2->cj<60 ⑷ return h
四、程序設(shè)計(jì)題(1、2小題各10分,第3小題12分,共32分)
1. #include
int f(int k)
{ return k==0||k==1? 1:k*f(k-1); }
void main ( )
{ int i,n; float s=1;
while(scanf("%d",&n),n<1);
for(i=2;i<=n;i++) s=s+1.0/f(i);
printf("%f\n",s);
}
2. int f(float *a,int n)
{ int i,k=0;
for(i=1;ia[i-1] && a[i]>a[i+1]) k++;
return y;
}
3. 重點(diǎn):文件讀寫(注意格式)函數(shù),文件結(jié)束標(biāo)志,打開、關(guān)閉。
延伸閱讀
- 2022年湖北專升本電路模擬題(四)
- 2022年湖北專升本電路模擬題(三)
- 2022年湖北專升本電路模擬題(二)
- 2022年湖北專升本電路模擬題(一)
- 2022年湖北專升本高等數(shù)學(xué)模擬題(三)
- 2022年湖北專升本高等數(shù)學(xué)模擬題(二)
專升本微信公眾號(hào)
掃碼添加
專升本備考資料免費(fèi)領(lǐng)取
去領(lǐng)取