2022年河北专接本C语言程序设计模拟试卷(2)

浏览次数:次 发布时间:2023-04-07

2022年河北专接本C语言程序设计模拟试卷(2)

湖南专升本问答

河北省普通高校专科接本科教育考试C语言程序设计模拟试卷三

乐贞专升本线下培训课程

(考试时间:75 分钟)

(总分:150 分)

说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。

一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

1. 一个C语言程序是由( )组成的。

A. 一个主程序和若干个子程序 B. 函数

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

2. 若x、i、j和k均是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( )。

A. 4 B. 16

C. 32 D. 52

3. 下列程序不是死循环的是( )。

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

while(1) do { ++k; } while(k>=0);

{ i=i%100+1;

if(i>100) break;

}

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

while(s);--s;

4. 在C语言中一维数组的定义形式为:类型说明符 数组名( )。

A. [常量表达式] B. [整型表达式]

C. [整型常量]或[整型表达式] D. [整型常量]

5. 下面四个选项中,均是正确的八进制数或十六进制数的选项是( )。

A. -10 B. 0abc

-0x8f -017

-011 0xc

C. 010 D. 0a12

-0x11 -0x123

0xf1 -Ox8

6. putchar函数可以向终端输出一个( )。

A. 整型变量表达式值 B. 实型变量值

C. 字符串 D. 字符或字符型变量值

7. 下列程序的输出结果是( )。

main()

{ printf("%x",'A'); }

A. 65 B. 41

C. A D. 101

8. 程序int a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;的输出结果是( )。

printf("%d",*--p);

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

C. 5 D. 3

9. 以下选项中,与k=n++完全等价的表达式是( )。

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

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

10. 以下程序的输出结果是( )。

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

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

11. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。

A. float型 B. long型

C. int型 D. double型

12. 以下关于指针概念的叙述中,错误的是( )。

A. 一个指针变量只能指向同一类型的变量 B. 一个变量的地址称为该变量的指针

C. 两个同类型的指针变量可以加减运算 D. 任何指针变量都可以与指针NULL进行比较

13. 调试程序是指对程序进行( )。

A. 编辑 B. 编译

C. 查错和排错 D. 连接

14. 以下叙述正确的是( )。

A. 可以把define和if定义为用户标识符

B. 可以把if定义为用户标识符,但不能把define定义为用户标识符

C. define和if都不能定义为用户标识符

D. 可以把define定义为用户标识符,但不能把if定义为用户标识符

15. 以下程序的输出结果是( )。

void prtv(int *x)

{ printf("%d\n",++*x);}

main()

{ int a=25;

prtv(&a); }

A. 25 B. 26

C. 27 D. 以上均不对

16. 在C语言程序中( )。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B. 函数的定义不可以嵌套,但函数的调用可以嵌套

C. 函数的定义和调用均不可以嵌套

D. 函数的定义和调用均可以嵌套

17. 以下程序的输出结果是( )。

main()

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

printf("%d\n",*(p+2)); }

A. 3 B. 4

C. 1 D. 2

18. 构成C语言程序的基本单位是( )。

A. 过程 B. 函数

C. 语句 D. 命令

19. 以上对一维整型数据a进行正确初始化的语句是( )。

A. int a[10]=(0,0,0,0,0); B. int a[10]={};

C. int a[]={}; D. int a[10]={10*1};

20. 在C语言中,要求运算数必须是整型的运算符是( )。

A. / B. ++

C. != D. %

二、阅读程序题(本题共5小题,每小题6分,共30分,请写出程序的运行结果)

1、【程序】

#include

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");

}

【运行结果】

2、【程序】

#include

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);

}

【运行结果】

3、【程序】

#include

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));

}

【运行结果】

4、【程序】

#include

main()

{ int i;

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

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

printf("*");

}

}

【运行结果】

5、【程序】

void select(int max,int a[],int n)

{ int i;

max=a[0];

for(i=1;i

if(a[i]>max) max=a[i];

}

main()

{ int i,max=10,a[10]={10,20,30,40,50,60,70,80,90,100};

select(max,a,10);

printf("\nmax=%d",max);

}

【运行结果】

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

1、该程序的功能是:从键盘上输入一个正整数,输出显示该正整数各位数字之和

#include

main()

{ int n,d,sum=0;

scanf("%d",&n);

do

{ d=___________ ;

sum+=_________ ;

n=___________ ;

}

while(n>0);

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

}

2、以下程序的功能是:将字符串中的小写英文字母改成大写字母

#include

main()

{ int i=0;

char str[80];

scanf("%s",str);

while(___________ )

{ if(________________ )

str[i]=str[i]-'a'+'A';

i++ ;

}

printf("%s\n",str);

}

3、以下程序的功能是:输入两个整数,交换后输出

#include

void swap(int *x,int *y)

{ int t;

t=*x;

__________;

__________;

}

main()

{ int a,b;

scanf("%d%d",&a,&b);

swap( __________);

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

}

四、编程题(共3小题,每题15分 共45分)

1、编写程序,实现函数f(X):

image.png

2、编写函数fun的功能是:在形参S所指字符串中每个数字字符之后插入一个&。例如,形参S所指字符串为:def35addh3kjsdf7.执行结果为:def3&5&addh3*kjsdf7&。

3、编写程序完成投票功能:

已知每张选票上按序印有候选人姓名,要求选民从中勾选3人,多选或少选都视为废票不予统计,统计选票时输入数据的格式为长度为5的由0和1组成的字符串:“1”表示对相应候选人被选中,“0”表示未选中,如“01011”表示第2、4、5个候选人被选中。

请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下统计结果:

1. 总有效投票数。

2. 每个候选人姓名及投票数。

提示:候选人信息已保存在以下的数组中,无须再从键盘输入。

struct item /*保存候选人及得票信息的结构体*/

{ char name[20]; /*候选人姓名*/

int count; /*得票数*/

} mans[5]={{"name1",0},{"name2",0},{"name3",0},{"name4",0},{"name5",0}};

河北省普通高校专科接本科教育考试C语言程序设计模拟试卷四

(考试时间:75 分钟)

(总分:150 分)

说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。

一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

1. 若有代数式5ad/bc,则不正确的C语言表达式是( )

A.5*a*d/b*1/c B. 5*a*d/*1/b/c

C. 5*a*d/b*c D. a*d/c/b/*5

2. C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )

A. 必须为字母 B. 必须为下划线

C. 必须为字母或下划线 D. 可以是字母、数字和下划线中任一种字符

3. 若有以下定义和语句:

int u=010,v=0x10,w=10;

printf(“%d,%d,%d\n”,u,v,w);

则输出结果是( )

A. 8, 16, 10 B. 10, 10, 10

C. 8, 8, 10 D. 8, 10, 10

4. 下列不正确的转义字符是( )

A. ‘\\’ B. ‘\’

C. ‘\074’ D. ‘\0’

5. 下列程序段中不是死循环的是( )

A. int j=100; while(1) {j=j%100+1; if(j>100) break;}

B. for( ;; )

C. int n=0; do{++n;}while(n>=0);

D. int m=36; while(m); --m;

6. 下列选项中,合法的C语言关键字是( )

A. VAR B. Cher

C. integer D. default

7. 下面程序的运行结果是( )

#include

void main()

{

int c1=2,c2=0;

while(!c2--)

{printf(“%d%d”,c1--,c2);}

}

A. 陷入死循环 B. 不输出任何内容

C. 输出2 -1 D. 输出2 0

8. 下面的程序( )

#include

void main()

{

int x=3;

do {

printf(“%d\n”,x-=2);

}while(!(--x));

}

A. 输出的是1 B. 输出的是1和-2

C. 输出的是3和0 D. 是死循环

9. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( )

#include

void main()

{

int x;

scanf(“%d”,&x);

if(x++>5) printf(“%d”,x);

else printf(“%d\n”,x--);

}

A. 7和5 B. 6和3

C. 7和4 D. 6和4

10. 以下对C语言函数的有关描述中,正确的是( )

A. 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B. C函数既可以嵌套定义又可以递归调用

C. 函数必须有返回值,否则不能使用函数

D. C程序中有调用关系的所有函数必须放在同一个源程序文件中

11. 若有以下定义:

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

char c1=’b’, c2=’2’;

则数值不为2的表达式是( )

A. a[1] B. ‘d’-c1

C. a[‘3’-c2] D. c2-0

12. 以下不正确的数组定义语句是( )

A. int y[1][4]={1,2,3,4,5};

B. float x[3][2]={{1},{2},{3}};

C. long s[2][3]={{1},{1,2},{1,2,3}};

D. double t[][3]={0};

13.下列函数的功能是( )

int fun(char*x)

{

char*y=x;

while(*y++); return(y-x-1);

}

A. 求字符串的长度

B. 比较两个字符串的大小

C. 将字符串X复制到字符串Y

D. 将字符串X连接到字符串Y后面

14. 若有定义:int a[5], *p=a;,则对a数组元素地址的正确引用是( )

A. p+5 B. *a+1

C. &a+1 D. &a[0]

15. 若定义语句:int b[]={5,6,7,8,9},*p=b;,则表达式*p++的值是( )

A. 5 B. 6

C. b[0]的地址 D. b[1]的地址

16. 设有语句:char str1[]=”string”, str2[8], *str3, *str4=”string”;,则下列不是对库函数strcpy的正确调用的是( )

A. strcpy(str1, “HELLO1”); B. strcpy(str2, “HELLO2”);

C. strcpy(str3, “HELLO3”); D. strcpy(str4, “HELLO4”);

17. 如果有如下的程序:

int f(char*s)

{

char*p=s;

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

return(p-s);

}

如果在主程序中用下述语句调用上述函数,则输出结果为( )

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

A. 3 B. 8

C. 9 D. 10

18. 下面程序的输出是( )

#include

void main()

{

char*a=”abcdefgh”;

void fun(char*);

fun(a);

puts(a);

}

void fun(char*s)

{

int x=0,y;char c;

for(y=strlen(s)-1;x

{

c=s[x];s[x]=s[y];s[y]=c;

}

}

A. abcdefgh B. hgfdecba

C. dcbahgfe D. gbcdefa

19. 定义一个结构体变量时系统分配给它的内存是( )

A. 各成员所需要内存量的总和

B. 结构体中第一个成员所需内存量

C. 成员中占内存量最大者所需的容量

D. 结构中最后一个成员所需内存量

20. 请选出以下程序段的输出结果( )

#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. 100 D. 150

二、阅读程序题(本题共5小题,每小题6分,共30分,请写出程序的运行结果)

1. 【程序】

#includemain()

{ int i=0,s=0;

do { if(i%2) { i++;continue;} i++;

s+=i;

} while(i<7);

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

}

【运行结果】

2. 【程序】

#includemain()

{ int k[30]={22,324,45,6,668,98,21,34,453,456}; int count=0,i=0;

while(k[i])

{ if(k[i]%3==0||k[i]%5==0) count++;

i++;

}

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

}

【运行结果】

3.【程序】

#includemain()

{ int a; for(a=1;a<=4;a++) switch(a)

{ case 0:printf("%d",a);

case 1:printf("%d",a);

case 2:printf("%d",a); break;

default:printf("%d",a);

}

}

【运行结果】

4. 【程序】

#include

void fun(int y)

{ static int x=1;

x=x+y;

printf("%d ",x);

}

main()

{ int i;

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

fun(i);

}

【运行结果】

5. 【程序】

#define N 3

#define Y(n) ((N+1)*n) #includemain()

{ int z; z=2*(N+Y(5+1)); printf("%d",z);

}

【运行结果】

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

1. 下面的程序按公式: sin(x)=x-x3/3!+x5/5!-x7/7!+……来计算sin(x)的近似值,请填空。

#include

#define abs(x)(x>0?x:-(x))

#define eps 1.0E-5

void main()

{

float x,x1,y1,y2;

int i=0;

scanf(“%f”,&x);

y2=x;

__________________

do

{

i++;

y1=y2;

x1*=x*x/((2*i)*(2*i+1))*__________________ ;

y2=y2+x1;

}while(abs(y2-y1) _____________eps);

printf(“sin(%f)=%6. 4f”,x,y2);

}

2.以下程序可分别求出方阵a中两个对角线上元素之和,请填空。

#include

#defiine N 6

void main()

{

int a[ ____________][N],i,j,k,pr1,pr2;

for(i=0;i

for(j=0;j

k=N;

pr1=0;

pr2=0;

for(i=0;i

{

pr1= _______________+(*(*(a+i)+i));

k= _____________________;

pr2=___________ +(*(*(a+i)+k));

}

printf(“pr1=%4d pr2=%4d\n”,pr1,pr2);

}

四、编程题(共3小题,每题15分 共45分)

1. 编写程序求下列代数式的值:11+22+33+44+55

2. 已知公鸡5元一只,母鸡3元一只,小鸡1元三只,用100元钱买100只鸡,编写程序输出公鸡、母鸡、小鸡各多少只?

3. 编写函数计算三角形面积。编写主函数输入三角形的三条边,输出该三角形面积。

河北省普通高校专科接本科教育考试C语言程序设计模拟试卷五

(考试时间:75 分钟)

(总分:150 分)

说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。

一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

1. 一个C程序的执行是从( )。

A. 本程序的main函数开始,到main函数结束。

B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C. 本程序的main函数开始,到本程序文件的最后一个函数结束。

D. 本程序文件的第一个函数开始,到本程序main函数结束。

2. 以下不能定义为用户标识符的是( )。

A. scanf B. Void

C. 3com D. int

3. 在C语言中,不正确的short类型的常数是( )。

A. 23768 B. 0

C. 037 D. 0XA1

4. 若有说明语句: char c=’\72’; 则变量c( )。

A. 包含1个字符 B. 包含2个字符

C. 包含3个字符 D. 说明不合法,c的值不确定

5. 设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为( )。

A. float B. double

C. int D. char

6. 以下选项中非法的表达式是( )。

A. O<=x<100 B. i=j==0

C. (char)(65+3) D. x+1=x+1

7. 已有定义int a=-2;和输出语句:prinitf(“%8lx”,a);以下正确的叙述是( )。

A. 整型变量的输出格式符只有%d一种。

B. %x是格式符的一种,它可以适用于任何一种类型的数据。

C. %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的。

D. %8lx不是错误的格式符,其中数字8规定了输出字段的宽度。

8. 阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( )。

#include

void main()

{

int x,y,z;

scanf(“%d%d%d”,&x,&y,&z);

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

}

A. x+y+z=48 B. x+y+z=35

C. x+z=35 D. 不确定值

9. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c

A. 1 B. 2

C. 3 D. 4

10. 设char c[5]={‘a’, ’b’, ’\0’, ’c’, ’\0’};则printf(“%s”,c);的输出是( )。

A. ‘a’’b’ B. ab

C. abc D. “ab\0c”

11. 有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是( )。

A. if(c

else if(b

else x=3; else x=1;

C. if(a<3) x=3; D. if(a

if(a<2) x=2; if(b

if(a<1) x=1; if(c

12. 下列描述中不正确的是( )。

A. 字符型数组中可以存放字符串

B. 可以对字符数组进行整体输入、输出

C. 可以对整形数组进行整体输入、输出

D. 不能在赋值语句中通过赋值运算符“=”对字符数组进行整体赋值

13. 下面程序的运行结果是( )。

#include

void main()

{

int i,b k=0;

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

{

b=i%2;

while(b-->=0)k++;}

printf(“%d,%d”,k,b);

}

A. 3,1 B. 8,-1

C. 3,0 D. 8,-2

14.对两个数组a和b进行如下初始化

char a[]=”abcdf”

char b[]={‘a’,’b’,’c’,’d’,’e’,’f’};

则以下叙述正确的是( )。

A. a与b数组完全相同 B. a与b长度相同

C. a与b中都存放字符串 D. a数组比b数组长度长

15. 有两个字符数组a和b,则以下正确的输入语句是( )。

A. gets(a,b); B. scanf(“%s%s”,a,b);

C. scanf(“%s%s”,&a,&b); D. getchar(a),getchar(b);

16. 以下能对二维数组a进行初始化的语句是( )。

A. int a[2][]={{1,2,1},{5,2,3}}

B. int a[][2]={{1,0,1},{5,2,3}}

C. int a[2][4]={{1,2,3},{4,5},{6}}

D. int a[][3]={{1,2,1},{ },{1,1}}

17. 以下程序段的输出结果是( )。

char str[]=”ABCD”,char*p=str;

printf(“%d\n”,*(p+4));

A. 68 B. 0

C. 字符D的地址 D. 不确定的值

18. 以下选项中不能正确把c1定义成结构体变量的是( )。

A. typedef struct B. struct color c1

{ int red; { int red;

int green; int green;

int blue; int blue;

} COLOR; };

COLOR;

C. struct color D. struct

{ int red; { int red;

int green; int green;

int blue; int blue;

} c1; } c1;

19. 有以下程序

#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);

}

程序运行后的输出结果是( )。

A. 3 B. 6

C. 8 D. 12

20. 函数原型语句正确的是( )。

A. int Function(void.a); B. void Function(int);

C. int Function(a); D. void int(double a);

二、阅读程序题(本题共5小题,每小题6分,共30分,请写出程序的运行结果)

1.【程序】

#includemain()

{ int x=123,r,sum=0; while(x>0)

{ r=x%10;

sum+=r;

x/=10;

}

printf("Sum is %d\n",sum);

}

【运行结果】

2.【程序】

#includeint f(int x,int y)

{ static int m=0,i=2;

i+=m+1;

m=i+x+y;

return m;

}

main()

{ int j=1,m=1,k;

k=f(j,m);printf("%d",k);

k=f(j,m);printf("%d\n",k);

}

【运行结果】

3.【程序】

#include#define M(x,y) (x*y) main()

{ int m; for(m=1;m<10;m++)

{ if(m%2==0) continue;

if(m>5) break;

printf("%d ",M(m+1,2));

}

}

【运行结果】

4.【程序】

#include

void fun(char *c,char d)

{ *c=*c+1;

d=d+1;

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

}

main()

{ char a='A',b='B';

fun(&b,a);

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

}

【运行结果】

5.【程序】

#includemain()

{ int a=16,b=21,m=0; switch(a%3)

{ case 0:m++;break; case 1:m++;

switch(b%2)

{ case 0:m++;break; case 1:m++;

}

}

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

}

【运行结果】

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

1. 求出10至100之内能同时被2、3、7整除的数,并输出。

#include”stdio.h”

void main()

{ int i;

for(i=10;_____________ ;______________ )

if(__________ )

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

2. 函数fun的功能是:是一个字符串按逆序存放。

#include

#include

void fun(char str[])

{

char m;int i,j;

for(i=0, ;i

{

m=str[i];

str[j]=_________________ ;

str[j-1]=______________ ;

}

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

}

四、编程题(共3小题,每题15分 共45分)

1. 假定输入的字符串中只包含字母和*号,请编写程序,它的功能是:将字符串中的前导*号全部移到字符串的尾部。例如:输入的字符串为“*****abcd*e*f***”,移动后的字符串中的内容应为“abcd*e*f********”。

2. 编程:读入一串字符,分别统计数字‘0’—‘9’出现的次数。

3. 某团体要购进一批书籍,共4种。编写程序,从键盘输入书名、购买数量、书的单价,请编写程序,计算每种书的总金额和所有要购书籍的总金额,输出购书清单。

以上就是关于2022年河北专接本C语言程序设计模拟试卷(2)的全部内容了,如果你还有专升本相关的疑惑(如专升本报名、考试动态、院校招生简章、统考动态、湖南专升本院校、历年真题、考试大纲、专升本等相关信息),可以在文章下方留下你的联系方式,老师会第一时间联系到你,为你答疑解惑哦!


湖南专升本最新资料领取

部分内容来源于网络转载、学生投稿,如有侵权或对本站有任何意见、建议或者投诉,请联系邮箱(1296178999@qq.com)反馈。 未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!


本文标签: 专升本统招全日制

上一篇:2022年河北专接本C语言程序设计模拟试卷(1)                  下一篇:2022年河北专接本C语言程序设计模拟试卷(3)

湖南3+2 统招专升本

一键查询