?2022年河北專接本C語言程序設計模擬試卷(1)
摘要:本文是2022年河北專接本C語言程序設計模擬試卷(1),包含2套河北專接本C語言程序設計模擬試卷,供大家報考參考。下面是具體詳細內容。
河北省普通高校??平颖究平逃荚嘋 語言程序設計模擬試卷一
(考試時間:75 分鐘)
(總分:150 分)
說明:請在答題紙的相應位置上作答,在其它位置上作答的無效。
一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應位置上。)
1. 以下敘述不正確的是
A. 一個C源程序可由一個或多個函數(shù)組成 B. 一個C源程序必須包含一個main函數(shù)
C. C程序的基本組成單位是函數(shù) D. 在C程序中,注釋說明只能位于一條語句的后面
2. 在C語言中,假設所有變量均為整型,則表達式(a=3,b=7,a++,a+b)的值是
A.1O B.11 C.4 D. 13
3. 在C程序中,有語句“int k=7,x=12;”,則下列表達式的值為3的是
A. x%=k-k%5 B. x%=(k-k%5) C. x%=(k%=5) D. (x%=k)-(k%=5)
4. 在C語言中,非法的字符常量是
A. '\t' B. '\17' C. "\n" D. '\xaa'
5. 若有條件表達式(exp)?a++:b--,則以下表達式中能完全等價于表達式(exp)的是
A. (exp==0) B. (exp!=0) C. (exp==1) D. (exp!=1)
6. 在C語言中,有語句“int a,b; scanf("a=%d b=%d",&a,&b);”,下列輸入方法能使a的值為2、b的值為3的是
A. a=2 b=3 B. a=2,b=3 C. 2,3 D. 2 3
7. 若有定義:float x=1.5;int a=1,b=3,c=2;則正確的switch語句是
A. switch(x) B. switch((int)x);
{ case 1.0: printf("*\n"); { case 1.0:printf("*\n");
case 2.0: printf("**\n"); case 2.0: printf("**\n");
} }
C. switch(a+b) D. switch(a+b)
{ case 1: printf("*\n"); { case 1: printf("*\n");
case 2+1: printf("**\n"); } case c: printf("**\n");
} }
8. 以下程序段的輸出結果是
int a[]={1,2,3,4,5,6},*p;
p=a;
*(p+3)+=2;
printf("%d,%d\n",*p,*(p+3));
A. 0,5 B. 1,5 C. 0,6 D. 1,6
9. C語言中函數(shù)返回值的類型由( )決定的。
A. return語句中的表達式類型 B. 調用該函數(shù)的主調函數(shù)的類型
C. 調用函數(shù)時臨時決定 D. 定義函數(shù)時所指定的函數(shù)類型
10. 在C語言中,有以下程序段:
int a=10,b=O;
do{ b+=2;
a-=2+b; } while(a>=O);
程序段中循環(huán)體的執(zhí)行次數(shù)是
A.2 B.3 C.4 D. 5、
11. 在C語言中,以下函數(shù)定義格式正確的是
A.double fun(int x,int y) B.fun(int x,y)
{ z=x+y; { int z;
retun z; return z;
} }
C.fun(x,y) D.double fun(int x,int y)
{ int x,y; { double z;
double z; z=x+y;
z=x+y; return z;
return z; }
}
12. 以下敘述中正確的是
A. 構成C程序的基本單位是函數(shù) B. 可以在一個函數(shù)中定義另一個函數(shù)
C. main()函數(shù)必須放在其它函數(shù)之前 D. 所有被調用函數(shù)一定要在調用之前進行定義
13. 在C語言中,以下錯誤的定義語句是
A. int x[][3]={{0},{1},{1,2,3}};
B. int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D. int x[][3]={1,2,3,4};
14. 在C語言中,有以下程序段:
char str[]="\tab\n\012\\\"";
printf("%d",strlen(str));
其輸出結果是
A.3 B. 4
C.7 D.13
15. 能正確表示a和b同時為正或同時為負的表達式是
A. (a>=0||b>=0)&&(a<0||b
C. (a+b>0)&&(a+b
16. 若int i=10;執(zhí)行下列程序后,變量i的正確結果是
switch(i)
{ case 0:i+=1;
case 10:i+=1;
case 11:i+=1;
default:i+=1;
}
A. 10 B.11 C. 12 D. 13
17. 下列程序的輸出結果是
#include
struct abc
{ int a,b,c; };
main()
{ struct abc s[2]={{1,2,3},{4,5,6}};
int t;
t=s[0].a+s[1].b%s[0].c;
printf("%d\n",t);
}
A. 2 B. 3 C. 4 D. 7
18. 在下面關于指針的說法中,錯誤的一條是
A. 變量的指針就是變量的地址
B. 可以將一個整型量或任何其他非地址類型的數(shù)據賦給一個指針變量
C. 一個指針變量只能指向同一個類型的變量
D. 指針變量中只能存放地址
19. 以下程序運行后的輸出結果是
#include
main()
{ int i=5,j=0;
do{j=j+(--i);}
while(i<2);
printf("%d\n",j);
}
A. 4 B. 5 C. 6 D. 9
20. 在下列敘述中,正確的一條是
A. puts和gets函數(shù)只能輸入或輸出一個字符串
B. 在C語言中,函數(shù)可以遞歸調用或遞歸定義
C. 用scanf函數(shù)輸入數(shù)據時可以規(guī)定精度,例如scanf("%7.2f",&a);
D. 外部變量只限于本文件中使用
二、閱讀程序題(共5小題,每小題6分,共30分)
1. 【程序】
#include
main()
{ int i,a[]={1,2,3,4,5,9,8,7,6,5};
void tran(int *);
tran(a);
for(i=0;i<10;i++)
printf("%3d",a[i]);
}
void tran(int *p)
{ int t,*d,*e;
d=p;e=p+9;
while(d<e)
{ t=*d;*d=*e;*e=t;
d++;e--;
}
}
【運行結果】
2. 【程序】 請寫出輸入“24,16”時的輸出結果
#include
main()
{ int a,b,num1,num2,temp;
scanf("%d,%d",&num1,&num2);
if(num1>num2)
{ temp=num1;
num1=num2;
num2=temp;
}
a=num1,b=num2;
while(b!=0)
{ temp=a%b;
a=b;
b=temp;
}
printf("%d,%d\n",a,num1*num2/a);
}
【運行結果】
3. 【程序】
#include
int fun(int n)
{ static int f=1;
f=f*n;
return f;
}
main()
{ int i;
for(i=1;i<=5;i++)
printf("%d\t",fun(i));
}
【運行結果】
4. 【程序】
#include
main()
{ int a=3,b=2,c=1;
c-=++b;
b*=a+c;
{ int b=5,c=12;
c/=b*2;
a-=c;
printf("%d,%d,%d,", a,b,c);
a+=--c;
}
printf("%d,%d,%d\n", a, b, c);
}
【運行結果】
5. 【程序】程序運行時,輸入B
#include
main()
{ char grade;
scanf("%c",&grade);
switch(grade)
{ case'A':printf(">=85");
case'B':printf(">=75");
case'C':printf(">=60");
case'D':printf("<60");
default:printf("errror");
}
}
【運行結果】
三、程序填空題(共3題,每空5分,共35分)
1. 功能是:用遞歸的方法求菲波那契數(shù)列2,2,4,6,10,16,26,42,68,110,……的第10項
#include
long fib(int n)
{ if(n>=______________ )
return___________________ ;
else
return________________ ; }
main()
{ printf("%ld\n",fib(10)); }
2. 函數(shù)delchar的功能是:刪除字符串s中的所有數(shù)字字符
#include
void delchar(char *s)
{ int i,n=0;
for(i=0; s[i]!='\0';i++)
if(___________________ )
s[____________ ]=s[i];
s[n]='\0'; }
3. 功能是:輸出方陣中主對角線和、副對角線上元素的和sum1和sum2
#include
#define N 3
main()
{ int a[N][N],i,j,sum1,sum2;
sum1=sum2=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{ sum1+= _____________;
sum2+=____________ ; }
printf("%d,%d\n",sum1,sum2);}
四、編程題 (共3小題,每題15分 共45分)
1、打印以下圖案:
**
****
******
********
**********
2、求一個3*4的矩陣各列元素的平均值;將原矩陣和求出的平均值全部輸出。
3、編寫函數(shù)int fun(char s[]),功能是:判斷字符串是s否為回文,是回文返回1,否則返回0
河北省普通高校專科接本科教育考試C 語言程序設計模擬試卷二
(考試時間:75 分鐘)
(總分:150 分)
說明:請在答題紙的相應位置上作答,在其它位置上作答的無效。
一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應位置上。)
1. 下面四個選項中,均是不合法的用戶標識符的選項是
A. A P_0 do B. b-a goto int C. float ia0 _A D. _123 temp int
2. 以下程序段輸出的結果是
int a=-1,b=4,k;
k=(++a<0)&&!(b--<0);
printf("%d%d%d\n",a,b,k);
A. 041 B. 040 C. 030 D. 031
3. 設有說明char w;int x;float y;double z;,則表達式w*x+z-y的值的類型為
A. float B. char C. int D. double
4. 以下程序段的輸出結果是
int x=3;
do { printf("%3d",x-=2);} while(!(--x));
A. 1 B. 3 0 C. 1 -2 D. 死循環(huán)
5. 若有說明:int a[3][4],則對a數(shù)組元素的正確引用是
A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)
6. 以下程序段的輸出結果是
char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for(k=0;k<3;k++)
printf("%s\n",&w[k][k]);
A. ABCD B. FGH E. EFG D. ABCD
FGH KL JK EFG
KL
7. 以下敘述中不正確的是
A.在函數(shù)中,通過return語句獲得返回值
B.在函數(shù)中,可以有多條return語句
C.在函數(shù)中,如果沒有return語句則不帶回返回值
D.在C語言中,調用函數(shù)不必在一條獨立的語句中完成
8. 以下程序段的輸出結果是
int x=2,y=-1,z=2;
if(x<y)< p="">
if(y<0)z=0;
else z+=1;
printf("%d\n",z);
A. 2 B. 3 C. 1 D. 0
9. 下列程序段的輸出結果是
char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;
printf("%d",*--p);
A. 非法 B. a[4]的地址 C. 3 D. 5
10. 以下錯誤的描述是
A. 不同的函數(shù)中可以使用相同的變量名
B. 在一個函數(shù)內部的復合語句中定義的變量可以在本函數(shù)范圍內有效
C. 一個函數(shù)內部定義的變量只能在本函數(shù)范圍內有效
D. 形式參數(shù)是局部變量
11. 設有:char str[]="Beijing";
則執(zhí)行:printf("%d\n",strlen(strcpy(str,"China")));后輸出的結果為
A. 5 B. 7 C. 12 D. 14
12. 在下列敘述中,正確的一條是
A. 以下語句是正確的:char c[]="ab";
B. 一維數(shù)組的定義可采用下列格式:int a(10);
C. 下面的語句定義了一個二維數(shù)組:float a[3,4];
D. 以下兩個語句中的a[3][4]的含義相同:int a[3][4];a[3][4]=1;
13. 若有定義int (*pointer)[3],則標識符pointer是一個
A.指向整型變量的指針變量
B.指向有三個整型元素的一維數(shù)組的指針變量
C.指向函數(shù)的指針變量
D.指針數(shù)組名,有三個元素,每個元素均為一個指向整型變量的指針
14. 下列敘述中,正確的一條是
A.語句“goto 12;”是合法的
B.for(;;)語句相當于while(1)語句
C.if(表達式)語句中,表達式的類型只限于邏輯表達式
D.break語句可用于程序的任何地方,以終止程序的執(zhí)行
15. 設變量定義如下,則對其中的成員num正確的應用是
struct student
{ int num;
char name[20];
float score;
} stud[10];
A.stud[1].num=10; B. student.stud.num=10;
C.struct.stud.num=10; D. struct student.num=10;
16. 以下程序的輸出結果是
main()
{ int x=4;
fun(x);
printf("\n");
}
fun(int y)
{ if(y>0)fun(y-1);
printf("%d ", y);
}
A.0 1 2 3 4 5 B. 4 3 2 1
C.0 1 2 3 4 D. 5 4 3 2 1 0
17. 語句while(E);中的表達式E等價于
A. E!=0 B. E!=1 C. E==0 D. E==1
18. 下面程序的運行結果是
main()
{ char ch[7]={"65ab21"};
int i, s=0;
for(i=0;ch[i]>= '0'&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n", s);
}
A. 12ba56 B. 6 C. 6521 D. 62
19. 定義如下變量和數(shù)組:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
則下面語句的輸出結果是
for(i=0;i<3;i++)printf("%d",x[2-i] [i]);
A. 7 5 3 B. 7 4 1 C. 9 5 1 D. 9 6 3
20. 以下程序的輸出的結果是
int func(int a,int b)
{ return(a+b); }
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%d\n”,r);
}
A.12 B. 13 C. 14 D. 15
二、閱讀程序題(本題共5小題,每小題6分,共30分,請寫出程序的運行結果)
1. 【程序】
#include
main()
{ int s[]={1,2,3,1,2,1,1,3},k;
int x[]={0,0,0,0};
for(k=0;k<8;k++)
switch(s[k])
{ case 1:
case 2:
case 3:x[s[k]]++;
}
for(k=0;k<4;k++)
printf("%d ",x[k]);
}
【運行結果】
2. 【程序】
#include
void reverse(int a[],int n)
{ int i,t;
for(i=0;i<n p="" 2;i++)
{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int a[]={1,2,3,4,5,6,7,8,9,10},i;
reverse(a,6);
for(i=0;i<10;i++)
printf("%3d",a[i]);
}
【運行結果】
3. 【程序】
#include
int func(int a,int b)
{ static int m=0, i=2;
i+=m+1;
m=i+a+b;
return m;
}
main()
{ int k=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
【運行結果】
4. 【程序】
#include
#define ADD(x) x+x
main()
{ int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
printf("sum=%d\n",sum);
}
【運行結果】
5. 【程序】
#include
struct STU { char name[10];int num;int score; }
main()
{ struct STU s[5]={{"YangSan",20041,703},{"LiSiGuo",20042,580},
{"WangYin",20043,680},{"SunDan",20044,550},{"PengHua",20045,537}}, *p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->score>p[j]->score)
{ t=p[i];p[i]=p[j];p[j]=t; }
printf("%d%5d\n",s[0].score,p[0]->score);
}
【運行結果】
三、程序填空題(共3題,每空5分,共35分)
1、以下程序的功能是:輸出三位正整數(shù)中能被13整除的數(shù)
#include
main()
{ int n;
for(_________ ;______________ ;n++)
if(n%13!=0) ____________;
else printf("%d\n",n);}
2、閱讀以下程序并填空。以下程序的功能是:計算:
#include
main()
{ int n;
float ;
scanf("%d",&n);
while(n>0)
{ s=s+___________ ;
n-- ; }
printf("Result is:%f\n",s); }
3、以下程序的功能是:輸出所有的水仙花數(shù),所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身例如:153是一水仙花數(shù),因為:153=13+53+33
#include
main()
{ int i,a,b,c;
for(i=100;i<=999;i++)
{ a=____________ ;
b= _____________;
c= _____________;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d\n",i);
}
}
四、編程題(共3小題,每題15分 共45分)
1、編寫函數(shù)fun,其功能為計算數(shù)列“1,-2,3,-4,…,n-1,-n”的和。
要求:(1)利用宏定義將n定義為10;
(2)函數(shù)的調用和結果的輸出由主函數(shù)main()處理,計算過程由fun函數(shù)處理;
(3)在main()中用printf()輸出結果。
2、編寫函數(shù)void fun(int a[],int n),功能是:將數(shù)組a中的前n個元素倒序存放。
3、編寫程序,通過定義學生結構體數(shù)組,存儲了若干名學生的學號、姓名和3門課程成績。函數(shù)fun 的功能是將存放學生數(shù)據的結構體數(shù)組,按照姓名的字典序(從大到小)排序。
延伸閱讀
- 2023年河北專升本金屬材料概論模擬題及答案
- 2023年河北專升本環(huán)境監(jiān)測模擬題及答案
- 2023年河北專升本環(huán)境保護概論模擬題及答案
- 2023年河北專升本和聲學模擬題及答案
- 2023年河北專升本基本樂理模擬題及答案
- 2023年河北專升本命題創(chuàng)作模擬題及答案
專升本微信公眾號
掃碼添加
專升本備考資料免費領取
去領取