c语言模拟试题

  • 格式:docx
  • 大小:24.82 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二级C语言笔试模拟试题(100分)

选择题(一分一个)

1、针对简单程序设计,以下叙述的实施步骤正确的是

A、确定算法和数据结构、编码、调试、整理文档

B、编码、确定算法和数据结构、调试、整理文档

C、整理文档、确定算法和数据结构、编码、调试

D、确定算法和数据结构、调试、编码、整理文档

2、关于C语言中数的表示,以下叙述正确的是

A、只有整型数在允许范围内能精确无误的表示,实型数会有误差

B、只要在在允许范围内整型和实型都能精确表示

C、只有实型数在允许范围内能精确无误的表示,整型数会有误差

D、只有八进制表示的数在不会有误差

3、以下关于算法叙述错误的是

A、算法可以用伪代码、流程图等多种形式来描述

B、一个正确的算法必须有输入

C、一个正确的算法必须有输出

D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码

4、以下叙述错误的是

A、一个C程序可以包含多个不同名的函数

B、一个C程序只能有一个主函数

C、C程序在书写时,有严格的缩进要求,否则不能编译通过

D、C程序的主函数必须用main作为函数名

5、设有以下语句

Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);

若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是

A、A和B之间用逗号间隔

B、A和B之间不能有任何间隔符

C、A和B之间可以用回车间隔

D、A和B之间用空格间隔

6、以下选项中非法的字符常量是

A、’\102’

B、’\65’

C、’\xff’

D、’\019’

7、有以下程序

#include

Main()

{

Int A=0,B=0,C=0;

C=(A-=A-5);(A=B,B+=4);

Printf(“%d, %d, %d\n”,A,B,C)

}

程序运行后输出的结果是

A 0,4,5

B 4,4,5

C 4,4,4

D 0,0,0

8、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是

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

B、n=++x; printf((“%d\n”,n);

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

D、n=x++; printf((“%d\n”,n);

9、以下选项中,能表示逻辑值“假”的是

A 1

B 0.000001

C 0

D 100.0

10、若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b的值的类型是

A)char B)int C)double D)float

11、若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为

A)1.9 B)1 C)2 D)2.4

12、若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b的输入数据是

A)3 5 B)3,5 C)3;5 D)35

13、若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为

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

14、有以下程序

#include

main( )

{ int a=1, b=0;

if (--a) b++;

else if(a==0) b+=2;

else b+=3;

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

}

程序运行后的输出结果是

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

15、下列条件语句中,输出结果与其他语句不同的是

A) if(a) printf("%d\n", x); else printf("%d\n",y);

B) if(a==0) printf("%d\n", y); else printf("%d\n",x);

C) if(a!=0) printf("%d\n", x); else printf("%d\n",y);

D) if(a==0) printf("%d\n", x); else printf("%d\n",y);

16、有以下程序

#include

main( )

{ int a=7;

while (a--);

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

}

程序运行后的输出结果是

A)-1 B)0 C)1 D)7

17、以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)

A)printf("%c\n",'a'-32); B)printf("%d\n",'A')

C)printf("%c\n",65); D)printf("%c\n",'B'-1);

18、有以下程序(注:字符a的ASCII码值为97)

#include

main( )

{ char *s={"abc"};

do

{ printf("%d",*s%10); ++s; }

while (*s);

}

程序运行后的输入结果是

A)abc B)789 C)7890 D)979899

19、若有定义语句: double a,*p=&a; 以下叙述中错误的是

A)定义语句中的 * 号是一个间址运算符

B)定义语句中的 * 号只是一个说明符

C)定义语句中的p只能存放double类型变量的地址

D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p

20、有以下程序

#include

double f(double x);

main( )

{ double a=0; int i;

for (i=0; i<30; i+=10) a+=f( (double)i);

printf("%5.0f\n",a);

}

double f(double x)

{ return x*x+1; }

程序运行后的输出结果是

A)503 B)401 C)500 D)1404

21、有以下程序

#include

Main()

{ int a;

Scanf(“%d”,&a);

If(a++<9) printf((“%d\n”,a);

Else printf((“%d\n”,a--);

}

程序运行时键盘输入9<回车>,则输出的结构是

A、10 B 11 C 9 D 8

22、有以下程序