c模拟题7.docx

上传人:b****4 文档编号:27530537 上传时间:2023-07-02 格式:DOCX 页数:16 大小:19.35KB
下载 相关 举报
c模拟题7.docx_第1页
第1页 / 共16页
c模拟题7.docx_第2页
第2页 / 共16页
c模拟题7.docx_第3页
第3页 / 共16页
c模拟题7.docx_第4页
第4页 / 共16页
c模拟题7.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c模拟题7.docx

《c模拟题7.docx》由会员分享,可在线阅读,更多相关《c模拟题7.docx(16页珍藏版)》请在冰豆网上搜索。

c模拟题7.docx

c模拟题7

单选

1、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。

A、x+n=I;

B、x==5;

C、x=n/2.5;

D、5=x=4+1;

2、下述错误的C语言常量是:

(C).

A、0xf

B、5.

C、090

D、.25

3、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?

(B)。

(规定用字符串[CR]表示回车,U表示空格)

main()

{inta;

charc1,c2;

scanf("%d%c%c",&a,&c1,&c2);

}

A、123UoUk[CR]

B、123ok[CR]

C、123Uok[CR]

D、123oUk[CR]

4、已知键入a=4,b=3,执行下面程序输出的结果是(B).

main()

{inta,b,s;

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

s=a;

if(a>b)s=b;

s=s*s;

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

}

A、13

B、9

C、16

D、15

5、执行下面程序段后,i的值是(A).

inti=10;

switch(i)

{case9:

i+=1;

case10:

i--;

case11:

i*=3;

case12:

++i;

}

A、28

B、10

C、9

D、27

6、以下不是无限循环的语句为(D)。

A、while

(1){x++;}

B、for(;;x++=i);

C、for(i=10;;i--)sum+=i;

D、for(y=0,x=1;x>++y;x=i++)i=x;

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

x=-1;

do{

x=x*x;

}while(!

x);

A、循环执行一次

B、有语法错误

C、死循环

D、循环执行两次

8、若有说明:

inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(A)。

A、3

B、无确定值

C、4

D、2

9、若定义inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;

则数值为4的表达式是(D).

A、a[4]

B、a[g-c]

C、a['d'-'c']

D、a['d'-c]

10、

以下叙述中正确的是(C)。

A、可以在一个函数中定义另一个函数

B、main()函数必须放在其它函数之前

C、构成C程序的基本单位是函数

D、所有被调用的函数一定要在调用之前进行定义

11、下述函数的功能是(C).

intfun(char*x)

{char*y=x;

while(*y++);

returny-x-1;

}

A、比较两个字符串的大小

B、求字符串存放位置

C、求字符串的长度

D、将字符串x连接到字符串y后面

12、在执行"文件包含"命令时,下列说法正确的是(A).

A、作为一个源程序编译,得到一个目标文件.

B、一个include命令可指定多个被包含文件.

C、在编译时作为两个文件联结.

D、被包含的文件可以是源文件或目标文件.

13、在说明语句:

int*f();中,标识符f代表的是(A)。

A、一个返回值为指针型的函数名

B、一个用于指向函数的指针变量

C、一个用于指向一维数组的行指针

D、一个用于指向整型数据的指针变量

14、下面程序的输出结果应该是(B).

chars[]="ABCD";

main()

{char*p;

for(p=s;p

printf("%s",p);

}

A、DCBA

B、ABCDBCDCDD

C、ABCDABCABA

D、ABCD

15、设有如下定义:

structsk{inta;floatb;}data,*p;

若要使p指向data中的a域,正确的赋值语句是(C)。

A、p=(structsk*)data.a;

B、*p=data.a;

C、p=&data.a;

D、p=&data,a;

判断

1、在C程序中,%作为运算符时,是只能用于整数运算。

T

2、若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。

T

3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.F

4、整型变量在全部范围内可以用字符格式输出.F

5、已知a=3,b=4,c=5,则逻辑表达式!

(a+b)+c-1&&b+c/2的值为0.F

6、语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用条件表达式a>b?

a:

b取代.F

7、已知a=4,b=2,c=3,d=5,表达式a>b?

a:

c

c:

d的值为4.T

8、for循环的三个表达式都可以省略.T

9、continue语句对于while和do-while循环来说,意味着转去计算While表达式.T

10、for语句的循环体至少执行一次.F

11、语句charch[12]={"CProgram"};与语句charch[]="CProgram";具有不同的赋初值功能.T

12、定义chars[9];gets(s);若输入的字符串是Turboc↙(↙代表按回车键操作)则输入给数组s中的字符个数是7.T

13、对静态数组的初始化是在编译阶段完成的.T

14、C语言中,通过函数调用只能获得一个返回值.F

15、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.F

16、函数的返回值可以通过函数中的return语句获得。

T

17、被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.F

18、char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。

F

19、对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。

T

20、用fopen("file","r+");打开的文件"file"可以进行修改。

T

填空

1、设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.0

2、以下程序的输出结果为_____,#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}9,10

3、设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!

(a+b)+c-1&&b+c/2后,t的值是_____.1

4、若输入字符串:

abcde<回车>,则以下while循环体将执行_____次.0while((ch=getchar())=='e')printf("*");

5、若有以下数组a,数组元素:

a[0]~a[9],其值为941282107513该数组的元素中,数值最小的元素的下标值是_____.8

6、函数不可以进行嵌套定义,但可以进行嵌套_____.调用

7、在c程序中,只能给指针变量赋NULL值和_____值.地址

8、设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。

unionstud{charnum[6];floats[4];doubleave;}a,*p;16

程序设计

1、

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

将字符串中的小写字母转换为对应的大写字母,

其它字符不变。

------------------------------------------------*/

#include"string.h"

#include"stdio.h"

voidchange(charstr[])

{

/*********Begin**********/

inti;

for(i=0;str[i]!

='\0';i++)

if(str[i]>='a'&&str[i]<='z')

str[i]=str[i]-32;

/**********End**********/

}

main()

{

voidchange();

charstr[40];

voidTestFunc();

gets(str);

change(str);

puts(str);

TestFunc();

}

voidTestFunc()

{

FILE*IN,*OUT;

chari[200];

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFileError");

}

fscanf(IN,"%s",i);

change(i);

fprintf(OUT,"%s\n",i);

fclose(IN);

fclose(OUT);

}

2、

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

从低位开始取出长整型变量s中偶数位上的数,依次

构成一个新数放在t中。

例如:

当s中的数为:

7654321时,t中的数为:

642。

------------------------------------------------*/

#include"stdio.h"

longfun(longs,longt)

{

/*********Begin**********/

longsl=10;

s/=10;

t=s%10;

while(s>0)

{s=s/100;

t=s%10*sl+t;

sl=sl*10;

}

/**********End**********/

returnt;

}

main()

{

longs,t,m;

voidTestFunc();

printf("\nPleaseenters:

");scanf("%ld",&s);

m=fun(s,t);

printf("Theresultis:

%ld\n",m);

TestFunc();

}

voidTestFunc()

{

FILE*IN,*OUT;

intn;

longi,t,m;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFileError");

}

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

{

fscanf(IN,"%ld",&i);

m=fun(i,t);

fprintf(OUT,"%ld\n",m);

}

fclose(IN);

fclose(OUT);

}

程序改错

1、

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,

还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉

一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一

半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

------------------------------------------------------*/

#include"stdio.h"

main()

{

intday,x1,x2;

day=9;

/**********ERROR**********/

x2==1;//x2=1;

while(day>0)

{

/**********ERROR**********/

x1=(x2+1)/2;//x1=(x2+1)*2;

x2=x1;

/**********ERROR**********/

day++;//day--;day-=1;day=day-1;

}

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

}

2、

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

将s所指字符串的反序和正序进行连接形成一个新串放在

t所指的数组中。

例如:

当s所指的字符串的内容为"ABCD"时,t所指数组中

的内容为"DCBAABCD"。

------------------------------------------------------*/

#include"conio.h"

#include"stdio.h"

#include"string.h"

/**********ERROR**********/

voidfun(chars,chart)//voidfun(chars[],chart[])voidfun(char*s,char*t)

//voidfun(char*s,chart[])voidfun(chars[],char*t)

{

inti,d;

/**********ERROR**********/

d=len(s);//d=strlen(s);

/**********ERROR**********/

for(i=1;ii;i++)

//for(i=0;i<=d-1;i++)for(i=0;d-1>=i;i++)

t[i]=s[d-1-i];

for(i=0;i

t[d+i]=s[i];

/**********ERROR**********/

t[2*d]='/0';//t[2*d]='\0';t[2*d]=NULL;t[2*d]=0;

//t[i+d]='\0';t[i+d]=NULL;t[i+d]=0;

}

main()

{

chars[100],t[100];

printf("\nPleaseenterstringS:

");

scanf("%s",s);

fun(s,t);

printf("\nTheresultis:

%s\n",t);

}

程序填空

1、

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

从键盘上输入10个整数,输入负数不算。

-------------------------------------------------------*/

#include"stdio.h"

main()

{

inti=0,a;

do

{

scanf("%d",&a);

/***********FILL***********/

if(_____)i++;//a>=0

printf("\na=%d,i=%d",a,i);

}

/***********FILL***********/

while(_____);//i<10i<=9

}

2、

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

通过函数的递归调用计算阶乘。

-------------------------------------------------------*/

#include"stdio.h"

longpower(intn)

{

longf;

if(n>1)

/***********FILL***********/

f=_____;//power(n-1)*npower(n-1)*nn*power(n-1)

else

f=1;

return(f);

}

main()

{

intn;

longy;

printf("inputainteagernumber:

\n");

/***********FILL***********/

scanf("%d",_____);//&n

y=power(n);

/***********FILL***********/

printf("%d!

=%ld\n",n,_____);//ypower(n)

}

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

当前位置:首页 > 工程科技 > 环境科学食品科学

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

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