c语言模拟试题
- 格式:docx
- 大小:24.82 KB
- 文档页数:12
二级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、有以下程序