朱昌杰 C语言程序设计课本习题解答 - 图文

2019-04-17 00:25

习题1

一.选择题

(1) 以下叙述正确的是( )

A. 计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序

B. 汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序

C. 高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行 D. 用高级语言编写的源程序只能经过解释程序边解释边执行 (2) 以下不正确的概念是( ) A. 一个C程序必须包含一个main函数 B. 一个C程序可以只有一个语句 C. 一个C程序可以由一个或多个函数组成 D. 一个C语言函数可以没有任何可执行语句 (3) 在C语言程序中( )。 A. main函数必须放在程序最前头 B. main函数必须放在程序最后 C. main函数必须放在所有函数之前

D. main函数可以放在程序任何允许放置函数的位置 (4) 以下C语言源程序的书写格式不正确的是( ) A. 正确的函数首部,其后必须加上分号 B. 分号是语句的一部分 C. 一行上可以书写多条语句 D. 一个语句可以写在多行之上 (5) 以下不正确的叙述是( )

A. 一个#include命令只能指定一个被包含文件 B. 一个#include命令可以指定多个被包含文件

C. 在#include命令中,文件名可以用尖括号或双引号括起来 D. 一个C程序中,可以使用多个#include文件包含命令 二.填空题

(1) 计算机程序设计语言分为 语言、 语言和 语言。

(2) 正确的算法应具有五个重要的特征是:① ,② ,③ ,④ ,⑤ 。 (3) 算法的表示方法主要有 、 、 、自然语言和 语言等。(4) 程序设计方法主要分为 程序设计方法和 程序设计方法。 (5) C语言的函数一般由 和 两部分组成。 (6) 注释部分从 开始,以 结束。 (7) 任何C程序的执行都是从 函数开始。 (8) 函数体一般包括 部分和 部分。

(9) 一个C语言程序由若干个函数组成,其中必须有一个 函数。 三.编程题

(1) 上机运行本章例题,熟悉所用C语言系统(如:Turbo C/C++和Visual C++ 6.0等)的上机方法与步骤。(2) 参照本章例题编写一个C语言程序,并上机运行,要求输出一下信息: **************************** Hello,World!

****************************

1

【参考答案】

一.选择题 (1) C (2) B (3) D (4) A (5) B

二.填空题 (1) 机器语言、汇编语言、高级语言 (2) ①有穷性、②确定性、③有效性、④输入、⑤输出。 (3) 传统流程图、N-S图、伪代码、计算机程序 (4) 面向过程、面向对象

(5) 函数首部、函数体 (6) /* 、*/ (7) main (8) 声明、执行 (9) main 三.编程题

(1) 例1.3 输出一行信息,内容为:This is my first C program. /* exa1-3.c */ #include void main() { printf(\

}

例1.4 键盘输入两个整数,求两个整数中的较大者。 /* exa1-4.c */

#include \头文件 */ void main() /* 主函数 */ { int max(int x,int y); /* 对被调用函数max的声明 */ int a,b,c; /* 定义三个整型变量a,b,c */ printf(\提示输入 */ scanf(\键盘输入变量a和b的值 */

c=max(a,b); /* 调用max函数,将函数返回值赋值给变量c */ printf(\输出c的值 */ }

int max(int x,int y) /* 定义整型函数max,其两个形式参数x,y也为整型 */ { int z; /* 函数max的声明部分 */ if(x>y) z=x; /* 如果x>y,将x赋值给z */ else z=y; /* 否则,将y赋值给z */

return(z); /* 将z的值返回给调用函数的位置 */ } (2)解答:

/* exe1-3-2.c */ #include void main() { printf(\ printf(\

printf(\

}

2

习题2

一.选择题

(1)以下哪一个可以作为正确的变量名( )。 A.for

B.$abc

C.3*x

D._file

(2)以下哪一个不是正确的C语言常量( )。 A.0x2ac

B.3.25e-8 C.800

D.0486

(3)以下哪一个是合法的C语言实型常量( )。 A.3E2.5

B.E6 C.2A8

D.218

(4)以下哪一个整型常数值最大( )。 A.35 B.035

C.0x35

D.50

(5)以下不是字符型常量的是( )。 A.′m′

B.\

C.′\\115′ D.′\\x8c′

(6)以下哪一个字符与其他3个字符不相等( )。 A.′a′

B.′A′

C.′\\X41′ D.′\\101′

(7)以下哪一个是C语言合法的字符串常量( )。 A.I am a student.

B.\中国\C.′\\hello′

D.$abc$

(8)C语言中short型整数占2个字节,则unsigned short型数据的其值范围是:( )。 A.0~65535

B.0~65536

D.-65535~65535

C.-32768~32767

(9)在C语言中,数字018是一个( )。 A.十进制数 B.八进制数 C.十六进制数

D.非法数

(10)在C语言中,不同数据类型占用内存的字节长度是( )。 A.相同的 C.任意的

B.与编译环境有关的 D.由用户自己定义的

(11)以下哪一个不是C语言中的数据类型( )。 A.实型

B.浮点型 C.空类型 D.关系型

(12)以下哪一个是C语言中的数据类型( )。 A.集合型 B.双精度型 C.复数型 D.逻辑型 二、填空题

(1)C语言的常量分为:________常量、________常量、________常量、________常量和________常量。 (2) C语言中的整型数据有三种表示方法,分别是:________进制、________进制和________进制。 (3)C语言规定,变量必须________定义,________使用。

(4)C语言中,sizeof( )是分别是测定某种类型数据所占存储空间长度的________。

(5)C语言中,运算符的结合性有两种:左结合和右结合,左结合是________计算,右结合是________计算。 (6)C语言中,++i是先________,后________;i--是先________,后________。 (7)赋值运算符比逗号运算符的优先级别________。 (8)________运算符的优先级别最低,级别为15。

(9)C语言的类型转换有三种方式:________类型转换、________类型转换和________类型转换。 三、计算与编程题

(1)给出下列公式的C语言表达式。 ① y=ax2+bx+c

② y=ax+b/cx+d ③ 3.25×10+√(b2-4ac)-x2-y3 ④ y=1/2+2/3+(x2+y2)/(a2+b2)

8

⑤ 求表达式3*2+4.0/5?15%?4+(5*8/9+4)%5?1/2+1.0/2的值。 (2)上机运行本章例题,熟悉所用C语言编译系统的使用。

(3)用运算符sizeof( )测试以下数据类型在内存中所占空间的大小:char、unsigned char、int、short、long、unsigned、

3

unsigned short、unsigned long、float、double、long double,输出时一行输出一种数据类型的内存字节大小,并给出清晰的提示信息。

【参考答案】 一.选择题

(1) D (2) D (3) D (4) C (5) B (6) A (7) B (8) B (9) D (10) B (11) D (12) B 二.填空题

(1) 字符、整型、实型、字符串、符号 (2) 十、八、十六 (3) 先、后 (4) 运算符

(5) 从左到右、从右到左 (6) 加1、引用、引用、减1 (7) 高 (8) 逗号

(9) 自动、赋值、强制 三、计算与编程题 (1) ① y=a*x*x+b*x+c ② y=(a*x+b)/(c*x+d)

③ 3.25e8+sqrt(b*b-4*a*c)-x*x-y*y*y ④ y=1.0/2+2/3.0+x*x/(a*a)+y*y/(b*b) ⑤ 7.3 (2) 略 (3)

/* exe2-3-3.c */ #include int main() {

printf(\

printf(\ printf(\ printf(\ printf(\ printf(\

printf(\ printf(\ printf(\ printf(\

printf(\}

4

习 题 3

一.选择题

(1)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( ) A. a=a++,i++; B. i=(a+k)<=(i+k); C. i=a; D. i=!a;

(2) 若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,代表换行符) 1 2 A B C

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是() A. scanf(\B. scanf(\C. scanf(\D. scanf(\

(3)若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是()A. 3 5 B. 3,5 C. 3;5 D. 35

(4)若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为() A. 0和1 B. 0和20 C. 10和1 D. 10和20

(5)以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97) A.printf(“%c\\n”,’A’-32) B.printf(“%d\\n”,’A’); C.printf(“%c\\n”,65); D.printf(“%c\\n”,’B’-1); 二.填空题

(1) 有以下程序(说明:字符0的ASCII码值为48) void main(void) #include { (1) main()

a=50.0;b=20.0;

{ char c1,c2; printf(\scanf(\printf(\c2=c1+9;

printf(\printf(\printf(\}

}

若程序运行时从键盘输入48<回车>,则输出结果为将缺少的部分填在空白处。

____________。

(4)下列程序的输出结果是____________。 (2) 以下程序的输出结果为:____________。 #include main( )

main() { float a=3.14, b=3.14159; {

char a;

printf(\a='A';

}

printf(\(3) 编制程序对实数a与b进行加,减,乘,除计算,要求}

显示如下结果。 (5)分析下面程序 jia=70.000000 main() jian=30.000000 {

int x=2,y,z;

cheng=1000.000000 x*=3+2;printf(\chu=2.5000000 x*=y=z=4;printf(\程序:

x=y=1;

#include

z=x++-1;printf(\

5


朱昌杰 C语言程序设计课本习题解答 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新课标人教化学必修一第一章 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: