第2部分 C语言程序设计习题与解答 题解1 绪 论 1.1 习题 一、选择题
1.一个完整的可运行的C源程序中(
B
)。
A.可以有一个或多个主函数 B.必须有且仅有一个主函数 C.可以没有主函数 D.必须有主函数和其他函数
2.构成C语言源程序的基本单位是(
D
)。
A.子程序 B.过程 C.文本 D.函数
3.某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序(
D
)。
A.总是从max( )函数开始执行 B.写在前面的函数先开始执行 C.写在后面的函数先开始执行 D.总是从main( )函数开始执行
4.C语言规定,一个C源程序的主函数名必须为(
C
)。
A.program B.include C.main D.function
5.下列说法正确的是(
C )。
A.在书写C语言源程序时,每个语句以逗号结束 B.注释时,'/'和'*'号间可以有空格
C.无论注释内容的多少,在对程序编译时都被忽略 D.C程序每行只能写一个语句
6.C语言源程序文件的后缀是(
C
),经过Compile后,生成文件的后缀是(
A
),经过Build后,生成文
件的后缀是(
B )。
A
D
C)。
A..obj B..exe C..c D..doc
7.Visual C++ 6.0 IDE的编辑窗口的主要功能是( ),输出窗口的主要功能是( ),调试器(Debug)的主要功能是(
A.建立并修改程序 B.将C源程序编译成目标程序 C.跟踪分析程序的执行 D.显示编译结果信息(如语法错误等)
8.在Visual C++ 6.0开发环境下,C程序按工程(project)进行组织,每个工程可包括(
函数。
A.1个 B.2个
D )C/CPP源文件,但只能有( A )main
C.3个 D.1个以上(含1个)
9.调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为(
A
)。而某个“计算2的平方”的程序
在调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为(
A.语法错误 B.正常情况
D )。
C.编译器出错 D.逻辑设计错误 二、简答题
1.如何使用注释语句?使用注释有何好处?
符号名包括模块名、常量名、标号名、子程序名等。
这些名字应该能反映它所代表的实际东西,具有一定的意义,使其能够见名知义,有助于对程序功能的理解
3.简述C程序上机调试的一般步骤?编辑,编译,连接,运行
2.C程序对书写格式有何要求?规定书写格式有何好处?4.简述C程序从.c源文件到.exe可执行文件的生成过程?
第一步是预处理,包括语法检查等工作。 gcc -P abc.c
第二步由源程序生产汇编语言代码。 gcc -S abc.c
会生成abc.s文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。 gcc -c abc.c 会生成abc.o
第四步连接器从目标代码生成可执行文件。 gcc abc.o
题解2 基本数据类型与运算符
2.1 习题 一、选择题
1.C语言中最基本的非空数据类型包括( D )。
A.整型、浮点型、无值型 B.整型、字符型、无值型 C.整型、浮点型、字符型 D.整型、浮点型、双精度型、字符型 2.C语言中运算对象必须是整型的运算符是( A )。
A.% B./ C.= D.〈= 3.若已定义x和y为int类型,则执行了语句x=1;y=x+3/2;后y的值是( B )。
A.1 B.2 C.2.0 D.2.5 4.若有以下程序段:
int a=1,b=2,c; c=1.0/b*a;
则执行后,c中的值是( A )。
A.0 B.0.5 C.1 D.2 5.能正确表示逻辑关系:\≥10或a≤0\的C语言表达式是( D )。
A.a>=10 or a<=0 B.a>=0|a<=10 C.a>=10 && a<=0 D.a>=10‖a<=0 6.下列字符序列中,不可用作C语言标识符的是( B )。
A.xds426 B.No.1 C._ok D.zwd 7.在printf( )函数中,反斜杠字符'\\'表示为( D )。
A.\\' B.\\0 C.\\n D.\\\\ 8.设先有定义:
int a=10;
则表达式a+=a *=a的值为( D )。
A.10 B.100 C.1000 D.200 9.设先有定义: int a=10;
则表达式(++a)+(a --)的值为( C )。
A.20 B.21 C.22 D.19 10.有如下程序: #include main( ) {
int y=3,x=3,z=1;
printf(\ %d\\n\}
运行该程序的输出结果是( D )。
A.3 4 B.4 2 C.4 3 11.假定x、y、z、m均为int型变量,有如下程序段:
x=2; y=3; z=1; m=(y则该程序运行后,m的值是( C )。
A.4 B.3 C.2 12.以下选项中合法的字符常量是( B )。
A.\ B.'\\010' C.68 13.设x=3,y=4,z=5,则表达式((x+y)>z)&&(y==z)&&x||y+z&&y+z的值为( B )
A.0 B.1 C.2 ((x+y)>z)&&(y==z)&&x||(y+z)&&(y+z)=1&&0&&3||9&&9=0||1=1
14.如果a=1,b=2,c=3,d=4,则条件表达式a
A.1 B.2 C.3 15.设int m=1,n=2; 则m++==n的结果是( A )。
A.0 B.1 C.2 二、填空题
1.表达式10/3的结果是 3 ;10%3的结果是 1 。 2.执行语句:int a=12;a+=a-=a*a;后的值是 -264 。 3.以下语句的输出结果是 -1 。
short b=65535; printf(\
4.以下程序的执行结果是 X=3,a=2,b=2 。
D.3 3
D.1
D.D
D.3
D.4
D.3
#includemain( ) {
int a,b,x; x=(a=3,b=a--);
printf(\}
5.以下程序的执行结果是 0 。
#includemain( ) {
float f1,f2,f3,f4; int m1,m2; f1=f2=f3=f4=2; m1=m2=1;
printf(\}
6.以下程序的执行结果是 n=1 。
#includemain( ) {
float f=13.8; int n; n=(int)f%3;
printf(\}
三、简答题
2.简述转义字符的用途并举实例加以说明。
题解3 控制结构
3.1 习题 一、选择题
1.结构化程序模块不具有的特征是( B )。
A.只有一个入口和一个出口 B.要尽量多使用goto语句
C.一般有顺序、选择和循环3种基本结构 D.程序中不能有死循环
2.C语言中,逻辑“真”等价于( C )。
A.整数1 B.整数0 C.非0数 3.以下4条语句中,有语法错误的是( D )。
A.if (a>b) m=a; B.if D.TRUE m=b;