C语言全部章节习题集(本) 下载本文

内容发布更新时间 : 2024/11/17 18:58:55星期一 下面是文章的全部内容请认真阅读。

C语言程序设计》

练习册

专 业:____________ 班 级:____________ 学 号:____________ 学生姓名:________ _ 任课教师:______ ___

计算机学院基础教研室编制

- 1 -

1 C语言概述

一、单项选择题

1、一个C程序的执行是从( )。

A.本程序的main函数开始,到main函数结束

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束 2、在 C 语言中,每个语句必须以( )结束。 A. 回车符 B. 冒号 C.逗号 D.分号

3、C 语言规定:在一个源程序中,main函数的位置( )。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 4、一个C 语言程序是由( )。

A. 一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 5、下列说法中错误的是( )。

A.主函数可以分为两个部分:主函数说明部分和主函数体 B.主函数可以调用任何非主函数的其他函数 C.任何非主函数可以调用其他任何非主函数 D.程序可以从任何非主函数开始执行

6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。

A. 生成可执行目标文件 B.生成目标文件 C.输出运行结果 D.自动保存源文件

二、填空题

1、C 语言只有 个关键字和 种控制语句。

2、每个源程序有且只有一个 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 符号作为开始标记,以 符号作为结束标记。

4、C 语言中,输入操作是由库函数 完成的,输出操作是由库函数 完成的。 5、系统默认的C 语言源程序文件的扩展名是 ,经过编译后生成的目标文件的扩展名是 ,经过连接后生成的可执行文件的扩展名是 。 6、C 语言的标识符只能由字母、数字和 三种字符组成。

- 2 -

三、判断题

( )1、C源程序是由多个函数组成的,程序的执行是按书写顺序进行的。 ( )2、一个C程序可以由一个文件组成,也可由若干文件组成。 ( )3、变量xx和XX是一样的。

( )4、C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 ( )5、简单的C程序由函数组成。

( )6、C 程序的每一行结束都有一个\。

3 数据类型、运算符与表达式

一、单项选择题

1、以下选项中,不正确的 C 语言浮点型常量是( )。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,( )是不正确的 C 语言字符型常量。 A. 'a' B. '\\x41' C. '\\101' D. \

3、 在 C 语言中,字符型数据在计算机内存中,以字符的( )形式存储。 A.原码 B.反码 C. ASCII 码 D. BCD码

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( )。 x=(i=4,j=16,k=32)

A. 4 B. 16 C.32 D.52

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算

3ae6、若有代数式bc ,则不正确的C语言表达式是( )。

A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*3

7、表达式!x||a==b 等效于( )。

A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) 8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( )。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 9、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( )。 A. 3 B. 0 C. 9 D. -12

10、在以下一组运算符中,优先级最低的运算符是( )。 A. * B. != C. + D. =

11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( )。 A. 6 B. 12 C. 15 D. 表达式出错

- 3 -

12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( )。 A. 1 B. 2 C. 2.0 D. 2.5 13、sizeof (double)的结果值是( )。 A. 8 B. 4 C. 2 D. 出错

14、设a=1,b=2,c=3,d=4,则表达式:a

15、设a 为整型变量,不能正确表达数学关系:1010 && a<15 D. !(a<=10) && !(a>=15) 16、设 f是实型变量,下列表达式中不是逗号表达式的是( )。

A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 17、 表达式18/4*sqrt(4.0)/8值的数据类型是( )。 A. int B. float C. double D. 不确定 18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是( )。

A. D B. 68 C. 不确定的值 D. C 19、以下用户标识符中,合法的是( )。

A. int B. nit C. 123 D. a+b

20、C 语言中,要求运算对象只能为整数的运算符是( )。 A. % B. / C. > D. *

21、若有说明语句:char c='\\72';则变量c在内存占用的字节数是( )。 A. 1 B. 2 C. 3 D. 4 22、字符串\在内存占用的字节数是( )。 A. 3 B. 4 C. 6 D. 8

23、要为字符型变量 a赋初值,下列语句中哪一个是正确的( )。

A. char a=\ 24、下列不正确的转义字符是( )。

A. \\\\ B. \\' C. 074 D. \\0

二、填空题

1、C 语言中的逻辑值“真”是用 表示的,逻辑值“假”是用 表示的。 2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 。

3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 、 、 、 。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 。 5、判断变量 a、b 的值均不为 0 的逻辑表达式为 。

6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 。 7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为 。

- 4 -

8、数学式a/(b*c)的 C 语言表达式 。

三、判断题

( )1、C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1, 取得false值时,为0。

( )2、为了确保表达式n/2的值为float型,可写成float(n/2)。 ( )3、若有(float)x,则x变成float型变量。 ( )4、若a=3,b=4,c=5,则d=!(a%b)的值是0。

( )5、a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值 ( )6、在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式

( )7、 执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0

( )8、有a=3,b=5。执行a=b,b=a后,使a的值为5,b的值为3。

( )9、 getchar( )和scanf()均为输入函数,它们之间可通用,没有任何区别。 ( )10、执行语句scanf(\后,输入123456可使a的值为123.456 。 ( )11、 putchar()函数的作用是输出一串字符 。

( )12、 使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。 ( )13、在C中所用的变量必须先定义后使用。

( )14、在 C 程序中,运算符%仅能用于整型数的运算。 ( )15、APH与aph 分别表示不同的变量。

( )16、设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y的值。

( )17、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。 ( )18、C语言中无逻辑变量,也无逻辑表达式。

四、编程题:

1、 设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和面积。

2、 编写一个程序,将大写字母 A转换为小写字母 a。

- 5 -