第2章 程序的灵魂.docx
《第2章 程序的灵魂.docx》由会员分享,可在线阅读,更多相关《第2章 程序的灵魂.docx(122页珍藏版)》请在冰豆网上搜索。
第2章程序的灵魂
第2章程序的灵魂----算法
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)
2.1以下叙述中正确的是
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
正确答案:
C
2.2以下叙述中正确的是
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前
D)所有被调用的函数一定要在调用之前进行定义
正确答案:
A
2.3以下说法正确的是
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
正确答案:
C
2.4C语言规定,在一个源程序中,main函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
正确答案:
C
2.5以下叙述不正确的是
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
正确答案:
D
2.6下列叙述中正确的是
A)C语言编译时不检查语法
B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义
D)C语言的函数可以嵌套调用
正确答案:
D
2.7以下叙述正确的是
A)在C程序中,每行中只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
正确答案:
D
2.8以下说法错误的是
A)一个算法应包含有限个步骤
B)在计算机上实现的算法是用来处理数据对象的
C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现
D)算法的目的是为了求解
正确答案:
C
2.9算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是
A)有零个输入或多个输入
B)高效性
C)有穷性
D)确定性
正确答案:
B
2.10下列关于C语言的说法不正确的是
A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能
B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号
C)注释可以出现在程序中任意合适的地方
D)命令行后面不能加分号,命令行不是C语言的语句
正确答案:
B
2.11以下说法错误的是
A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式
B)计算机只能处理由0和1的代码构成的二进制指令或数据
C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件
D)每一种高级语言都有它对应的编译程序
正确答案:
C
2.12C语言中用于结构化程序设计的3种基本结构是
A)顺序结构、选择结构、循环结构
B)if,switch,break
C)for,while,do-while
D)if,for,continue
正确答案:
A
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
)
2.13用高级语言编写的程序称为【1】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。
正确答案:
源程序
2.14C语言程序的注释可以出现在程序中的任何地方,一个注释以【2】作为开始和结束。
正确答案:
/**/
2011年计算机等级二级C语言章节习题及答案
(2)
来源:
青年人(Qnr.Cn) 2011/2/1817:
39:
53 【青年人:
中国教育考试第一门户】 资料下载 教材购买
-
第3章数据类型运算符与表达式
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)
3.1C语言中最简单的数据类型包括
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)字符型、实型、逻辑型
正确答案:
B
3.2C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母,数字和下划线中任一字符
正确答案:
C
3.3下列可用于C语言用户标识符的一组是
A)void,define,WORD
B)a3_b3,_123,Car
C)For,-abc,IFCase
D)2a,DO,sizeof
正确答案:
B
3.4下面四个选项中,均是不正确的8进制数或16进制数的选项是
A)0160x8f018
B)0abc0170xa
C)010-0x110x16
D)0a127ff-123
正确答案:
D
3.5下列数据中,不合法的C语言实型数据的是
A)0.123
B)123e3
C)2.1e3.5
D)789.0
正确答案:
C
3.6在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是
A)a=20000+20000;
B)a=4000*10;
C)a=30000+10000;
D)a=4000L*10L;
正确答案:
D
3.7若有说明语句:
charc='\72';则变量c
A)包含1个字符
B)包含2个字符
C)包含3个字符
D)说明不合法,c的值不确定
正确答案:
A
3.8有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为
A)6
B)7
C)8
D)9
正确答案:
D
3.9C语言中运算对象必须是整型的运算符是
A)%=
B)/
C)=
D)<=
正确答案:
A
3.10若变量已正确定义并赋值,以下符合C语言语法的表达式是
A)a:
=b+1
B)a=b=c+2
C)int18.5%3
D)a=a+7=c+b
正确答案:
B2011年计算机等级二级C语言章节习题及答案
(2)
来源:
青年人(Qnr.Cn) 2011/2/1817:
39:
53 【青年人:
中国教育考试第一门户】 资料下载 教材购买
-
3.11若变量a,i已正确定义,且i已正确赋值,合法的语句是
A)a==1
B)++i;
C)a=a++=5;
D)a=int(i);
正确答案:
B
3.12若有定义:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
A)2.
B)2.
C)3.
D)0.
正确答案:
A
3.13若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是
A)sizeof,&=,<<,^
B)sizeof,<<,^,&=
C)^,<<,sizeof,&=
D)<<,^,&=,sizeof
正确答案:
B
3.14以下不正确的叙述是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确答案:
D
3.15已知inti,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,变量i的值为
A)2
B)3
C)4
D)5
正确答案:
C
3.16设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为
A)int
B)float
C)double
D)不确定
正确答案:
C
3.17在C语言中,char型数据在内存中的存储形式是
A)补码
B)反码
C)原码
D)ASCII码
正确答案:
D
3.18字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为
A)和
B)和
C)和
D)和
正确答案:
C
3.19不能进行++和--运算的数据类型为
A)指针
B)整型
C)长整型
D)常量
正确答案:
D
3.20设有intx=11;则表达式(x++*1/3)的值是
A)3
B)4
C)11
D)12
正确答案:
A
2011年计算机等级二级C语言章节习题及答案
(2)
来源:
青年人(Qnr.Cn) 2011/2/1817:
39:
53 【青年人:
中国教育考试第一门户】 资料下载 教材购买
-
3.21以下程序的输出结果是
main()
{inta=21,b=11;
printf("%d\n",--a+b,--b+a);
}
A)30
B)31
C)32
D)33
正确答案:
A
3.22假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为
A)17
B)16
C)15
D)14
正确答案:
C
3.23已知inta=6;则执行a+=a-=a*a;语句后,a的值为
A)36
B)0
C)-24
D)-60
正确答案:
D
3.24设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是
A)n=(n*100+0.5)/100.0
B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0
D)n=(n/100+0.5)*100.0
正确答案:
B
3.25sizeof(float)是
A)一个双精度型表达式
B)一个整型表达式
C)一种函数调用
D)一个不合法的表达式
正确答案:
B
3.26在C语言中,int,char和short三种类型数据在内存中所占用的字节数
A)由用户自己定义
B)均为2个字节
C)是任意的
D)由所用机器的机器字长决定
正确答案:
D
3.27以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是
A)x/y*z
B)x*(1/(y*z))
C)x/y*1/z
D)x/y/z
正确答案:
A
3.28下列关于复合语句和空语句的说法错误的是
A)复合语句是由“{”开头,由“}”结尾的
B)复合语句在语法上视为一条语句
C)复合语句内,可以有执行语句,不可以有定义语句部分
D)C程序中的所有语句都必须由一个分号作为结束
正确答案:
C
3.29下列关于字符串的说法中错误的是
A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志
B)′\0′作为标志占用存储空间,计入串的实际长度
C)在表示字符串常量的时候不需要人为在其末尾加入′\0′
D)在C语言中,字符串常量隐含处理成以′\0′结尾
正确答案:
B
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
)
3.30以下程序的输出结果是【1】。
inta=1234;
printf("-\n",a);
正确答案:
1234
3.31在计算机中,字符的比较是对它们的【2】进行比较。
正确答案:
ASCII码
3.32在内存中,存储字符′x′要占用1个字节,存储字符串″X″要占用【3】个字节。
正确答案:
2
3.33在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为【4】。
正确答案:
8
3.34以下程序段的输出结果是【5】。
main()
{inta=2,b=3,c=4;
a*=16+(b++)-(++c);
printf("%d",a);
}
正确答案:
28
3.35以下程序段的输出结果是【6】。
intx=17,y=26;
printf("%d",y/=(x%=6));
正确答案:
5
3.36下列y的值是【7】。
inty;y=sizeof(2.25*4);
正确答案:
8
3.37以下程序的输出结果是【8】。
main()
{inti=010,j=10;
pirntf("%d,%d\n",i,j);
}
正确答案:
8,10
3.38已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=′a′+′8′-′3′的值为【9】。
正确答案:
f
3.39如下语句printf("%c\n",′B′+40);在执行后的输出结果是【10】。
正确答案:
j
3.40定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5_);后,输出的结果为【11】。
正确答案:
9
第4章顺序程序设计
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)
4.1若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是
A)10<回车>22<回车>33<回车>
B)10.0,22.0,33.0<回车>
C)10.0<回车>22.033.0<回车>
D)1022<回车>33<回车>
正确答案:
B
4.2现有以下程序段
#include
main()
{inta,b,c;
scanf("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);}
若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是
A)a=10]20,b=20]30,c=40
B)20,30,40
C)a=20,b=30,c=40
D)a=10]20,b=30]20,c=40
[注]:
“]”表示空格,表示回车
正确答案:
D
4.3x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是
A)INPUTx、y、z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y,&z);
正确答案:
B
4.4已有定义inta=-2;和输出语句printf("%8lx",a);以下正确的叙述是
A)整型变量的输出形式只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
正确答案:
D
4.5下列程序段的输出结果是:
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("-,%2.1f,%2.1f",a,b,c);
A)无输出
B)12,123.5,12345.5
C)1234,123.5,12345.5
D)1234,123.4,1234.5
正确答案:
C
4.6执行下列程序时输入:
123<空格>456<空格>789<回车>输出结果是
main()
{chars[100];intc,i;
scanf("%c",&c);scanf("%d",&i);scanf("%s",s);
printf("%c,%d,%s\n",c,i,s);}
A)123,456,789
B)1,456,789
C)1,23,456,789
D)1,23,456
正确答案:
D
4.7若已定义:
inta=25,b=14,c=19;以下三目运算符(?
:
)所构成语句的执行后
a<=25&&b--<=2&&c?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A)***a=25,b=13,c=19
B)***a=26,b=14,c=19
C)###a=25,b=13,c=19
D)###a=26,b=14,c=19
正确答案:
C
4.8请选出以下语句的输出结果
printf("%d\n",strlen("\t\"\065\xff\n"));
A)5
B)14
C)8
D)输出项不合法,无正常输出
正确答案:
A
4.9下列程序的输出结果是
main()
{doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A)3
B)3.2
C)0
D)3.07
正确答案:
C
4.10调用gets和puts函数时,必须包含的头文件是
A)stdio.h
B)stdlib.h
C)define
D)以上都不对
正确答案:
A
4.11阅读下面程序段
#include"stdio.h"
main()
{charc;
c=(′z′-′a′)/2+′A′;
putchar(c);}
输出结果为
A)M
B)N
C)O
D)Q
正确答案:
A
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
)
4.12下列程序的输出结果是16.00,请填空。
main()
{inta=9,b=2;
floatx=【1】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
正确答案:
6.6
4.13在使用putchar和getchar函数处理字符时,必须在程序的开头出现包含头文件的命令行是【2】。
正确答案:
#include
4.14下列程序的输出结果是【3】,【4】。
#include
main()
{floata=-1.3;b=1.3;
printf("%f,%f",fabs(a),fabs(b);}
正确答案:
1.300000
正确答案:
1.300000
4.15执行程序时的输入为,则程序的运行结果为【5】。
#include"stdio.h"
main()
{inta,b;
scanf("-%*2d_",&a,&b);
printf("%d\n",a-b);}
正确答案:
7
第5章选择结构程序设计
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)
5.1在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。
在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。
A)10
B)01
C)非0非0
D)11
正确答案:
A
5.2已知intx=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为
A)0
B)1
C)4
D)5
正确答案:
B
5.3能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是
A)a>=10ora<=0
B)a>=0|a<=10
C)a>=10&&a<=0
D)a>=10‖a<=0
正确答案:
D
5.4若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c)
D)(c>=′a′)&&(c<=′z′)
正确答案:
D
5.5设intx=1,y=1;表达式(!
x||y--)的值是
A)0
B)1
C)2
D)-1
正确答案:
B
5.6有如下程序段
inta=14,b=15,x;
charc=′A′;
x=(a&&b)&&(c<′B′);
执行该程序段后,x的值为
A)ture
B)false
C)0
D)1
正确答案:
D
5.7以下程序的输出结果是
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);}
A)1
B)0
C)非0的数
D)-1
正确答案:
A
5.8设有:
inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后n的值是
A)1
B)2
C)3
D)4
正确答案:
B
5.9已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为
A)1
B)2
C)3
D)4
正确答案:
C
5.10表达式a
A)||
B)&
C)<
D)()
正确答案:
D
5.11若运行时给变量x输入12,则以下程序的运行结果是
main()
{intx,y;
scanf("%d",&x);
y=x>12?
x+10:
x-12;
printf("%d\n",y);
}
A)0
B)22
C)12
D)10
正确答案:
A
5.12已知charch=′C′;则以下表达式的值是
ch=(ch>=′A′&&ch<=′Z′)?
(ch+32):
ch;
A)A
B)a
C)Z
D)c
正确答案:
D
5.13若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是
A)(exp==0)
B)(exp!
=0)
C)(exp==1)
D)(exp!
=1)
正确答案:
B
5.14有以下程序
main()
{inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是
A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
正确答案:
C
5.15请阅读以下程序:
main()
{inta=5,b=0,c=0;
if(a=b+c)printf("***\n");
elsep