(1)计算机能直接执行的程序是( )。
A.源程序
B.目标程序
C.汇编程序
D.可执行程序
(2)以下叙述中正确的是( )。
A.c语言规定必须用main作为主函数名,程序将从此开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.c语言程序将从源程序中第一个函数开始执行、
D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等
(3)以下选项中可用做c程序合法实数的是( )。、、
A.3.0e0.2
B..1e0
C.E9
D.9.12E
(4)下列定义变量的语句中错误的是( )。
A.int jnt;
B.double int_;
C.char For;
D.float US$;
(5)表达式:(im)((double)9/2)一9%2的值是( )。
A.0
B.3
C.4
D.5
(6)设变量均已正确定义,若要通过
scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);
语句为变量al和a2赋数值l0和20,为变量cl和c2赋字符x和Y。以下所示的输入形式中正确的是( )。(注:口代表空格字符)
(7)以下选项中不能作为c语言合法常量的是( )。.
A.0.1e+6
B.’cd’.
C.”、a”
D.’\011
(8)if语句的基本形式是:if(表达式)语句,以下关于“表=迭式”值的叙述中正确的是( )。
A.必须是逻辑值
B.必须是整数值
C.必须是正数
D.可以是任意合法的数值
(9)有如下嵌套的if语句:
以下选项中与上述if语句等价的语句是( )。
A.k=(a
B.B.:((b>C.?b:
C.;B.k=(a
D.k=(a
(10)有以下程序:
程序执行后的输出结果是( )。
A.1
B.2
C.4
D.死循环
(11)以下关于结构化程序设计的叙述中正确的是( )。
A.结构化程序使用goto语句会很便捷
B.在c语言中,程序的模块化是利用函数实现的
C.一个结构化程序必须同时由顺序、分支、循环三种结构组成
D.由三种基本结构构成的程序只能解决小规模的问题
(12)对于一个正常运行的C程序,以下叙述中正确的是( )。
A.程序的执行总是从main函数开始,在程序的最后一个函数中结束
B.程序的执行总是从程序的第一个函数开始,在main函数结束.
C.程序的执行总是从main函数开始、
D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
(13)以下选项中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.”\”
D.”\007”
(14)以下定义语句中正确的是( )。
A.int a=b=0;
B.char A=65+1,b=’b’;
C.float a=1,*b=*a,*C=&b;
D.double a=0.0;b=1.1;
(15)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )。
A.X+1=y
B.++X.Y=X一一
C.X=X+10=X+Y
D.double(X)/10
若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&a,&b,&C.;给a赋值l、给b赋值2、给C赋值3,以下输入形式中错误的是( )。(注:口代表一个空格符)
(17)以下不能输出字符A的语句是( )。(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)
若a是数值类型,则逻辑表达式(a==1)I l(a!=1)的值是( )。.
A.1
B.0
C.2
D.不知道a的值,不能确定
(19)设有定义:
int a=1,b=2,C=3;
以下语句中执行效果与其他三个不同的是( )。
if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
(20)有以下程序:
程序执行后的输出结果是( )。
A.y=OS)y=一1
B.0
C.y=1
D.while构成无限循环
(1)D【解析】计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。
(2)A【解析】C语言中的主函数只能是main()函数,不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。
(3)B【解析】A选项中e后面的指数必须为整数,所以错误。C语言规定,E之前必须要有数字,所以c选项错误。E后面必须要有数字,且必须为整数,所以D选项错误。
(4)D【解析】C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符“$”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。
(5)B【解析】先将整型数据9强制转换成doub1e型,然后除以2得到的结果与doub1e型保持一致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4一1的值为3,所以选择B选项。
(6)C【解析】输入数据的格式必须与scanf()的格式控制串完全匹配,如果A、B、c选项中在数字10后面均输入了空格,则会将空格赋给变量c1,而不是把x赋给c1,所以选择C选项。
(7)B【解析】要想表示字符串常量应该用双引号表示,即“cd”,单引号用于表示字符常量,所以B选项中的表示方法错误。
(8)D【解析】if语句中的表达式可以是任意合法的数值,如常量、变量表达式。所以D选项正确。
(9)B【解析】题目中嵌套语句的含义是当a
(10)A【解析】一一k先自减再使用,所以第一次判断条件即为whi1e(4),条件为真,执行打印k的值k=4—3,结果为1;第二次判断条件即为whi1e(0),条件为假,结束循环,打印回车换行符。所以选择A选项。
(11)B【解析1滥用90t0语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。—个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。
(12)C【解析】任何一个c程序都是从主函数main开始,至主函数main结束,所以选择c选项。
(13)D【解析1A选项中整型常量应表示为1200,不能包含“。”。B选项中E后面的指数必须为整数。C选项中转义字符以“、”开始,若要表示字符“、”,应写为“、、”。
(14)B【解析】A选项语句中b变量还没有定义不能直接用于给a变量赋值。c选项语句中·b、-c表示的是一个实句中a=0.0后面应该为逗号,不能是分号。
(15)B【解析】A选项中不能将变量Y赋给表达式,c选项中错误与A选项一样,D选项中强制类型转换表达式应写成(doub1e)x/10。
(16)D【解析】scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符;以保证匹配。所以逗号必须输入。
(17)B【解析】B选项输出的格式为%d,即为整型格式,所以输出字符A的ASCI1码值65,而不是字符A。由于大写字母比与其对应的小写字母的ASCI1码值小32,所以A正确。字符A的ASCI1码值就是65,所以以%C格式输出可以输出字符A,所以c正确。由于字符A的ASCI1码值比字符B的小1,所以D正确。
(18)A【解析】逻辑或”I|”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为1,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。
(19)C【解析】由于a小于b,所以所有选项中的条件都为假,C选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择C选项。
(20)B【解析】执行Y一一直到值为0,由于Y一一是先用再减,所以退出循环时,y的值为一1。