違法信息舉報 客服熱線:400-118-7898
廣告
?
專接本欄目測試廣告

?2022年河北專接本C語言程序設計模擬試卷(1)

普通專升本 責任編輯:管理員 2021-12-30

摘要:本文是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、閱讀以下程序并填空。以下程序的功能是:計算:image.png

#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ù)組,按照姓名的字典序(從大到小)排序。

更多資料

廣東省專升本《大學語文》真題

云南專升本《高等數(shù)學》真題(2019年)

統(tǒng)招專升本《高等數(shù)學》真題回憶版(2021年)

更多課程

《市場營銷學》公開課—業(yè)務成長戰(zhàn)略

1節(jié)課

《基礎會計》公開課—會計要素-反映財務狀況的會計要素

1節(jié)課

《管理學》公開課——馬斯洛需要層次理論

1節(jié)課

溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

專升本備考資料免費領取

去領取