C语言程序设计模拟试题B附答案Word文件下载.docx

上传人:b****5 文档编号:16180360 上传时间:2022-11-21 格式:DOCX 页数:14 大小:23.51KB
下载 相关 举报
C语言程序设计模拟试题B附答案Word文件下载.docx_第1页
第1页 / 共14页
C语言程序设计模拟试题B附答案Word文件下载.docx_第2页
第2页 / 共14页
C语言程序设计模拟试题B附答案Word文件下载.docx_第3页
第3页 / 共14页
C语言程序设计模拟试题B附答案Word文件下载.docx_第4页
第4页 / 共14页
C语言程序设计模拟试题B附答案Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言程序设计模拟试题B附答案Word文件下载.docx

《C语言程序设计模拟试题B附答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题B附答案Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

C语言程序设计模拟试题B附答案Word文件下载.docx

num++;

while(b[n])

*(a+num)=b[n];

n++;

}

return(num);

}

main()

charstrl[81],str2[81],*p1=str1,*p2=str2;

gets(p1);

gets(p2);

printf("

%d\n"

strlength(p1,p2));

若从键盘输入

qwerty

abcd

则输出结果是____ 

___。

二、单项选择题。

(每题2分,共40分)

1.下列叙述中错误的是()

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件

C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()

A)大写字母 

B)连接符 

C)数字字符 

D)下划线

3.以下叙述中错误的是()

A)C语言是一种结构化程序设计语言

B)结构化程序有顺序、分支、循环三种基本结构组成

C)使用三种基本结构构成的程序只能解决简单问题

D)结构化程序设计提倡模块化的设计方法

4.对于一个正常运行的C程序,以下叙述中正确的是()

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

C)程序的执行总是从main函数开始,在程序的最后一个函数中结束

D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

5.设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&

a1,&

c1,&

a2,&

c2);

语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正确的是(注:

□代表空格字符)()

A)10□X□20□Y〈回车〉 

B)10□X20□Y〈回车〉 

C)10□X〈回车〉 

D)10X〈回车〉

20□Y〈回车〉 

20Y〈回车〉

6.若有代数式

(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()

A)sqrt(abs(n^x+e^x)) 

B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x))+exp(x))) 

D)sqrt(fabs(pow(x,n)+exp(x)))

7.设有定义:

以下选项的四个表达式中与其他三个表达式的值不相同的是()

A)k++ 

B)k+=1 

C)++k 

D)k+1

8.有以下程序,其中%u表示按无符号整数输出()

main()

{unsignedintx=0xFFFF;

/*x的初值为十六进制数*/

printf(“%u\n”,x);

}

程序运行后的输出结果是

A)-1 

B)65535 

C)32767 

D)0xFFFF

9.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()

A)if(x++);

B)if(x>

y&

&

y!

=0);

C)if(x>

y)x-- 

D)if(y<

0){;

elsey++;

elsex++;

10.以下选项中,当x为大于1的奇数时,值为0的表达式()

A)x%2==1 

B)x/2 

C)x%2!

=0 

D)x%2==0

11.以下叙述中正确的是()

A)break语句只能用于switch语句体中

B)continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C)break语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

12.有以下程序

{intk=5,n=0;

do

{switch(k)

{case1:

case3:

n+=1;

break;

default;

n=0;

k--;

case2:

case4:

n+=2;

break;

printf(“%d”,n);

}while(k>

0&

n<

5);

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

A)235 

B)0235 

C)02356 

D)2356

13.有以下程序

mian()

{inti,j;

for(i=1;

i<

4;

i++)

{for(j=i;

j<

j++)printf(“%d*%d=%d”,i,j,i*j);

printf(“\n”);

A)1*1=1 

1*2=2 

1*3=3 

B)1*1=1 

1*3=3

2*1=2 

2*2=4 

2*3=6

3*1=3 

3*3=9

C)1*1=1 

D)1*1=1

1*2=2 

2*1=2 

2*2=4

1*3=3 

2*3=6 

3*3=9 

3*1=3 

3*2=6 

3*3=9

14.以下合法的字符型常量是()

A)”\x13” 

B)”\018” 

C)”65” 

D)”\n”

15.在C语言中,函数返回值的类型最终取决于()

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主函数所传递的实参类型

D)函数定义时形参的类型

16.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()

A)c=(c-A)%26+‘a’ 

B)c=c+32

C)c=c-‘A’+‘a’ 

D)c=(‘A’+c)%26-‘a’

17.有以下函数

intfun(char*s)

{char*t=s;

while(*t++);

return(t-s);

该函数的功能是()

A)比较两个字符的大小 

B)计算s所指字符串占用内存字节的个数

C)计算s所指字符串的长度 

D)将s所指字符串复制到字符串t中

18.设已有定义:

floatx;

则以下对指针变量p进行定义且赋初值的语句中正确的是()

A)float 

*p=1024;

B)int 

*p=(floatx);

C)float 

p=&

x;

D)float*P=&

19.有以下程序

#include 

<

{intn,*p=NULL;

*p=&

printf(“Inputn:

”);

scanf(“%d”,&

p);

printf(“outputn:

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

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()

A)intn,*p=NULL;

B)*p=&

C)scanf(“%d”,&

p) 

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

20.以下程序中函数f的功能是:

当flag为1时,进行有由小到大排序;

当flag为0时,进行由大到小排序。

voidf(int 

b[],int 

n,int 

flag)

{int 

i,j,t;

for(i=0;

n-1;

for(j=i+1;

j++)

if(flag?

b[i]>

b[j]:

b[i]<

b[j]){t=b[i];

b[i]=b[j];

b[j]=t;

{inta[10]={5,4,3,2,1,6,7,8,9,10},i;

f(&

a[2],5,0);

f(a,5,1);

for(i=0;

10;

i++)printf(“%d,”,a[i]);

A)1,2,3,4,5,6,7,8,9,10,

B)3,4,5,6,7,2,1,8,9,10,

C)5,4,3,2,1,6,7,8,9,10,

D)10,9,8,7,6,5,4,3,2,1,

三、修改下列程序:

(在程序出错的语句下划横线并标号,把修改后的语句下载程序下面的横线上。

)(每小题5分,共10分)

1.下列给定程序中,函数fun的功能是:

依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

#include<

conio.h>

voidfun(chars)

{inti,j;

for(i=0,j=0;

s[i]!

=‘\0'

;

i++)

if(s[i]>

=‘0'

&

s[i]<

9'

s[j]==s[i];

s[j]=“\0”;

}

main()

{charitem[80];

clrscr();

printf(“\nEnterastring:

gets(item);

printf(“\n\nThestringis:

\%s\n”,item);

fun(*item);

printf(“\n\nThestringofchangingis:

2.下列给定程序中,函数fun的功能是:

分别铜级字符串中大写字母和小写字母的个数。

例如,给字符串s输入:

AAaaBBb123CCccccd,则应该输出结果:

upper=6,lower=8。

voidfun(char*s,inta,intb)

{while(*s)

{if(*s>

=‘A'

*s<

=‘Z'

a++;

if(*s>

=‘a'

=‘z'

b++;

s++;

{chars[100];

intupper=0,lower=0;

printf(“nPleaseastring:

gets(*s);

fun(s,&

upper,&

lower);

printf(“nupper=%dlower=%dn”,upper,lower);

四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。

(每小题5分,共20分)

1. 

voidmain()

ints=1,t=1,a,n;

scanf(“%d%d”,&

a,&

n);

for(inti=1;

{

t=t*10+1;

s=s+t;

s*=a;

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

输入数据:

2,4

输出结果:

2.#include<

voidmain() 

inta,b,c,find(int,int,int);

scanf(“%d%d%d”,&

b,&

c);

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

intfind(inta,intb,intc)

intu,s,t;

u=((u=(a>

b)?

a:

b)>

c)?

u:

c;

t=((t=(a<

b)<

t:

s=a+b+c-u-t;

a=u;

b=s;

c=t;

returns;

运行时输入:

5–73,输出结果:

3.#include<

voidmain()

{inta[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};

for(inti=0;

5;

for(intj=0;

6;

if(*(a+i)==*(b+j))printf(“%d 

”,*(a+i));

4. 

string.h>

charstr1[]=“*******”;

i++){

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

str1[i]=‘ 

'

str1[strlen(str1)-1]=‘\0'

输出结果:

五、按要求编写下列程序。

(每题5分,共10分)

1.编一程序,输出如下三角形图形。

 

2.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔的输出该串,请用指针完成。

参考答案

一、填空题

1分号

22.000000

30

4k*k

5-12

6无数次

7121

815

9a[1][0]

10*(p+5)

1110

二、单项选择题

1-5DBCAD

6-10CABCD

11-15CABDA

16-20ACDAB

三、程序修改

1.修改后的程序如下:

voidfun(chars[])

0'

s[j++]=s[i];

s[j]='

printf("

\nEnterastring:

"

\n\nThestringis:

\%s\n"

item);

fun(item);

\n\nThestringofchangingis:

2.修改后的程序如下:

voidfun(char*s,int*a,int*b)

A'

Z'

(*a)++;

a'

z'

(*b)++;

system("

cls"

nPleaseastring:

gets(s);

\nupper=%dlower=%d\n"

upper,lower);

四、阅读程序

1.

SUM=2

2.

3

5-73

3.

2469

4.

*******

*****

***

*

五、

voidmain()

{charstr1[]="

****"

inti;

for(i=0;

%s\n"

str1);

str1[strlen(str1)-1]='

{charstr[]="

computer"

char*s=str;

while((*s)!

{printf("

%c"

*s);

s++;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1