2011年计算机等级二级C语言章节习题及答 下载本文

正确答案: 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】。 int a=1234; printf (\,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 ()

{int a=2,b=3,c=4; a*=16+(b++)-(++c); printf(\ }

正确答案: 28

3.35 以下程序段的输出结果是【6】 。 int x=17,y=26;

printf (\ 正确答案: 5

3.36 下列y的值是 【7】 。 int y; y=sizeof(2.25*4); 正确答案: 8

3.37 以下程序的输出结果是 【8】 。 main () {int i=010,j=10; pirntf (\ }

正确答案: 8,10

3.38 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=′a′+′8′-′3′的值为 【9】 。 正确答案: f

3.39 如下语句printf(\′B′+40);在执行后的输出结果是 【10】 。 正确答案: j

3.40 定义int a=5,b=20;若执行语句printf(\后,输出的结果为 【11】 。

正确答案: 9

第4章 顺序程序设计

一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)

4.1 若变量已正确说明为float型,要通过语句scanf(\给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是 A)10<回车>22<回车>33<回车> B)10.0,22.0,33.0<回车> C)10.0<回车>22.0 33.0<回车> D)10 22<回车>33<回车> 正确答案: B 4.2 现有以下程序段 #include main() { int a,b,c;

scanf(\ printf(\

若输出的结果为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.3 x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是 A)INPUT x、y、z;

B)scanf(\ C)scanf(\ D)read(\ 正确答案: B

4.4 已有定义int a=-2;和输出语句 printf(\以下正确的叙述是 A)整型变量的输出形式只有%d一种

B)%x是格式符的一种,它可以适用于任何一种类型的数据

C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

正确答案: D

4.5 下列程序段的输出结果是: int a=1234; float b=123.456; double c=12345.54321; printf(\ 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()

{ char s[100]; int c, i;

scanf(\ printf(\ A)123,456,789 B)1,456,789 C)1,23,456,789 D)1,23,456 正确答案: D

4.7 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后

a<=25&&b--<=2&&c?printf(\,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(\ A)5 B)14 C)8