习题答案第1章1.1 填空题1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。
1.1.2 一个函数由__函数头__和__函数体__两部分组成。
1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完成的。
1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。
1.1.5 C语言程序的基本单位或者模块是__函数__。
1.1.6 C语言程序的语句结束符是_;___。
1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。
1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。
1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。
且第一个字符必须为字母或下划线。
1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。
1.2 选择题1.2.1 一个C程序的执行是从( A )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束1.2.2 以下叙述不正确的是(C)。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) 在C程序中,注释说明只能位于一条语句的后面D) C程序的基本组成单位是函数1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。
A)必须在程序的开头B)必须在系统调用的库函数的后面C)可以在程序的任意位置D)必须在程序的最后1.2.4 C编译程序是(A)。
A)将C源程序编译成目标程序的程序B)一组机器语言指令C) 将C源程序编译成应用软件D) C程序的机器语言版本1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。
A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序1.2.6 以下叙述中正确的是(C)。
A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点1.2.7 以下叙述中正确的是(A)。
A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分1.2.8 以下叙述中正确的是(B)。
A) C语言的源程序不必通过编译就可以直接运行B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令C) C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以单独进行编译1.2.9 用C语言编写的代码程序(B)。
A) 可立即执行B) 是一个源程序C) 经过编译即可执行D) 经过编译解释才能执行1.2.10 以下叙述中正确的是(C )。
A) 在C语言中,main函数必须位于程序的最前面B) C语言的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误1.2.11 下列4组选项中,均不是C语言关键字的选项是(A )。
A)define B)getc C)include D)whileIF char scanf gotype printf case pow1.2.12 下列4组选项中,均是C语言关键字的选项是(B)。
A)auto B)switch C)signed D)ifenum typedef union structinclude continue scanf type1.2.13 C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符(C)。
A) 必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符1.3 编程题1.3.1 参照本章例题,编写一个C程序,要求输出如下字符。
***************************************************************************Welcome to Expo 2010!Shanghai 2010#include <stdio.h>void main(){printf(“********************************************************************* ******\n”);printf(“Welcome to Expo 2010!\n”);printf(“Shanghai 2010\n”);printf(“********************************************************************* ******\n”);}1.3.2 设计一程序,输入3个整数,计算并显示输出这3个整数之和。
#include <stdio.h>void main(){int a,b,c;printf(“input a,b,c:\n”);scanf(“%d%d%d”,%a,%b,%c);printf(“the sum of a,b,c is %5d\n”,a+b+c);}第2章2.1填空题2.1.1 C程序中数据有常量和变量之分,其中,用一个标识符代表一个常量的,称为符号常量。
C语言规定在程序中对用到的所有数据都必须指定其数据类型,对变量必须做到先定义,后使用。
2.1.2 C语言中,用关键字float 定义单精度实型变量,用关键字double 定义双精度实型变量,用关键字char 定义字符型变量。
2.1.3 在C语言中,以16位PC机为例,一个char型数据在内存中所占的字节数为1 ;一个int型数据在内存中所占的字节数为2 ,则int型数据的取值范围为-32768~32767。
一个float型数据在内存中所占的字节数为 4 ;一个double型数据在内存中所占的字节数为8 。
单精度型实数的有效位是6-7位,双精度型实数的有效位是15-16 位。
2.1.4 设C语言中的一个基本整型数据在内存中占2个字节,若欲将整数135791正确无误地存放在变量a中,应采用的类型说明语句是long int a=15791; 。
2.1.5 C的字符常量是用单引号括起来的 1 个字符,而字符串常量是用双引号括起来的字符序列。
2.1.6 C语言中,用“\”开头的字符序列称为转义符。
转义符“\n”的功能是回车换行;转义符“\r”的功能是回车。
2.1.7 若有定义:char c=‘\010’;则变量c中包含的字符个数为 1 。
2.1.8 负数在计算机中是以补码形式表示。
2.1.9 C语言中,&作为双目运算符是表示的是按位与,而作为单目运算符时表示的是取地址。
2.1.10 在C语言的赋值表达式中,赋值号左边必须是变量。
2.1.11 自增运算符++、自减运算符--,只能用于变量,不能用于常量或表达式。
++和- -的结合方向是“自右左至左”。
2.1.12 若a是int型变量,则执行下面表达式后a的值为 2 。
a=25/3%32.1.13 写出下列数所对应的其它进制数(D对应十进制,B对应二进制,o对应八进制,H对应十六进制)32D= 100000 B= 40 O= 20 H75D= 1001011 B= 113 O= 4B H2.1.14 假设已指定i为整型变量,f为float变量,d为double型变量,e为long型变量,有式子10+'a'+i*f-d/e,则结果为double 型。
2.1.15 若有定义:int x=3,y=2; float a=2.5,b=3.5;则下面表达式的值为 1 。
(x+y)%2+(int)a/(int)b2.1.16 5/3的值为 1 ,5.0/3的值为 1.666667 。
2.1.17 若有以下定义,int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是-16 。
2.1.18 若a是int型变量,则表达式(a=4*5,a+2),a+6的值为26 。
2.1.19 若x和n均为int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为:0 。
2.1.20 若有定义语句:int e=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是13.7 。
2.2 选择题2.2.1 逗号表达式"(a=3*5,a*4),a+15"的值是( C )。
A) 15 B) 60 C) 30 D) 不确定2.2.2 若有以下定义和语句:char c1='a', c2='f';printf("%d,%c\n",c2-c1,c2-'a'+'B');则输出结果是:( D )A) 2 ,M B) 5,! C) 2,E D) 5,G2.2.3 sizeof(float)是( B )。
A )一个双精度型表达式B )一个整型表达式C )一种函数调用D )一个不合法的表达式2.2.4 若有以下定义,则能使值为3的表达式是( D )。
int k=7,x=12;A )x%=(k%=5)B )x%=(k-k%5)C )x%=k-k%5D )(x%=k)-(k%=5)2.2.5 在C 语言中,要求运算数必须是整型的运算符是( A )。
A) % B) / C) < D) !2.2.6 下面4个选项中,均是合法整型常量的选项是( A )。
A) 160 B) -0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x2.2.7 下面4个选项中,均是不合法浮点数的选项是( B )。
A) 160. B)123 C) -.18 D)-e30.12 2e4.2 123e4 .234E3 .e5 0.0 1e32.2.8 下面正确的字符常量是( C )。
A)”C ” B)”\\” C)’W ’ D)’’2.2.9 在C 语言中,int 、char 和short 三种类型数据在内存中所占用的字节数( D )。