C程序设计技术模拟试题2含答案docWord文件下载.docx

上传人:b****3 文档编号:16800599 上传时间:2022-11-26 格式:DOCX 页数:12 大小:21.78KB
下载 相关 举报
C程序设计技术模拟试题2含答案docWord文件下载.docx_第1页
第1页 / 共12页
C程序设计技术模拟试题2含答案docWord文件下载.docx_第2页
第2页 / 共12页
C程序设计技术模拟试题2含答案docWord文件下载.docx_第3页
第3页 / 共12页
C程序设计技术模拟试题2含答案docWord文件下载.docx_第4页
第4页 / 共12页
C程序设计技术模拟试题2含答案docWord文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C程序设计技术模拟试题2含答案docWord文件下载.docx

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

C程序设计技术模拟试题2含答案docWord文件下载.docx

(C)(0>

=x)&

(x>

=100)(D)(x<

=0)||(100>

=x)

9.C程序中,能容纳字符串数据“TheisaString."

的字符数组长度至少是()。

(A)17(B)16

(C)15(D)14

10.对自定义带参函数声明时,声明语句的参数表中()。

(A)需要考虑参数的个数和类型(B)需要考虑参数的个数和次序

(C)需要考虑参数的个数、类型和次序(D)需耍考虑参数的个数、名字和次序

11.C程序中,被调函数执行时一定能够修改主调函数中实参内容的参数类别为()。

(A)数值参数(B)数组参数

(C)指针参数(D)任意参数

12.设一C函数的头部为:

int*fu(),该函数执行后应该返回()0

(A)一个整型数据(B)一个整型数据的地址

(B)一个整数和函数名的乘积(D)—个空类型的指针

13.C程序主函数带参时,其头部的书写形式为()。

(A)voidmain(inta,char*b[])(B)voidmain(inta;

char*b[])

(C)voidmain(inta,charb[])(D)voidmain(chara,int*b[])

14.在结构体类型定义屮,结构体成员的数据类型()0

(A)不能完全相同(B)必须完全相同

(C)可以相同也可以不同(D)不能是结构体类型

150.C程序屮,定义枚举数据类型时使用的关键字是()。

(A)typedef(B)struct

(C)union(D)enum

二、判断题(T表示正确,F表示错误。

每小题1分,共10分)

1.C语言的基本数据类型包括:

整型、实型和字符型。

2.在C语言的运算符中,“二”和的功能是相同的。

3.C程序中的分支结构只能使用关键字switch构成。

4.C语言屮,一个数组的所有元素必须属于同一种数据类型。

5.对于返回值类型为int的函数,不能使用函数语句的方式调用。

6.函数的数组形参本质上是一个指针参数。

7.在一个C程序中定义的全局变量,其作用域是整个程序。

8.C程序中,符号常量EOF既可以用于判断文本文件的结尾,又可以用于判断二进制文件的结尾。

9.对于一个数组元素a[9],也可以用表达式*Q+9)表示。

10.通过编译预处理命令#define可以实现文件包含预处理功能。

三、选择填空题(根据程序功能,选出正确选项。

每小题2分,共20分)

1.下而程序的功能是:

输出两个常数Z和,请选择合适选项填空完成程序。

#inelude<

stdio.h>

voidmain()

{

printf(,z\nz,,10+100.123);

}

(A)%f(B)%d

(C)%x(D)%u

2.下面程序的功能是:

求两个实型数据之和的平方根,请选择合适选项填空完成程序。

#include<

>

voidmainO

{doublea,b;

scanf(〃%lf,%lf〃,&

a,&

b);

printfsqrt(a+b));

(A)string,h(B)stdlib.h

(C)math,h(D)mathematics,h

3.下面程序的功能是:

求出一个5位整数的最高位数字,请选择合适选项填空完成程序。

{inta=98765;

printf(〃%d\rT,);

(A)a%10000(B)a/10000

(C)a%10(D)a/10

4.下面程序的功能是:

求实型变量b的小数部分,请选择合适选项填空完成程序。

^include<

stdio.h>

{doubleb;

scanf("

%lf"

&

printf;

(A)b%(int)b(B)(int)b/b

(C)(int)b-b(D)b-(int)b

5.下面程序实现数据符号判断功能:

当x值为0时输出0值;

当x是正数是输出1;

当x是负数是输出-1,请选择合适选项填空完成程序。

{intx;

scanf("

%d"

x);

if(x==0)

printf(〃%d\rT,0);

(x<

0)

printf("

%d\n"

T);

else

printf(“%d\rT,1);

(C)else(D)ifelse

6.下面程序的功能是:

挑选输入流中的数字字符按序组成整数(例如输入流为ab3c5g8,获取的整数为358),请选择合适选项填空完成程序。

{charc;

intn二0;

while((c=getchar())!

='

\n)

if()

n二n*10+c-'

O'

;

printf(〃n二%d\n"

n);

(A)c>

=O'

&

cU'

9'

(B)c>

'

0,&

c〈'

(C)c>

=0&

c<

=9(D)c>

0'

||c〈'

9'

7.下面程序的功能是:

统计所有3位数中能够被3整除且末位数字为5的数据个数,请选择合适选项填空完成程序。

{intn,d,count二0;

for(n=100;

n<

l000;

n卄)

{d=n%10;

count++;

printf(,zcount=%d\n"

count);

(A)n%3&

d==5(B)n%3==0&

d=5

(C)n%3二0&

d二二5(D)n%3==0&

d==5

8.下而程序的功能是:

在一个新建的文本文件“data.txt”中写入10个大写英语字母A,请选择合适选项填空完成程序。

stdlib.h>

{voidwritechar(charc);

inti;

for(i=0;

i<

10;

i++)

writechar('

A'

);

voidwritechar(charc){FILE*f;

f=fopen();

if(f==NULL)

exit

(1);

fputc(c,f);

(A)z,data.txt"

"

a"

(B)data,txt,a

(C)"

data,txt"

w"

(D)data,txt,w

9.下面程序的功能是:

输出两个字符串的内容,请选择合适选项填空完成程序。

{char*sl二"

Thisisateststring.,z;

char*s2二"

Doyouunderstand."

char*a[]={sl,s2};

char**p二a;

2;

{while(!

=,\05)

{putchar(**p);

(*p)++;

printf("

\n"

p++;

(A)**a(B)*a

(C)**p(D)*p

10.下面程序的功能是:

将a数组的所有元素颠倒存放并输出,请选择合适选项填空完成程序。

#defineSwap(x,y){intt;

t=x,x=y,y=t;

{inta[5]={l,2,3,4,5},i,j;

for(i=0,j=4;

j;

i++,j—)

Swap();

printfC数据颠倒后的a数组值序列:

\n〃);

5;

printf(,/%2d,/,a[i]);

(D)a[i],a[j]

(C)*a+i,*a+j

四、阅读程序,写出屏幕输出结果(每小题5分,共20分)

1.仔细阅读程序,写出程序的执行结果。

{voidfun(int*x,int*y);

intx=l,y=2;

fun(&

y,&

printfC%d%d\n"

x,y);

voidfun(int*x,int*y)

{printf(/z%d%d"

*x,*y);

*x=3;

*y=4;

2.仔细阅读程序,写出程序的执行结杲。

inta,b,c,d;

voidp(inta,intb)

{staticintc;

a++,b++;

c-=l,d+=l;

if(a<

3)

{P(a,b);

printf(z/%d,%d,%d,%d\rT,a,b,c,d);

voidmdin()

p(a,b);

3.仔细阅读程序,写出程序的执行结果。

{voidreverse(char*s);

charsi[100]=,,abcdefGGG,/;

reverse(si);

\rT);

voidreverse(char*si)

if(*sl='

\0'

%s"

"

End"

{c=*sl;

reverse(++sl);

if(c>

=,a'

c<

=,z)

printfc-(,a'

-'

));

printfc+('

a'

4.仔细阅读程序,写出程序的执行结果。

string.h>

{voidfu(char*s);

charstr[100]=,zABCDefgl23hijKLM456nopzz;

fu(str);

puts(str);

voidfu(char*s)

{while(*s)

{if(*s<

A'

||*s>

Z'

strepy(s,s+1);

else

s++;

五、程序设计题(每小题10分,共20分)

1.按2行3列的形式排列数字1〜6,要求每个位置的数字均不相同,并且左边的数字比右边的大、上边的数字比下边的大;

请编写程序输出所有可能的排列方法。

2.函数pack的原型为:

voidpack(char*s);

其功能是将字符串s中的所有重复字符删除,使得串中的每个字符保证惟一。

测试用主函数如下所示,请编制函数packo

charstr[100];

gets(str);

pack(str);

puts(str);

c程序设计技术模拟试题

(二)参考答案

DBACBCDBACBBACD

二、判断题(T表示正确,F表示错误。

TFFTFTFFTF

三、选择填空题(根据程序功能,选出正确选项。

ACBDBADACD

1.2143

2.2,2,-3,3

1,1,-3,3

3.EndgggFEDCBA

4.ABCDKLM

1.参考程序一

{inta,b,c,d;

for(a=2;

a<

=5;

a++)

for(b二2;

bU5;

b++)

for(c=2;

c++)

for(d=2;

d<

d++)

if(i±

〉b&

c〉d&

8〉d&

a!

二b&

—c&

ci!

二d&

b!

=c&

=d&

c!

—d)printf(,z%d%d%d\n%d%d%d\n\n"

6,a,b,c,d,1);

1.参考程序二

c++)for(d=2;

if(a>

b&

c>

d&

a>

=c&

=d)printf(,z%d%d%d\n%d%d%d\n\n"

2.参考程序一

voidpack(char*s)

{inti,j,k;

s[i];

for(j=i+l;

s[j];

j++)

if(s[i]==s[j])

{for(k=j;

s[k];

k++)

s[k]二s[k+l];

i—;

2.参考程序二

voidpack(char*s)

{char*p;

while(*s)

{while(p=strchr(s+1,*s))

strepy(p,p+1);

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

当前位置:首页 > 外语学习 > 日语学习

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

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