当前位置:首页 > C语言课后习题解答 - 图文
第一部分 习题解答
1.1 C语言概述 一、选择题
1、一个C语言的源程序中,( )。 [A]可以有多个主函数 [B]必须有一个主函数
[C]必须有主函数和其他函数 [D]可以没有主函数
解析:本题考查的是主函数在C程序中的作用。一个C程序中必须有且仅有一个主函数,其它函数可有可无。因此,正确答案为[B]。
2、下列叙述中错误的是( )。(全国计算机二级考试题2007年4月) [A]计算机不能直接执行用C语言编写的源程序
[B]C程序编译后,生成后缀为.obj的文件是一个二进制文件
[C]后缀为.obj的文件,经连接生成后缀为.exe的文件是一个二进制文件 [D]后缀为.obj和.exe的二进制文件都可以直接运行 解析:本题考查的是C程序从编写到生成可执行文件的步骤问题。C程序编写的源程序(.C)经C编译程序编译后生成后缀为.obj的二进制文件,再经过链接库文件后生成后缀为.exe的二进制文件,最终执行的是后缀为.exe的二进制文件。因此,正确答案为[D]。 3、对于一个正常运行的C程序,以下叙述中正确的是( )。 (全国计算机二级考试题2007年4月)
[A]程序的执行总是从void main函数开始,在void main函数结束 [B]程序的执行总是从程序的第一个函数开始,在void main函数结束 [C]程序的执行总是从void main函数开始,在程序的最后一个函数结束 [D]程序的执行总是从程序的第一个函数开始,在程序的最后一个函数结束
解析:本题考查的是C程序的执行过程问题。C程序中所有函数的地位都是一样的,C程序的执行总是从void main函数开始,在void main函数结束。因此,正确答案为[A]。 4、以下叙述中正确的是( )。(全国计算机二级考试题2008年9月) [A]C语言的基本组成单位是语句 [B]C程序中的每一行只能写一条语句 [C]简单C语句必须以分号结束 [D]C语句必须在一行内完成
解析:本题考查的是C语言的基本概念。函数是C语言的基本组成单位,选项A错误。C语言书写格式自由,一行内可以写多个语句,一个语句可以多行书写,选项B、 D错误。分号是语句结束的标志,任何一条语句都必须以分号结束。因此,正确答案为[C]。
二、读程序写结果 1、
#include\void main() {
int x,y,z; x=100; y=20;
1
z=x+y;
printf(\
}
解:运行结果为sum=120 2、
#include‖stdio.h‖ void main() {
int x,y,z;
scanf(―%d%d‖,&x,&y); z=x*y;
printf(―result=%d‖,z); }
解:scanf函数作用是从键盘输入数据,printf函数作用是在终端输出数据,本题若输入为3 4,则运行结果为12。
三、编程题
1、请参照本章例题,编写一个C语言程序,用于显示以下信息: ********** hello!
**********
解析:本题只需输出三行信息,可用3个print函数分别输出 #include< stdio.h > /*文件包含,引头文件*/ void main() /*主函数*/ { /*主函数起始*/ printf(\ /*输出函数*/ printf(\ /*输出函数*/ printf(\ /*输出函数*/ } /*主函数结束*/
2、请参照本章例题,编写一个C语言程序,输出两个数中的最大数。 解析:通过一条判断语句将两数中的大数输出即可
#include < stdio.h > /*文件包含,引头文件*/ void main() /*主函数*/ { /*主函数起始*/
int a,b; /*定义整型变量a和b*/ a=3; /*给变量a赋值为3*/ b=5; /*给变量b赋值为5*/
if(a>b)printf(\ /*条件判断语句,条件a>b 成立则输出变量a的值*/ else printf(\ /* 否则不成立则输出变量b的值*/ } /*主函数结束*/
1.2 数据类型、运算符与表达式 一、选择题
1、以下选项中,合法的一组C语言用户标识符是( )。(全国计算机二级考试题2007年
2
9月)
[A] and [B] Date [C] Hi [D] case _2007 y-m-d Dr.Tom Big1 解析:本题考查的是标识符问题。C语言中标识符的命名规则是由字母、数字、下划线组成,且只能以字母、下划线开头,并且不能使用C语言的关键字。选项B中出现非法字符-。选项C中出现非法字符.。选项D中有C语言的关键字case。因此,正确答案为[A]。 2、以下选项中,合法的一组C语言数值常量是( )。(全国计算机二级考试题2007年9月)
[A] 028 [B] 12. [C] .177 [D] 0x8A
.5e-3 0xa23 4e1.5 10,000 -0xf 4.5e0 0abc 3.e5
解析:本题考查的是C语言数值常量问题。C语言中以0开头的数值为八进制数,八进制数由0到7组成,因此028非法,选项A错误。以0x开关头的数值为十六进制数,十六进制数由0~9及A~F组成。实型数有十进制小数形式和指数形式两种,指数形式要求e前有数字,e后为整数,因此4e1.5非法,选项C错误。选项D中10,000非法。因此,正确答案为[B]。
3、以下选项中不属于字符常量的是 ( )。 (全国计算机二级考试题2008年4月) [A] 'C' [B] \ [C] '\\xCC0' [D] '\\072'
解析:本题考查的是转义字符问题。由单撇号引起的一个字符为字符常量,选项A正确。由双引号引起的字符序列为字符串常量,选项 B不正确。选项C和D为十六进制和八进制的转义字符。因此,正确答案为[B]。
4、以下选项中不能作为C语言合法常量的是( )。(全国计算机二级考试题2008年9月) [A] ?cd‘ [B]0.1e+6 [C] ―a‖ [D] ?\\011‘
解析:本题考查的是字符常量、实型常量、字符串常量。字符常量是一对单引号括起来的一个字符,选项A中单引号内有两个字符。选项B为实型常量,选项C为字符串常量,选项D为转义字符常量。因此错误,正确答案为[B]。 5、C语言中的简单数据类型包括( )。
[A] 整型、实型、逻辑型 [B] 整型、实型、字符型
[C] 整型、字符型、逻辑型 [D] 整型、实型、逻辑型、字符型
解析:本题考查的是数据类型问题。C语言中简单数据类型为整型、实型、字符型,C语言根本没有逻辑型。因此,正确答案为[B]。 6、C源程序中不能表示的数制是( )。(全国计算机二级考试题2008年9月) [A] 八进制 [B] 十进制 [C] 十六进制 [D] 二进制
解析:本题考查的是整型常量的三种表示形式。整型常量分为十进制整型常量、八进制整型常量、十六进制整型常量,唯独没有二进制整型常量,所以源程序中不能表示二进制,因此,正确答案为[D]。
7、以下关于long、int和short类型数据占用内存大小的叙述中正确的是(Visual C++环境)( )。(全国计算机二级考试题2007年9月) [A] 均占4个字节
[B] 根据数据的大小来决定所占内存的字节数 [C] 由用户自己定义
[D] 由C语言编译系统决定
解析:本题考查的是不同类型数据占用内存大小的问题。C语言中不同类型的数据占用内存空间不同,而且不同的编译系统也不同,在Visual C++环境下这三种数据类型均占4个字节,
3
因此,正确答案为[A]。
8、以下符合C语言语法的赋值表达式是( )。 [A]d=9+e+f=d+9 [B]d=9+e,f=d+9 [C]d=9+e+=d+9 [D]d=9+e++=d+9
解析:本题考查的是赋值表达式问题。C语言只允许向变量赋值,不允许向表达式赋值,因此A、C和D选项不合法,正确答案为[B]。
9、在C语言中,要求运算量必须是整型的运算符是 ( )。 [A] % [B] / [C] < [D] !
解析:本题考查的是运算符的应用。%为取余运算符,对左右两侧运算量进行取余运算,要求左右两侧运算量必须为整形数据。/为除法运算符,若左右两侧运算量都为整数,则进行取整运算,否则为除法运算。<为关系运算符,! 为逻辑运算符,左右两侧运算量均不要求为整数。因此,正确答案为[A]。
10、运算符有优先级,在C语言中关于运算符优先级的正确叙述是( )。 [A]逻辑运算符高于算术运算符,算术运算符高于关系运算符 [B]算术运算符高于关系运算符,关系运算符高于逻辑运算符 [C]算术运算符高于逻辑运算符,逻辑运算符高于算术运算符 [D]关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
解析:本题考查的是运算符的优先级问题。C语言中运算符的优先级顺序由高到低为算术运算符、关系运算符、逻辑运算符,因此,正确答案为[B]。 11、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。 (全国计算机二级考试题2007年4月) [A]k++ [B]k+=1 [C]++k [D]k+1
解析:本题考查的是运算符表达式问题。选项A中 k++表达式的值为k的值,即0,运算完后k的值加1,选项B中 k+=1表示k=k+1结果为1,而选项C中 ++k表示先把k的值加1,然后k的值为整个表达式的值,即结果为1,选项D 中k+1结果为1。因此,正确答案为[A]。
12、有以下程序段 char ch; int k; ch='a'; k=12;
printf(\
已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是( )。(全国计算机二级考试题2008年4月)
[A] 因变量类型与格式描述符的类型不匹配输出无定值 [B] 输出项与格式描述符个数不符,输出为零值或不定值 [C] a,97,12k=12 [D] a,97,k=12
解析:本题考查的是printf函数的应用。printf函数根据前面的格式控制符控制后面输出项的输出,一般要求前后个数一致,类型一致,且位置一一对应,若不一致则以格式控制为主。对于字符型数据可以转换成数值型数据,依据是转换成相应的ASCII码。因此,正确答案为[D]。
13、若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 ( )。(全国计算机二级考试题2008年9月)
[A] w==1 [B] w==0 [C] w!=1 [D] w!=0
解析:本题考查的是逻辑表达式问题。题中若w为任何非0数,则表达式w表示真。若w
4
共分享92篇相关文档