C模拟题目.docx

上传人:b****2 文档编号:23179697 上传时间:2023-05-15 格式:DOCX 页数:20 大小:20.89KB
下载 相关 举报
C模拟题目.docx_第1页
第1页 / 共20页
C模拟题目.docx_第2页
第2页 / 共20页
C模拟题目.docx_第3页
第3页 / 共20页
C模拟题目.docx_第4页
第4页 / 共20页
C模拟题目.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C模拟题目.docx

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

C模拟题目.docx

C模拟题目

模拟题

一、选择题

1.在C语言中,每个语句和数据定义是用结束。

A)句号B)逗号C)分号D)括号

2.一个C语言程序是由。

A)一个主程序和若干个子程序组成;

B)函数组成,并且每一个C程序必须且只能由一个主函数;

C)若干过程组成;

D)若干子程序组成.

3.在C语言中,反斜杠符是。

A)\nB)\tC)\vD)\\

4.设d为字符变量,下列表达式不正确的是。

A)d=97B)d=’a’C)d=”a”D)d=’g’

5.根据定义和数据的输入方式,输入语句的正确形式为:

已有定义:

floata1,a2;

数据的输入方式:

4.523

3.52

A)scanf(“%f%f”,&a1,&a2);

B)scanf(“%f,%f”,a1,a2);

C)scanf(“%4.3f,%3.2f”,&a1,&a2);

D)scanf(“%4.3f%3.2f”,a1,a2);

6.若已知a=10,b=20,则表达式!

a

A)10B)20C)1D)0

7判断字符型变量ch为大写字母的表达式是。

A)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)

C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)

8.判断字符型变量ch为小写字母的表达式是。

A)’a’<=ch<=’z’B)(ch>=a)&&(ch<=z)

C)(ch>=’a’)||(ch<=’z’)D)(ch>=’a’)&&(ch<=’z’)

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

main()

{intx;

scanf(“%d”,&x);

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

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

}

A)7和5B)6和3C)7和4D)6和4

10.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:

if(x>y||xz)

z=x;x=y;y=z;

A)x=50,y=80,z=80B)x=50,y=30,z=30

C)x=30,y=50,z=80D)x=80,y=30,z=50

11.程序段如下

intk=-20;

while(k=0)k=k+1;

则以下说法中正确的是。

A)while循环执行20次B)循环是无限循环

C)循环体语句一次也不执行D)循环体语句执行一次

12.程序段如下

intk=1;

while(!

k==0){k=k+1;printf("%d\n",k);}

说法正确的是。

A)while循环执行2次B)循环是无限循环

C)循环体语句一次也不执行D)循环体语句执行一次

13.以下for循环是。

for(a=0,b=0;(b!

=123)&&(a<=4);a++)

A)无限循环B)循环次数不定C)执行4次D)执行5次

14.在下列程序中,while循环的循环次数是。

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

......

}

A)1B)10C)6D)死循环、不能确定次数

15.设有如下定义

intx=10,y=5,z;

则语句

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

的输出结果是。

A)1B)0C)4D)3

16.以下程序的输出结果是。

(1级)

main()

{intx=10,y=10;

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

}

A)1010B)99C)910D)109

17.在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A)整型常量B)整型常量或整型表达式

C)整型表达式D)任何类型的表达式

18.以下对一维整型数组a的正确说明是。

A)inta(10);B)intn=10,a[n];

C)intn;scanf(“%d”,&n);inta[n];

D)#defineSIZE10inta[SIZE];

19、

3.以下能对一维数组a进行正确初始化的语句是。

A)inta[10]=(0,0,0,0,0);

B)inta[10]={};

C)inta[]={0};

D)inta[10]={10*1};

20.有字符数组a[80]和b[80],则正确的输出语句是。

A)puts(a,b);B)printf(“%s,%s”,a[],b[]);

C)putchar(a,b);D)puts(a),puts(b);

21.以下不能对二维数组a进行正确初始化的语句是。

A)inta[2][3]={0};

B)inta[][3]={{1,2},{0}};

C)inta[2][3]={{1,2},{3,4},{5,6}};

D)inta[][3]={1,2,3,4,5,6};

22.以下函数定义正确的是:

A)doublefun(intx,inty)B)doublefun(intx;inty)

C)doublefun(intx,inty);D)doublefun(intx,y)

23.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:

A)地址传递;B)单向值传递;

C)双向值传递;D)由用户指定传递方式

24.以下关于C语言程序中函数的说法正确的是:

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

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

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

D)函数的定义和点用都可以嵌套。

25.以下错误的描述是。

函数调用可以

A)出现在执行语句中B)出现在一个表达式中

C)做为一个函数的实参D)做为一个函数的形参

26.若用数组名作为函数调用的实参,传递给形参的是。

A)数组的首地址B)数组第一个元素的值

C)数组中全部元素的值D)数组元素的个数

27.以下正确的说法是。

如果在一个函数中的复合语句中定义了一个变量,则该变量

A)只在该复合语句中有效B)在该函数中有效

C)在本程序范围内有效D)为非法变量

28.以下不正确的说法为。

A)在不同函数中可以使用相同名字的变量

B)形式参数是局部变量

C)在函数内定义的变量只在本函数范围内有效

D)在函数内的复合语句中定义的变量在本函数范围内有效

29.有如下程序

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn

(2);

}

main()

{printf(“%d\n”,fib(3));

该程序的输出结果是。

A}2B}4C}6D}8

30.有以下程序

voidf(intx,inty)

{intt;

if(x

}

main()

{inta=4,b=3,c=5;

f(a,b);f(a,c);f(b,c);

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

}

执行后输出的结果是D。

A)3,4,5B)5,3,4C)5,4,3D)4,3,5

31.变量的指针,其含义是指该变量的。

A)值B)地址C)名D)一个标志

二填空题

1.函数体一般包括和。

2.符号常量是指。

3.在C语言中,在习惯上符号常量名用,变量用。

(大写或小写)

4.C语言中的语句可分为5类,即、、、、。

5.printf函数的“格式控制”包括两部分,他们是和。

6.在C语言中,对于if语句,else子句与if子句的配对约定是。

7.在C语言中的逻辑运算符的优先级是高于高于

8.用C语言描述下列命题

(1)a小于b或小于c,

(2)a和b都大于c

9.C的字符串常量是用括起来的字符序列。

10.在C语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即,以便系统据此数据判断字符串是否结束。

11.break语句的功能是。

12.break语句只能用于

(1)语句和

(2)语句中。

13.在C语言中,引用数组只能通过数组元素来实现,而不能通过整体引用来实现。

14.对与数组a[m][n]来说,使用数组的某个元素时,行下标的最大值是,列下标的最大值是。

15.在C语言中,将字符串作为处理。

16.在C语言中,数组的首地址是。

17.C语言规定,可执行程序的开始执行点是。

18.返回语句的功能是从返回。

19.inta[10];则a[i]的地址可表示为或,a[i]可表示为。

20.在C程序中,指针变量能够赋值或值。

答案

一、选择题

 

1.C

2.B

3.D

4.C

5.A

6.D

7.C

8.D

9.A

10.A

11.C

12.B

13.D

14.D

15.D

16.D

17.B

18.D

19.C

20.D

21.A

22.A

23.B

24.B

25.D

26.A

27.A

28.D

29.B

30.C

31.B

 

二填空题

1.声明部分执行部分

2.用一个标识符代表一个常量

3.大写小写

4.控制语句空语句复合语句函数调用语句表达式语句

5.格式说明普通字符

6.else与它前面最近的一个没有配对的if配对

7.!

&&,||

8.ac&&b>c

9.双引号

10.’\0’

11.终止包含它的最内层循环的执行。

或从switch-case语句中跳出,执行后面的语句

12.

(1)switch-case语句

(2)循环

13.逐个引用整个数组

14.m-1,n-1

15.字符数组

16.数组的名称

17.程序中的main()函数

18.包含它的函数调用函数

19.&a[i],a+i,*(a+i)

20.地址NULL(或ˊ\0ˊ,或0,或空值)

三程序分析题:

1.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为

voidmain()

{

charc=’A’;

inti=10;

c=c+10;

i=c%i;

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

}

答案:

K,5

2.下面程序的输出结果是

voidmain()

{

intx;

x=-3+4*5-6;

printf(“%d”,x);

x=3+4%5-6;

printf(“%d”,x);

x=3*4%5-6/5;

printf(“%d”,x);

x=(7+6)%5/2;

printf(“%d”,x);

}

答案:

11111

3.下面程序的输出结果是

voidmain()

{

intx=2,y=0,z;

x*=3+2;

printf(“%d”,x);

x*=y=z=4;

printf(“%d”,x);

}

答案:

1040

4.下面的程序运行结果为

voidmain()

{

charc1,c2;

c1='a';c2='b';

c1=c1-32;c2=c2-32;

printf("%c%c",c1,c2);

}

答案:

AB

5.下面的程序运行结果为

voidmain()

{

floatx;inti;

x=3.6;

i=(int)x;

printf("x=%f,i=%d",x,i);

}

答案:

x=3.6,i=3

6.以下程序运行后i,j,m,n的值是

voidmain()

{

inti,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

答案:

9,11,9,10

7.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。

jia=70.000000

jian=30.000000

cheng=1000.000000

chu=2.5000000

程序:

#include

voidmain(void)

{

(1)

a=50.0;b=20.0;

printf("jia=%f\n",

(2));

printf("jian=%f\n"(3));

printf("cheng=%f\n",(4));

printf("chu=%f\n",(5));

}

将缺少的部分填在空白处。

答案:

doublea,b;a+ba-ba*ba/b

8.写出下面程序的执行结果

voidmain()

{

intx,y=1;

if(y!

=0)

x=5;

printf(“%d”,x);

if(y==0)

x=3;

else

x=5;

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

}

答案:

55

9.设有程序片段如下:

switch(class)

{case'A':

printf("GREAT!

\n");

case'B':

printf("GOOD!

\n");

case'C':

printf("OK!

\n");

case'D':

printf("NO!

\n");

default:

printf("ERROR!

\n");

}

若class的值为'C',则输出结果是

答案:

OK!

NO!

ERROR!

9.程序段如下

intk=0;

while(k++<=2);

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

则执行结果last=

答案:

3

10.以下程序的输出结果

voidmain()

{

intn=0;

while(n++<=1)

printf("%d",n);

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

}

答案:

122

11.有如下程序

intrunc(inta,intb)

{return(a+b);}

voidmain()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

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

}

该程序的输出的结果是

答案:

15

12、下列程序的运行结果是

voidmain()

{

inta[]={1,2,3,4},i,j,s=0;

j=1;

 

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

{

s=s+a[i]*j;

j=j*10;

}

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

}

答案:

s=0

四编程题:

1.请编写一个程序,能显示出以下两行文字。

Iamastudent.

IloveChina.

答案:

#include

voidmian()

{

printf(“Iamastudent.\n”);

printf(“IloveChina.\n”);

}

2.编写程序,判断某一年是否是闰年。

答案:

#include

voidmian()

{

intyear,leap;

scanf(“%d”,&year);

if(year%4==0)

{if(year%100==0)

{if(year%400==0)

leap=1;

elseleap=0;

}

elseleap=1;

}

elseleap=0;

if(leap)

printf(“%dis”,year);

elseprintf(“%disnot”,year);

printf(“aleapyear\n”);

}

3.编写程序,求两个整数的最大公约数和最小公倍数。

答案:

#include

voidmian()

{

intn=0,m=0,temp,r,p;

printf(“PleaseInputmandnvalue:

\n”);

scanf(“%d%d”,&m,&n);

if(m>n)

{

temp=m;

m=n;

n=temp;

}

r=m%n;

p=m*n;

while(r!

=0)

{

m=n;

n=r;

r=m%n;

}

printf(“最大公约数是%d\n”,n);

printf(“最小公倍数是%d\n”,p/n);

}

4.把输入的5个整数按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。

答案:

#include

voidmain()

{

inta[5];

inti;

printf(“请输入不超过5个数字\n”);

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

scanf(“%d”,&a[i]);

for(i=4;i>=0;i--)

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

}

5.从键盘输入十个数字,用起泡法由大到小排序并输出。

答案:

#include

voidmain()

{

inti,j,m,a[10];

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

scanf(“%d”,&a[i]);

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

for(j=0;j<=9-i;j++)

if(a[j]>a[j+1])

{

m=a[j];

a[j]=a[j+1];

a[j+1]=m;

}

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

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

}

6.以下两条if语句可合并成一条if语句为

if(a<=b)

x=1;

else

y=2;

if(a>b)

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

else

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

答案:

if(a<=b)

{x=1;printf("####x=%d\n",x);)

else

{y=2;printf("****y=%d\n",y);}

7.输入3个整数a,b,c要求按从大到小的顺序输出三数。

答案:

#include

voidmain()

{

inta,b,c,t;

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

if(a

{t=a;a=b;b=t;}

If(a

{t=a;a=c;c=t;}

if(b

{t=b;b=c;c=t;}

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

}

 

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

当前位置:首页 > 自然科学 > 物理

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

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