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

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

普通專升本 責(zé)任編輯:管理員 2021-12-31

摘要:本文是2022年河北專接本C語言程序設(shè)計模擬試卷(3),包含4套河北專接本C語言程序設(shè)計模擬試卷,供大家報考參考。下面是具體詳細(xì)內(nèi)容。

河北省普通高校??平颖究平逃荚嘋 語言程序設(shè)計模擬試卷六

(考試時間:75 分鐘)

(總分:150 分)

說明:請在答題紙的相應(yīng)位置上作答,在其它位置上作答的無效。

一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應(yīng)位置上。)

1. C語言源程序文件的后綴是( )

A. “.c” B. “.obj”

C. “.exe” D. “.bas”

2. 以下選項中不正確的實型常量是( )

A. 0.23E1 B. 2.3e-1

C. 1E3.6 D. 2.3e0

3. 在C語言程序中,用關(guān)鍵字( )定義無符號型變量( )

A. unsigned B. float

C. double D. char

4. C語言程序中可以對程序進行注釋,注釋部分可以用( )括起來

A. ‘{’和‘}’ B. ‘[’和‘]’

C. “/*”和“/*” D. “*/”和“*/”

5. 若a、b都是int類型變量,( )不是正確的賦值語句

A. a=b=60; B. a=3.0

C. a=1.3; D. b=0;

6. 若變量a,b,c已正確定義并賦值,符合C語言語法的表達(dá)式是( )

A. ab/c; B. a/c*b

C. a·b D. a*b\c

7. 若k是基本整型變量,則以下程序段的輸出是( )

k=8567;

printf(“|%-6d\n”,k);

A. 輸出格式描述符不正確 B. 輸出為| 8567|

C. 輸出為|8567 | D. 輸出為|-08567|

8. 為表示“a和b都大于0”,應(yīng)使用的C語言表達(dá)式是( )

A. (a>0)&&(b>0) B. a&&b

C. (a>0)||(b>0) D. (a>0)|(b>0)

9. 已知字符‘b’的ASCII碼為98,執(zhí)行下列語句后輸出為( )

printf(“%d,%c”,’b’,’b’+1);

A. 98,b B. 語句不合法

C. 98,99 D. 98,c

10. 以下函數(shù)調(diào)用語句中,含有的實參個數(shù)是( )

exce((v1,v2),(v3,v4,v5),v6);

A. 6 B. 5

C. 4 D. 3

11. 若變量已正確定義,表達(dá)式( )可以使指針PX指向變量X

A. PX=&X B. PX=X

C. *PX=&X D. *PX=*X

12. 若變量已正確定義并且指針P已經(jīng)指向某個變量X,則(*P)++相當(dāng)于( )

A. P++ B. X++

C. *(P++) D. &X++

13. 數(shù)組定義為int a[6],數(shù)組a中有( )個元素

A. 4 B. 5

C. 6 D. 7

14. 下列各語句定義了數(shù)組,( )是不正確的

A. int a[1][3]; B. int x[2][2]={1,2,3,4};

C. int x[2][]={1,2,4,6}; D. int m[][3]={1,2,3,4,5,6};

15. 表達(dá)式strcmp("box”,”boss”)的值是一個( )

A. 正數(shù) B. 負(fù)數(shù)

C. 0 D. 不確定的數(shù)

16. 要調(diào)用字符函數(shù)時,在#include命令行中包括( )

A. “stdio.h” B. “string.h”

C. “math.h” D. “ctype.h”

17. 若變量已正確定義且K的值是4,計算表達(dá)式(j=k--)后,( )是正確的

A. j=4,k=4 B. j=4,k=3

C. j=3,k=4 D. j=3,k=3

18. 表達(dá)式((int)(3.0/2.0))的值是( )

A. 1.5 B. 1.0

C. 1 D. 0

19. 在C語言中,優(yōu)先級最低的運算符是( )

A. * B. <<

C. + D. ,

20. 若有說明:int s[3][4]={0};,則下面正確的敘述是( )

A. 只有元素s[0][0]可得到初值0

B. 此說明語句不正確

C. 數(shù)組s中各元素都可得到初值,但其值不一定為0

D. 數(shù)組s中每個元素均可得到初值0

二、閱讀程序題(本題共5小題,每小題6分,共30分,請寫出程序的運行結(jié)果)

1.【程序】

#include<stdio.h>

int fun(int a,int b)

{ if(a>b) return a;

else return b;

}

main()

{ int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

printf("%d\n",r);

}

【運行結(jié)果】

2.【程序】

#include<stdio.h>

struct HAR

{ int x,y;

struct HAR *p;

} h[2];

main()

{ h[0].x=1;h[0].y=2;

h[1].x=3;h[1].y=4;

h[0].p=&h[1];h[1].p=&h[0];

printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);

}

【運行結(jié)果】

3.【程序】

#include<stdio.h>

int fun(int m,int n) { int r;

while(n) { r=m%n; m=n;

n=r;

}

return m;

}

main()

{ int x=100,y=15;

printf("%d\n",fun(x,y));

}

【運行結(jié)果】

4. 【程序】

#include<stdio.h>

void f()

{ static int a=200;

int b=1;

++b;

printf("%d+%d=%d\n",a,b,a+b);

a+=200;

}

main()

{ int i;

for(i=1;i<=4;i++)

f();

}

【運行結(jié)果】

5. 【程序】

#include<stdio.h>

main()

{ int x,y; for(y=1,x=1;y<=20;y++) { if(x>=8) break;

if(x%2==1) { x+=5;continue; }

x-=3;

}

printf("x=%d,y=%d\n",x,y);

}

【運行結(jié)果】

三、程序填空題(共3題,每空5分,共35分)

1. 讀入n(n<=10)個整數(shù)并放入一個數(shù)組r中,再讀入一個整數(shù)x,統(tǒng)計并輸出x在數(shù)組r中出現(xiàn)的次數(shù)count,如果count>0,再輸出x在r中所對應(yīng)的最小下標(biāo)(下標(biāo)從0開始)。

#include”stdio.h”

void main()

{

int x,k,sub,count,n,r[5];

scanf(“%d”,&n);

for(k=0;k<n;k++)

scanf(“%d”, ____________);

scanf(“%d”,&x);

sub=count=0;

for(k=0;k<n;k++)

if(______________ )count++;

for(k=0;k<n;k++)

{

if(x==r[k])

{

sub=k; ______________;

}

}

printf(“count=%d\n”,count);

if(count>0)

printf(“subscript is%d\n”,sub);

}

2. 程序功能:輸入一個整數(shù),將每一位數(shù)字輸出。

#include<stdio.h>

void main()

{ int digit,number,power,t;

printf(“Enter an integer:”);

scanf(“%d”,&number);

number=numbe<0?-number:number;

power=1;

__________________;

while(______________ )

{power*=10;

t/=10;

};

printf(“the digits are:”);

while(__________________ )

{ digit=number/power;

printf(“%d”,digit);

_____________;

power/=10;

}

}

四、編程題(共3小題,每題15分 共45分)

1. 輸入正整數(shù)m和n,如果m+n是素數(shù),輸出“Yes”,否則,輸出“No”。要求定義并調(diào)用函數(shù)myfun(x)來判斷x是否為質(zhì)數(shù),在下面空出的位置完成程序,不能定義新的變量,可不用已定義的某些變量。

#include<stdio.h>

#include<math.h>

void main()

{

int m,n;

}

int myfun(int x)

{

int k;

}

2. 編寫函數(shù)求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。在主函數(shù)中輸入這兩個整數(shù)并輸出最大公約數(shù)和最小公倍數(shù)。

3. 求Sn=a+aa+aaa+…+aa…a之值,其中a是一個數(shù)字。

例如2+22+222+2222(此時a=2,n=4),a和n的值由鍵盤輸入。

河北省普通高校??平颖究平逃荚嘋 語言程序設(shè)計模擬試卷七

(考試時間:75 分鐘)

(總分:150 分)

說明:請在答題紙的相應(yīng)位置上作答,在其它位置上作答的無效。

一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應(yīng)位置上。)

1. 以下正確的C語言自定義標(biāo)識符是( )

A. _1a B. 2a_

C. do D. a12

2. 在C語言中,錯誤的常數(shù)表示是( )

A. 0L B. 0x6aL

C. ‘6’ D. 1.234E3.5

3. 設(shè)int a,x=2;執(zhí)行語句a=x>0?3*x:x=10;后,變量x的值是( )

A. 1 B. 2

C. 6 D. 10

4. 設(shè)有以下程序段:

int x=2,y=2,z=0,a;

a=++x||++y&&z++;

printf(“%d,%d,%d\n”,x,y,z);

執(zhí)行后輸出的結(jié)果是( )

A. 2,2,0 B. 3,3,1

C. 3,2,0 D. 3,2,1

5. 在C語言中,字符串”\\TOP\t\65\””的長度是( )

A. 5 B. 7

C. 9 D. 12

6. 設(shè)float x;,由鍵盤輸入:12. 45,能正確讀入數(shù)據(jù)的輸入語句是( )

A. scanf(“%5f”,&x); B. scanf(“%5d”,&x);

C. scanf(“%f”,x); D. scanf(“%s”,&x)

7. 逗號表達(dá)式a=2*6,a*3,a+5的值是( )

A. 12 B. 17

C. 36 D. 41

8. 以下敘述中正確的是( )

A. break語句只能用于switch語句中

B. continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C. break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)

D. 在循環(huán)體內(nèi)使用break語句和continue語句的作用相同

9. 在C語言中,下列運算符中結(jié)合性屬于自右向左的是( )

A. && B. –

C. << D. –>

10. 設(shè)int (*p) [4];,則p的含義是( )

A. 指向整型變量的指針數(shù)組

B. 指向4個整型變量的函數(shù)指針

C. 4個指向整型變量的指針變量

D. 指向具有4個整型元素的一維數(shù)組的指針

11. 設(shè)char x[][10]={“Windows”,”dos”,”unix”};,執(zhí)行printf(“%c”,x[1][2]);后輸出的結(jié)果是( )

A. n B. i

C. o D. s

12. 設(shè)int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*ptr)[3]=a,*p=a[0];,則與數(shù)組元素a[1][2]等價的是( )

A. *((p+2)+3) B. *(*(p+3))

C. (*ptr+1)+2 D. *((ptr+1)[2])

13. 設(shè)int a=11,b=2;,執(zhí)行下述程序段后,變量a和b的值分別是( )

do

{a/=b++;}while(a>b);

A. 1,3 B. 1,4

C. 2,3 D. 2,4

14. 在C語言中,下列錯誤的說法是( )

A. 函數(shù)可以遞歸調(diào)用

B. 不允許在函數(shù)中再定義函數(shù)

C. 遞歸程序不可能用非遞歸算法實現(xiàn)

D. 對于continue語句,可以用過改變程序的結(jié)構(gòu)而不使用它

15. 設(shè)int a[2][3]={{1},{2,3}};,則元素a[1][0]的值是( )

A. 0 B. 1

C. 2 D. 3

16. C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間( )

A. 所有成員一直駐留在內(nèi)存中

B. 只有一個成員駐留在內(nèi)存中

C. 部分成員駐留在內(nèi)存中

D. 沒有成員駐留在內(nèi)存中

17. 設(shè)

struct student

{char name[10];

int sex;

int num;

}s,*p=&s;

以下對結(jié)構(gòu)變量s中成員num的非法引用是( )

A. p->num B. (*p).num

C. s.num D. student.num

18. 下列說法中正確的是( )

A. C語言的預(yù)處理命令只有宏定義和文件包含

B. 預(yù)處理命令只能出現(xiàn)在主函數(shù)之前

C. 所有預(yù)處理命令都是以符號“#”開頭

D. 有些預(yù)處理命令不是在源程序編譯之前處理

19. 已有定義int(*p)( );指針p可以( )

A. 代表函數(shù)的返回值 B. 指向函數(shù)的入口地址

C. 表示函數(shù)的類型 D. 表示函數(shù)返回值的類型

20. 下列屬于文件包含的命令是( )

A. #define N 25 B. #endif

C. #include “stdio.h” D. #else

二、閱讀程序題(本題共5小題,每小題6分,共30分,請寫出程序的運行結(jié)果)

1. 【程序】

#include<stdio.h>

main()

{ char ch1='A',ch2='B'; switch(ch1)

{ case 'A': switch(ch2)

{ case 'B':printf("Good!\n");break;

case 'A':printf("Better!\n");break;

}

case 'B':printf("Best!\n");break;

}

}

【運行結(jié)果】

2. 【程序】

#include<stdio.h>

main()

{ int num=11,len=0,i=0,a[30];

do { a[len++]=num%2; num=num/2; } while(num); for(i=0;i<len;i++)

printf("%d",a[len-i-1]);

printf("\n");

}

【運行結(jié)果】

3. 【程序】

#includemain()

{ int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1;

printf("%d,%d,%d\n",x,y,z);

}

【運行結(jié)果】

4. 【程序】

#include<stdio.h>

main()

{ int a=1,b=2,c=3,d=0; if(a==1)

if(b!=2) if(c==3) d=1; else d=2;

else if(c!=3) d=3;

else d=4;

else d=5;

printf("%d\n",d);

}

【運行結(jié)果】

5. 【程序】

#include<stdio.h>

#include<string.h>

struct A

{ int a; char b[10];

double c;

};

void f(struct A t)

{ t.a=1002;

strcpy(t.b,"ChangRong");

t.c=1202.0;

}

void main()

{ struct A a={1001,"ZhangDa",1098.0};

f(a);

printf("%d,%s,%6.1f\n",a.a,a.b,a.c);

}

【運行結(jié)果】

三、程序填空題(共3題,每空5分,共35分)

1. 對含有10個元素的數(shù)組a先按元素的存儲次序倒序輸入,再按其正序輸入。

#include<stdio.h>

#define

void main()

{

int i,a[N];

for(i=N-1;_____________ ;i--)

scanf(“%d”,_________ );

for(i=0;i<n;i++)printf(“%d\t”,a[i]);

printf(“\n”);

}

2. 學(xué)生成績的字母等級和分?jǐn)?shù)范圍如下:

字母等級 分?jǐn)?shù)范圍

A 90~100

B 80~89

C 70~79

D 60~69

E 0~59

其它字母 輸入錯誤

輸入字母等級之后,輸出相應(yīng)的分?jǐn)?shù)范圍。

#include<stdio.h>

void main()

{

_______________;

scanf(“%c”,&score);

switch(____________ )

{

case’A’:priintf(“A:90~100\n”);______________ ;

case’B’:priintf(“B:80~89\n”);break;

case’C’:priintf(“C:70~79\n”);break;

case’D’:priintf(“D:60~69\n”);break;

case’E’:priintf(“E:50~59\n”);break;

________________:printf(“輸入錯誤\n”);

}

}

四、編程題(共3小題,每題15分 共45分)

1. 輸入自變量x的值后,計算并輸出y的值。

image.png

2. 用循環(huán)結(jié)構(gòu)輸入下列數(shù)字金字塔(共9行)。

1

121

12321

1234321

……………

12345678987654321

3. 某重點大學(xué)的博士入學(xué)考試科目為外語和兩門專業(yè)課,對于每個考生,輸入各科考試成績,并計算總分。

河北省普通高校??平颖究平逃荚嘋語言程序設(shè)計模擬試卷八

(考試時間:75 分鐘)

(總分:150 分)

說明:請在答題紙的相應(yīng)位置上作答,在其它位置上作答的無效。

一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應(yīng)位置上。)

1. 設(shè)int a=1,b=2,m=2,n=2;若執(zhí)行以下程序段后,n的值是( )

(m=a>b)&&++n;

A. 1 B. 2

C. 3 D. 4

2. 以下正確的敘述是( )

A. C語言中,main函數(shù)必須位于文件開頭

B. C語言每行中只能寫一條語句

C. C語言本身沒有輸入、輸出語句

D.對一個C語言進行編譯預(yù)處理時,可檢查宏定義的語法錯誤

3. C語言程序中,若對函數(shù)類型未加顯示說明,則函數(shù)的隱含類型為( )

A. void B. double

C. int D. char

4. C語言中,可以用來說明函數(shù)的是( )

A. auto或static B. extern或auto

C. static或extern D. auto或register

5. C語言中最簡單的數(shù)據(jù)類型包括( )

A. 整型、實型、邏輯型 B. 整型、實型、字符型

C. 整型、字符型、邏輯型 D. 整型、實型、邏輯型、字符型

6. 請選出以下程序段的輸出結(jié)果( )

#include

#define MIN(x,y) (x)<(y)?(x):(y)

void main()

{

int i,j,k;

i=10;j=15;

k=10*MIN(i,j);

printf(“%d\n”,k);

}

A. 15 B. 10

C. 10 D. 150

7. 若有定義:char*p1,*p2,*p3,*p4,ch;則不能正確賦值的程序語句為( )

A. p1=&ch;scanf(“%c”,p1); B. p2=(char*)malloc(1);scanf(“%c”,p2)

C. p3=getchar(); D. p4=&ch;*p4=getchar();

8. 在定義int a[10];之后,對a的引用正確的是( )

A. a[10] B. a[6.3]

C. a(6) D. a[10-10]

9. 若有語句:char s1[]=”string”,s2[8],*s3,*s4=”string2”,則對函數(shù)庫strcpy的正確調(diào)用是( )

A. strcpy(s1,”string2”); B. strcpy(s4,”string1”);

C. strcpy(s3,”string1”); D. strcpy(s1,s2);

10. 設(shè)c1、c2均是char類型變量,則不正確的函數(shù)調(diào)用為( )

A. printf(“%c,%c,”,c1,c2) B. getchar(c1)

C. putchar(c2) D. putchar(c1)

11. 設(shè)有以下說明語句

struct stu {int a;float b;}stutype;

則下面的敘述不正確的是( )

A. struct是結(jié)構(gòu)體類型的關(guān)鍵字

B. struct stu是用戶定義的結(jié)構(gòu)體類型

C. stutype是用戶定義的結(jié)構(gòu)體類型名

D. a和b都是結(jié)構(gòu)體成員名

12. 設(shè)有如下函數(shù)定義:

int f(char*s)

{

char*p=s;

while(*p!=’\0’)p++;

return(p-s);

}

如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果為( )

printf(“%d\n”,f(“goodbye!”))

A. 3 B. 6

C. 8 D. 0

13. 若有以下定義和語句:

double r=99,*p=&r;

*p=r;

則以下正確的敘述是( )

A. 以上兩處的*p含義相同,都說明給指針變量p賦值

B. 在”double r=99,*p=&r;”中,把r的地址賦值給了p所指的存儲單元

C. 語句”*p=r;”把變量r的值賦給指針變量p

D. 語句”*p=r;”取變量r的值放回r中

14. 字符’0’的ASCII碼的十進制數(shù)為48,且數(shù)組的第0個元素在低位,則以下程序的輸出結(jié)果是( )

#include

void main()

{

union

{

int i[2];

long k;

char c[4];

}r,*s=&r;

s->i[0]=0x39;

s->i[1]=0x38;

printf(“%x\n”,s->i[1]);

}

A. 39 B. 9

C. 38 D. 8

15. 在下列選項中,不正確的表達(dá)式是( )

A. a=(b>c) B. c--,++b,a+=1

C. a=c+b>n-m=k D. p++

16. 下面程序的功能是( )

#include

void main()

{

int i=0,n=0;char s[80],*p;

p=s;

strcpy(p,”It is a book.”);

for( ;*p!=’\0’;p++)

if(*p==’’)i=0;

else if(i==0) {n++;i=1;

}

A. 統(tǒng)計字符串中的單詞個數(shù) B. 統(tǒng)計字符串中的空格個數(shù)

C. 統(tǒng)計字符串中的字母個數(shù) D. 統(tǒng)計字符串中的全部字符個數(shù)

17. 下列程序的輸出結(jié)果是( )

#include

struct abc

{int a,b,c;};

void main()

{

struct abC.s[2]={{1,2,3},{4,5,6}};

int t;

t=s[0].a+s[1].b;

printf(“%d\n”,t);

}

A. 5 B. 6

C. 7 D. 8

18. 下列程序執(zhí)行后的輸出結(jié)果是( )

#include

void main()

{

int a[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i+1;

printf(“%d\n”,a[1][2]);

}

A. 3 B. 6

C. 9 D. 隨機數(shù)

19. 下面程序輸出數(shù)組中的最大值,由s指針指向該元素

#include

void main()

{

int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;

for(p=a,s=a;p-a<10;p++)

if( )s=p;

printf(“The max:%d”,*s);

}

則在if語句中的判斷表達(dá)式應(yīng)該是( )

A. p>s B. *p>*s

C. a[p]>a[s] D. p-a>p-s

20. 已知字母A的ASCII碼為十進制的65,下面程序的輸出是( )

#include

void main()

{

char ch1,ch2;

ch1=’A’+’5’-‘3’

ch2=’A’+’6’-‘3’

printf(“%d,%c\n”,ch1,ch2);

}

A. 67,D B. B,C

C. C,D D. 不確定的值

二、閱讀程序題(本題共5小題,每小題6分,共30分,請寫出程序的運行結(jié)果)

1. 【程序】

#include<stdio.h>

void f(int v,int w) { int t;

t=v;v=w;w=t;

}

main()

{ int x=10,y=30,z=20;

if(x>y) f(x,y);

else if(y>z) f(y,z);

else f(x,z);

printf("%d,%d,%d\n",x,y,z);

}

【運行結(jié)果】

2. 【程序】

#include<stdio.h>

main()

{ int k,n,m; n=10;m=1;k=1; while(k<=n) { m*=2;

k+=3;

}

printf("%d\n",m);

}

【運行結(jié)果】

3. 【程序】程序運行時,從鍵盤輸入 C 

#include<stdio.h>

main()

{ char class; scanf("%c",&class); switch(class)

{ case 'A':printf("GREAT!\n");break; case 'B':printf("GOOD!\n");break; case 'C':printf("OK!\n");break;

case 'D':printf("NO!\n");break;

default:printf("ERROR!\n");

}

}

【運行結(jié)果】

4. 【程序】程序運行時,從鍵盤輸入 2 3 

#include<stdio.h>

main()

{ int a,b,c; scanf("%d%d",&a,&b); c=a;

if(a

printf("%d\n",c);

}

【運行結(jié)果】

5. 【程序】

#include<stdio.h>

int f(int x)

{ if(x==0||x==1)

return 3;

else

return x*x-f(x-2);

}

main()

{ printf("%d\n",f(4)); }

【運行結(jié)果】

三、程序填空題(共3題,每空5分,共35分)

1. 以下程序用來對從鍵盤輸入的兩個字符串進行比較,輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如:輸入兩個字符串分別為abcdef和abceef,則輸出為-1.請?zhí)羁铡?/p>

#include<stdio.h>

void main()

{

char str1[100],str2[100];

int i=0,s;

printf(“\n input string 1:\n”);

gets( );

printf(“\n input string 2:\n”);

gets( _________________);

while((str1[i]==str2[i])&&(str1[i]!=_______________ ))

i++;

s=_____________ ;

printf(“%d\n”,s);

}

2. fun1函數(shù)的調(diào)用語句為fun1(&a,&b,&c);。它將3個整數(shù)按由大到小的順序調(diào)整后依次放入a,b,c,三個變量中,a中放最大數(shù),請?zhí)羁铡?/p>

void fun2(int*x,int*y)

{

int t;

t=*x;*x=*y;*y=t;

}

void fun1(int *pa,int *pb,int *pc)

{

if(*pc>*pb)fun2( ________________);

if(*pa<*pc)fun2( ____________);

if(*pa<*pb)fun2(___________ );

}

四、編程題(共3小題,每題15分 共45分)

1. 編寫一程序,求1!+2!+3!+…+20!。要求用函數(shù)計算n!。

2. 兩位數(shù)13和62具有很有趣的性質(zhì):把它們個位數(shù)字和十位數(shù)字對調(diào),其乘積不變,即13*62=31*26。編程序求共有多少對這種性質(zhì)的兩位數(shù)(個位與十位相同的不在此列,如11、22,重復(fù)出現(xiàn)的不在此列,如13*62與62*13)。

3. 打印出以下圖形

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

河北省普通高校??平颖究平逃荚嘋語言程序設(shè)計模擬試卷九

(考試時間:75 分鐘)

(總分:150 分)

說明:請在答題紙的相應(yīng)位置上作答,在其它位置上作答的無效。

一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應(yīng)位置上。)

1. 以下定義語句中正確的是( )

A. char a=’A’b=’B’; B. float a=b=10.0;

C. int a=10,*b=&a; D. float *a,b=&a;

2. 下列運算符中,優(yōu)先級最高的是( )

A. -> B. ++

C. && D. =

3. 表達(dá)式!(x>0&&y>0)等價于( )

A. !(x>0)||!(y>0) B. !x>0||!y>0

C. !x>0&&!y>0 D. !(x>0)&&!(y>0)

4. 有以下程序

#include

void main()

{ int a=666,b=888;

printf(“%d\n”,a,b);

}

程序運行后的輸出結(jié)果是( )

A. 錯誤信息 B. 666

C. 888 D. 666,888

5. 有以下程序

#include

void main()

{

int i;

for(i=0;i<3;i++)

switch(i)

{

case 0:printf(“%d”,i);

case 2:printf(“%d”,i);

default:printf(“%d”,i);

}

}

程序運行后的輸出結(jié)果是( )

A. 022111 B. 021021

C. 000122 D. 012

6. 若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是( )

A. abs(x-y)<10 B. x-y>-10&&x-y<10

C. !(x-y)<-10||!(y-x)>10 D. (x-y)*(x-y)<100

7. 數(shù)組定義為,int a[11][11];則數(shù)組a的元素個數(shù)為( )

A. 12 B. 144

C. 100 D. 121

8. 對于以下的變量定義,不正確的表達(dá)式是( )

struct node { int j,k; } x,*p=&x;

A. p->k=2; B. (*p).k=2;

C. x.k=2 D. x->k=2

9. 不正確的賦值或賦初值的方式是( )

A. char str[]=”string”; B. char str[10]; str=”string”;

C. char*p=”string”; D. char*p;p=”string”;

10. 設(shè)程序中不再定義新的變量,寫出在函數(shù)main中可以使用的所有變量為( )

#include

int z;

int p(int x)

{ static int y;

return(x+y);

}

void main()

{ int a,b;

printf(“%d\n”,p(a));

………

}

A. a,b B. a,b,z

C. a,b,y,z D. a,b,x,y,z

11. 有以下程序

#include

void main()

{

int i=0,x=0,s=0;

for(;;)

{

if(i==3||i==5) continue;

if(i==6) break;

i++;

s+=i;

}

printf(“%d\n”,s);

}

程序運行后的輸出結(jié)果是( )

A. 10 B. 13

C. 21 D. 程序進入死循環(huán)

12. 有以下程序

#include

void main()

{

char a,b,c,d;

scanf(“%c,%c,%d,%d”,&a,&b,&c,&d);

printf(“%c,%c,%c,%c\n”,a,b,c,d);

}

若運行時從鍵盤上輸入:6,5,65,66<回車>。則輸出結(jié)果是( )

A. 6,5,a,b B. 6,5,65,66

C. 6,5,6,5 D. 6,5,6,6

13. s12和s2已正確定義并分別指向兩個字符串。若要求:當(dāng)s1所指串大于s2所指串時,執(zhí)行語句S;則以下選項中正確的是( )

A. if(s1>s2)S; B. if(strcmp(s1,s2))S;

C. if(strcmp(s2,s1)>0)S; D. if(strcmp(s1,s2)>0)S;

14. 有以下定義和語句

int a[3][2]={1,2,3,4,5,6},*p[3];

p[0]=a[1];

則*p[0]+1所代表的數(shù)組元素是( )

A. a[0][1] B. a[1][0]

C. a[1][1] D. a[1][2]

15. 程序中對fun函數(shù)有如下說明

void *fun();

此說明的含義是:( )

A. fun函數(shù)無返回值

B. fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型

C. fun函數(shù)的返回值是無值型的指針類型

D. 指針fun指向一個函數(shù),該函數(shù)無返回值

16. 有以下程序

#include<stdio.h>

void fun(int *a,int i,int j)

{

int t;

if(i<j)

{

t=a[i];a[i]=a[j];a[j]=t;

i++;j--;

fun(a,i,j);

}

}

void main()

{

int x[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;i<4;i++)printf(“%2d”,x[i]);

printf(“\n”);

}

程序運行后的輸出結(jié)果是( )

A. 1 2 6 8 B. 8 6 2 1

C. 8 1 6 2 D. 8 6 1 2

17. 有以下說明和定義語句

struct student

{ int age;char num[8];};

struct student stu[3]={{20,”200401”},{21,”200402”},{10\9,”200403”}};

struct student *p=stu;

以下選項中引用結(jié)構(gòu)體變量成員的表達(dá)式錯誤的是( )

A. (p++)->num B. p->num

C. (*p).num D. stu[3].age

18. 已定義ch為字符型變量,以下賦值語句中錯誤的是( )

A. ch=’\’; B. ch=62+3;

C. ch=NULL; D. ch=’\xaa’;

19. 已知有變量定義:int a;char c;用scanf(“%d%c”,&a,&c);語句給a和c輸入數(shù)據(jù),使30存入a,字符‘b’存入c,則正確的輸入是( )

A. 30’b’<回車> B. 30 b<回車>

C. 30<回車>b<回車> D. 30b<回車>

20. 有以下程序

#include

fun(int a,int b)

{

if(a>b)return(a);

else return(b);

}

void main()

{

int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

printf(“%d\n”,r);

}

程序運行后的輸出結(jié)果是( )

A. 3 B. 6

C. 8 D. 12

二、閱讀程序題(本題共5小題,每小題6分,共30分,請寫出程序的運行結(jié)果)

1.【程序】

#include<stdio.h>

main()

{ int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;

for(i=0;i<6;i++)

{ for(j=0;j<6;j++)

if(a[i]==b[j]) break;

if(j<6) printf("%d ",a[i]);

}

printf("\n");

}

【運行結(jié)果】

2.【程序】

#include<stdio.h>

int f(int x,int y)

{ return ((y-x)*x); } main()

{ int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c));

printf("%d\n",d);

}

【運行結(jié)果】

3.【程序】

#include<stdio.h>

void f(int c)

{ int a=0;

static int b=0;

a++;

b++;

printf("%d: a=%d b=%d\n",c,a,b);

}

void main()

{ int i;

for(i=1;i<=3;i++) f(i);

}

【運行結(jié)果】

4. 【程序】

#include<stdio.h>

main()

{ char a[]="Language",b[]="Programe"; char *p1,*p2;

p1=a;p2=b;

int k;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));

}

【運行結(jié)果】

5. 【程序】

#includemain()

{ int i;

for(i=1;i<6;i++)

{ if(i%2) { printf("#");continue; }

printf("*");

}

}

【運行結(jié)果】

三、程序填空題(共3題,每空5分,共35分)

1. 編寫一個函數(shù)fun(),首先從鍵盤上輸入一個4行4列的一個實數(shù)矩陣到一個二維數(shù)組a[4][4]中,接著求出主對角線上元素之和,最后返回求和結(jié)果。

#include<stdio.h>

double fun( _______________)

{

int i;

double s=0;

for(i=0;i<4;i++)s+=______________________ ;

_________________;

}

void main()

{

double a[4][4];

double s=0;

int i;j;

printf(“輸入一個4*4的數(shù)值矩陣:\n”);

for(i=0;i<4;i++)

for(j=0;j<4;j++)scanf(“%1f”,&a[i][j]);

printf(“主對角線上元素之和是%1f\n”, ___________);

}

2. 有一行文字,要求刪去某一個字符。此行文字和要刪去的字符均由鍵盤輸入,要刪去的字符以字符形式輸入(如輸入a表示要刪去所有的a字符)。

#include<stdio.h>

void main()

{ /*str1表示原來的一行文字,str2表示刪除指定字符后的文字*/

char str1[100],str2[100];

char ch;

int i=0,k=0;

printf(“please input an sentence:\n”);

gets(str1);

scanf(“%c”,&ch);

for(i=0;____________ ;i++)

if (str1[i]!=ch)

{ str2[________ ]=str1[i];k++;}

str2[___________ ]=’\0’;

printf(“\n%s\n”,str2);

}

四、編程題(共3小題,每題15分 共45分)

1. 有一分?jǐn)?shù)序列image.png求出這個數(shù)列的前20項之和。

2. 任意大于2的偶數(shù)可以分解為兩個素數(shù)之和。請驗證。

3. 編程,將十進制數(shù)轉(zhuǎn)換成任意進制數(shù)。

河北省普通高校專科接本科教育考試C語言程序設(shè)計模擬試卷十

(考試時間:75 分鐘)

(總分:150 分)

說明:請在答題紙的相應(yīng)位置上作答,在其它位置上作答的無效。

一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分。在每小題給出的四個備選項中,選出一個正確的答案,并將所選項前的字母填寫在答題紙的相應(yīng)位置上。)

1.若有定義:int a=7;float x=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是

A.2.500000 B.2.750000

C.3.500000 D.0.000000

2.若已定義int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中 0≤i≤9, 則對a數(shù)組元素不正確的引用是

A.a[p-a] B.*(&a[i])

C.p[i] D.a[10]

3. 下列程序段不是死循環(huán)的是

A. int i=100; B. int k=0;

while(1) do {

{ i=i%100+1; ++k;

If (i>100) break; } while (k>=0);

}

C. for(;;); D. int s=36;

while (s);--s

4. 下面程序的運行結(jié)果是

#include "stdio.h"

main()

{int i;

for(i=1;i<=5;i++)

{if (i%2==0)

printf("*");

else

continue;

printf("#");

}

printf("$");}

A.*##*$ B. #*#*#$

C. *#*#$ D. #*#*$

5.下面四個選項中,均是正確的八進制數(shù)或十六進制數(shù)的選項是

A.-10 B. 0abc

0x8f -017

-011 0xc

C.0010 D. 0al2

-0x11 -0xl23

0xf1 -0x8

6.一個C語言程序是由( ) 組成的。

A.一個主程序和若干子程序 B.函數(shù)

C.若干過程 D.若干子程序

7.若已定義 char s[2][40]={"China","English"};則在下面表達(dá)式中能表示字符‘E’的地址的是

A.&s[2][1] B.s[1]

C.&s[1] D.&(s[1]+1)

8.程序 char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p);的輸出結(jié)果是

A.非法 B.a[4]的地址

C.5 D.3

9.以下選項中,與k=n++完全等價的表達(dá)式是

A.k=n,n=n+1 B.n=n+1,k=n

C.k=++n D.k+=n+1

10.要把函數(shù)處理結(jié)果的兩個數(shù)據(jù)返回給主調(diào)函數(shù),下面方法中不正確的是

A.return 這兩個數(shù) B. 形參用兩個元素的數(shù)組

C.形參用兩個這種數(shù)據(jù)類型的指針 D. 用兩個全局變量

11.以下程序的輸出結(jié)果是

#define MIN(x,y) (x)<(y)?(x):(y)

void main()

{

int i,j,k;

i=10;j=15;k=10*MIN(i,j);

printf("%d\n",k);

}

A.15 B.100

C.10 D.150

12. 對于變量定義int *p[3],a[3];,正確的賦值是

A.p=a B.*p=a[0]

C.p=&a[0] D.p[0]=&a[0]

13. 以下程序段運行后變量a的值為

int x=6,y=5;

int a;

a=(--x==y++)?x:y+1;

A. 0 B. 1

C. 6 D. 5

14. 若有以下定義:

char a ; int b ; float c ; double d ;

則表達(dá)式a*b+d-c值的類型為

A.float B.int

C.char D.double

15. 對于整型變量x與賦值語句“x=x%2==0?1:0;”,不等價的if語句是

A. if (x%2!=0) x=0; else x=1; B. if (x%2) x=1; else x=0;

C. if (x%2==0) x=1; else x=0; D. if (x%2==1) x=0; else x=1;

16. 與十六進制數(shù)BC等值的二進制數(shù)是

A. 10111011 B. 10111100

C. 11001100 D. 11001011

17. 以下程序輸出的結(jié)果是

main( )

{ int a= -1,b=4,k;

k=! ((++a<0)&&! (b--<0));

printf("%d%d%d\n",k,a,b);

}

A.104 B.103

C.013 D.004

18. 函數(shù)調(diào)用語句 fun((exp1,exp2), (exp3,exp4))中實參的個數(shù)是

A.1 B.2

C.4 D.以上都不對

19. 當(dāng)a=1,b=2,c=3時,執(zhí)行以下語句后a,b,c的值分別是

if(a>c)

b=a;a=c;c=b;

A.3,2,1 B.1,2,3

C.3,1,1 D.3,2,2

20. 以下敘述中不正確的是

A.在函數(shù)中,通過return語句返回數(shù)據(jù)值

B.在函數(shù)中,如果沒有return語句則不返回值

C.在函數(shù)中,可以有多條return語句

D.在C語言中,調(diào)用函數(shù)不必在一條獨立的語句中完成

二、程序閱讀題(本大題共 5 小題,每小題 6 分,共 30 分。請將程序的運行結(jié)構(gòu)填寫在答題紙的相應(yīng)位置上。)

1. 【程序】

#include<stdio.h>

main()

{ char a[]="ABCDEFGH",b[]="abCDefGh";

char *p1,*p2;

int k;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))

printf("%c",*(p1+k));

printf("\n");

}

【運行結(jié)果】

2. 【程序】

#include<stdio.h>

main()

{int y=18, i=0, j, a[8];

do

{a[i]=y%2; i++;

y=y/2;

}while(y>=1);

for(j=i-1;j>=0;j--) printf("%d", a[j]);

printf(“\n”);

}

【運行結(jié)果】

3. 【程序】

#include<stdio.h>

main()

{int n[3][3], i, j;

for(i=0;i<3;i++)

for(j=0;j<3;j++) n[i][j]=i+j;

for(i=0;i<2;i++)

for(j=0;j<2;j++) n[i+1][j+1]+=n[i][j];

printf(“%d\n”, n[i][j]);

}

【運行結(jié)果】

4. 【程序】

#incluede<stdio.h>

main()

{ int x=10,y=9;

int a,b,c;

a=(--x==y++)?--x:++y;

b=x++;

c=y;

printf("%d,%d,%d\n",a,b,c); }

【運行結(jié)果】

5. 【程序】

#include<stdio.h>

void fun(char *x,char *y)

{ char t;

t=*x;*x=*y;*y=t;

}

main()

{ char *p="abc",*q="123";

fun(p,q);

printf("%s,%s\n",p,q);

}

【運行結(jié)果】

三、程序填空題(本大題共 3 小題,每空 5 分,共 35 分。請將答案填寫在答題紙的相應(yīng)位置上。)

1.閱讀以下程序并填空。以下程序的功能是使3×3矩陣行列互換

#include<stdio.h>

main()

{ int a[3][3]={1,2,3,4,5,6,7,8,9};

int i,j,t;

for(i=0;i<3;i++)

for(j=0;①;j++)

{ ② ;

③;

a[j][i]=t;}

for(i=0;i<3;i++)

{ for(j=0;j<3;j++)

printf("%3d",a[i][j]);

printf("\n");

}}

2.閱讀以下程序并填空。該程序的功能是:從鍵盤輸入兩個整數(shù)進行比較,根據(jù)比較結(jié)果輸出“num1=num2”或“num1>num2”或“num1<num2”。

#include<stdio.h>

main()

{ int num1,num2;

char ch;

printf("Input two numbers:");

scanf("%d%d",①);

if(②) ch='=';

if(num1>num2) ch=③;

if(num1<num2) ;

printf("④\n",ch);}

四、編程題(本大題共 3 小題,每小題 15 分,共 45 分。請在答題紙的相應(yīng)位置上作答。)

1.完成函數(shù)void StringStrrev(char *s),該函數(shù)的功能是:將字符串s中的字符倒序存放。

2.編寫函數(shù)float fun(int n),功能是:通過形參n計算:image.png,并作為函數(shù)值返回。

3. 完成函數(shù)void fun(int array[N][N]),該函數(shù)的功能是:將N行N列的數(shù)組array每一行進行倒序存放。

更多資料

廣東省專升本《大學(xué)語文》真題

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

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

更多課程

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

1節(jié)課

《基礎(chǔ)會計》公開課—會計要素-反映財務(wù)狀況的會計要素

1節(jié)課

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

1節(jié)課

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

專升本備考資料免費領(lǐng)取

去領(lǐng)取

資料下載
  • 統(tǒng)招專升本《大學(xué)語文》真題資料

    下載
  • 統(tǒng)招專升本《大學(xué)語文》真題回憶版(2021年)

    下載
  • 統(tǒng)招專升本《大學(xué)語文》備考資料一

    下載
  • 全國版專接本《大學(xué)語文》真題匯編

    下載