?湖北專升本C語言程序設(shè)計模擬練習(xí)題1
摘要:本文是湖北專升本C語言程序設(shè)計模擬練習(xí)題1,有打算報考湖北專升本考試相關(guān)專業(yè)的考生可以進行參考,了解相關(guān)的試卷信息。具體請見下文。
湖北專升本C語言程序設(shè)計模擬練習(xí)題1
一、填空題(每小題2分,共20分)
⑴ 求正整數(shù)m的位數(shù),相應(yīng)C的算術(shù)表達式為 intlog(m)+1 。
⑵ 執(zhí)行程序段“for(i=1;i<15;i=i+4) s=s+i;”后,i的值為 17 。
⑶ 程序中使用了C的庫函數(shù) islower,應(yīng)包含的頭文件為
⑷ 下列程序段運行時的輸出結(jié)果是 3 4 。
char p[]={'a','b','c'},q[]="abc"; printf("%d,%d\n",sizeof(p),sizeof(q));
⑸ 下列程序段運行時的輸出結(jié)果是 10 。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf("%d\n",*p+*q);
⑹ 定義函數(shù)f,其功能是計算多項式a0+a1x+a2x2+a3x3+...+ an-1xn-1的和,函數(shù)f原型是 float f(int *a,int x,int n) 。
⑺ 定義函數(shù)f,其功能是在一個二維數(shù)組中查找最大值的行、列號(要求可傳遞到主調(diào)函數(shù)),函數(shù)f原型是 int f(int **a ,int m int n,int *i,int*j) 。
⑻ x、y均為結(jié)構(gòu)體類型變量,語句“x=y;”在 x和y為相同類型 的條件下可以執(zhí)行。
⑼ 若int類型變量a的當(dāng)前值是52,執(zhí)行“a/=2^1;”后,a 的值為 17 。
⑽ 打開g盤根目錄下文本文件aaa.txt用于讀數(shù)據(jù)的語句是 fp= fopen("g:\\aaa.txt","r") ;。
二、程序閱讀題(每小題8分,共24分)
閱讀下列程序,將運行時的輸出結(jié)果寫在答卷紙相應(yīng)題號下。
1. #include
void main()
{ int i,j, 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++)
for(j=0;j<4;j++) a[i][j]/=a[i][i];
for(i=0;i<4;i++) {
for(j=0;j<4;j++) printf("%4d",a[i][j]); putchar('\n');
}
}
2. #include
int f(int x,int y)
{ static int a=1;
return a=a+x+y;
}
void main()
{ int a=10,b,c,i;
b=10*a++;
for(i=1;i<3;i++) c=f(a,b);
printf("a,b,c:\n%d\n%d\n%d\n",a,b,c);
}
3. #include
#include
void strc(char *strDest, char *strSrc)
{ char temp[80],*p;int i=0;
strcpy(temp,strDest+1);
for(p=strDest+1; p<=strDest+strlen(strSrc); p++) *p=strSrc[i++];
*p='\0'; strcat(strDest,temp);
}
void main()
{ int i;char a[80]="Windows_xp,word_2003,VC_6.0";
for(i=0; a[i]!='\0';i++) if(a[i]==',') strc(a+i,"Microsoft ");
puts(a);
}
三、程序填空題(每空2分,共24分)
閱讀下列程序說明和程序,將答案填寫在答卷紙相應(yīng)題號下。
1.【程序說明】輸入m后,輸出下列形式(以m等于5為例)的m行、m列數(shù)字方陣。
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
#include
void main ( )
{ int i,j,k,m;
⑴ ;
for(i=1; ⑵ ;i++) {
for(j=1; ⑶ ;j++) printf(" %d",i+j-1);
for(k=1;j<=m;⑷ ) printf(" %d",k);
printf("\n");
}
}
2.【程序說明】輸入20個數(shù),然后輸出他們的平均值、他們中與平均值之差為最小的數(shù)。
#include
#include
⑴
void main()
{ float a[N],x,v=0,d; int i;
for(i=0;i<n;i++) p="" }
v/=20; x=a[0];
d= ⑵ ;
for(i=1;i<n;i++)< p="">
if( ⑶ ) { d=a[i]-v; ⑷ ; }
printf("%f %f\n",v,x);
}
3.【函數(shù)說明】鏈表的節(jié)點類型聲明如下,下列函數(shù)create用于創(chuàng)建含n個stu類型節(jié)點的單向鏈表,函數(shù)返回值為鏈表的頭指針。
struct stu { char name[9]; int cj; stu *next; };
⑴ create(int n)
{ int i; stu *h,*p1,*p2;
p1=h= ⑵ ;
scanf("%s%d",h->name,&h->cj);
for(i=2;i<=n;i++) {
p2=(stu*)malloc(sizeof(stu));
scanf("%s%d",p2->name,&p2->cj);
p1->next=p2; ⑶ ;
}
⑷ ;
return h;
}
四、程序設(shè)計題(1、2小題各10分,第3小題12分,共32分)
1. 編程,輸入x(x>1),正方形A1的邊長為x,A2是A1的內(nèi)接正方形,A3是A2的內(nèi)接正方形,...,A10是A9的內(nèi)接正方形。計算并顯示A10的面積。
2. 編寫通用函數(shù),計算下列表達式的值。
3. 文本文件e:\aaa.txt 中按統(tǒng)一格式已存儲若干行學(xué)生信息:學(xué)號8位字符、空格、成績3位整數(shù))。編程,將所有需要補考的學(xué)生之學(xué)號、成績寫入到文本文件e:\bbb.txt 中。
C程序設(shè)計參考答案
一、填空題(每小題2分,共20分)
⑴ (int)log10(m)+1 ⑵ 17 ⑶ ctype.h ⑷ 3,4 ⑸ 10
⑹ float f(float *a,float x,int n)
⑺ void f(float **a,int m, int n,int *i1,int *i2) ⑻ x、y為相同類型
⑼ 17 ⑽ fopen("g:\\aaa.txt","r")
二、程序閱讀題(每小題8分,共24分)
1. 1 -1 2 7 2. a,b,c:
0 1 3 5 11
0 -2 1 3 100
1 0 2 1 223
3. Windows_xp,Microsoft word_2003,Microsofr VC_6.0
三、程序填空題(每空2分,共24分)
1. ⑴ scanf("%d",&m) ⑵ i<=m ⑶ j<=m+1-i ⑷ j++,k++
2.⑴ #define N 20 ⑵ a[0]-v ⑶ fabs(a[i]-v)
3. ⑴ stu* ⑵ (stu*)malloc(n*sizeof(stu)) ⑶ p1=p2 ⑷ p2->next=NULL
四、程序設(shè)計題(1、2小題各10分,第3小題12分,共32分)
1. #include
#include
void main ( )
{ int i; float x;
while(scanf("%f",&x),x<=1);
for(i=2;i<=10;i++) x=x/sqrt(2);
printf("%f\n",x*x);
}
2. float f(float *a,int n)
{ float y=1; int i;
for(i=n-1;i>=0;i--) y=1+a[i]/y;
return y;
}
3. 重點:文件讀寫(注意格式)函數(shù),文件結(jié)束標(biāo)志,打開、關(guān)閉。
延伸閱讀
- 2022年湖北專升本電路模擬題(四)
- 2022年湖北專升本電路模擬題(三)
- 2022年湖北專升本電路模擬題(二)
- 2022年湖北專升本電路模擬題(一)
- 2022年湖北專升本高等數(shù)學(xué)模擬題(三)
- 2022年湖北專升本高等數(shù)學(xué)模擬題(二)
專升本微信公眾號
掃碼添加
專升本備考資料免費領(lǐng)取
去領(lǐng)取