课外作业一
第1章 C语言概述
一、选择题
1.下列关于计算机语言的叙述中,正确的是_______。 A.在计算机语言中,只有机器语言属于低级语言 B.高级语言的源程序可以被计算机直接执行 C.C语言属于高级语言
D.机器语言是与所有机器无关的语言
2.源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是_______。 A.TEST.BAK和TEST.OBJ B.TEST.OBJ和TEST.EXE C.TEST.EXE 和TEST.C D.TEST.BAK和TEST.EXE 3.一个C程序的执行是从_______。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束 4.以下叙述正确的是_______。
A.在C程序中,main函数必须位于程序的最前面 B.程序的每行中只能写一条语句 C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 5.以下叙述不正确的是_______。
A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数
C.在C程序中,注释说明只能位于一条语句的后面 D.C程序的基本组成单位是函数 6.一个C语言程序是由_______。
A.一个主程序和若干子程序组成 B.函数组成
C.若干过程组成 D.若干子程序组成 7.关于C语言程序书写规则说法中正确的是_______。 A.程序语句必须占一行 B.不区分大小写 C.每行必须有行号 D.每条语句用分号结束 二、填空题
1.C源程序的基本单位是________,一个C源程序中必须包括一个________。 2.在一个C源程序中,注释部分两侧的分界符分别为________和________。
3.C语言源程序文件的后缀是________;经过编译后,生成文件的后缀是________;经过连接后,生成的文件的后缀是________。
1 / 8
课外作业一
第2章 数据类型、运算符和表达式
一、选择题
1.下面四个选项中,均是不合法的用户标识符的选项的是_______。
A.A p_o do B.float lao _A C.b-a goto int D._123 temp INT 2.以下选项中可以作为C语言中合法整数的是_______。
A. 10110B B. 0386 C. 0Xffa D. x2a2 3.以下选项中合法的实型常数是_______。
A.5E2.0 B.E-3 C.2E0 D.1.3E 4.以下选项中可作为C语言合法常量的是_______。
A.-80 B.-080 C.-8e1.0 D.-80.0e 5.下面四个选项中,均是合法转义字符的选项是_______。
A.'\\' ' \\\\' '\\n' B.'\\'' '\\017' '\\t' C.'\\018' ' \\f' '\\xab' D.'\\\\0' '\\101' 'x1f' 6.下面不正确的字符串常量是_______。
A.'abc' B.\’12\ C.\ D.\ \7.以下选项中不属于C语言的类型的是_______。
A.signed short int B.unsigned long int C.unsigned int D.long short 8.在C语言中,要求运算数必须是整型的运算符是_______。
A./ B.++ C.!= D.%
9.以下运算符中优先级最低的是_______,以下运算符中优先级最高的是_______。
A.&& B.<= C.|| D.== 10.若x = 2 , y=3,则x && y的结果是_______。
A.0 B.1 C.2 D.3 11.若x,i,j和k都是int型变量,则计算表达式x = ( i = 4 , j = 16 , k = 32 )后,x的值为_______。
A.4 B.16 C.32 D.52
12.若有定义:int a = 7 ; float x = 2.5 , y = 4.7 ; ,则表达式x + a % 3 * ( int )( x + y ) % 2 / 4的值是_______。
A.2.500000 B.2.750000 C.3.500000 D.0.000000
13.若有以下类型说明语句:char w ; int x ; float y ; double z ; ,则表达式w * x + z - y的结果为_______类型。
A.float B.char C.int D.double 14.已有定义:int x = 3 , y = 4 , z = 5 ; 则表达式!( x + y ) + z – 1 && y + z / 2的值是_______。
A.6 B.0 C.2 D.1 15.以下选项中非法的表达式是_______。
A.0 <= x < 100 B.i = j == 0 C.( char )( 65 + 3 ) D.x + 1 = x + 1
16.设a、b、c、d、m、n均为int型变量,且a = 5、b = 6、c = 7、d = 8、m = 2、n = 2,则逻辑表达式( m = a > b ) && ( n = c > d)运算后,n的值为_______。
A.0 B.1 C.2 D.3 17.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
A.'a' <= c <= 'z' B.( c >= 'a' ) || ( c <= 'z' )
2 / 8
课外作业一
C.( 'a' <= c ) and ( 'z' >= c ) D.( c >= 'a' ) && ( c <= 'z' )
18.若x和y代表整型数,以下表达式中不能正确表示数学关系|x―y|<10的是_______。
A.abs( x – y ) < 10 B.x – y > -10 && x – y < 10 C.!( x – y ) < -10 || !( y – x ) > 10 D.( x – y ) * ( x – y ) < 100 二、填空题
1.C语言中的标识符只能由三种字符组成,它们是_______,_______和_______。 2.在C语言中(以32位PC机为例),一个char型数据在内存中所占的字节数为_______,一个int型数据在内存中所占的字节数为_______,一个float型数据在内存中所占的字节数为_______,一个double型数据在内存中所占的字节数为_______。
3.有以下定义int m = 5,y = 2;则计算表达式y += y -= m *= y后的y值是_______。 4.若定义:int a = 2,b = 3;float x = 3.5,y = 2.5;则表达式( float )(a + b ) / 2 + ( int ) x % ( int ) y的值是_______。
5.x和n均为int型变量,且x的初值为12,n的初值为5,则计算表达式x %= ( n %= 2 )后x的值为_______。
6.设所有变量均为整型,则表达式( a = 2 , b = 5 , a++ , b++ , a + b )的值为_______。 7.a、b和c均是int型变量,则计算表达式a = ( b = 4 ) + ( c = 2 )后,a值为_______,b值为_______,c值为_______。
8.a是int型变量,且a的初值为6,则计算表达式a += a -= a * a后a的值为_______。 9.设y是int型变量,请写出判断y为奇数的关系表达式_______。
10.若a,b,c均为整型变量,则执行以下语句a = b = c = 0 ; a++ && ++b || c++ ; 后,a的值为_______,b的值为_______,c的值为_______。 三、程序阅读题
1.下面程序的运行结果是_______。 #include
char m ; m = 'B' + 32 ; printf( \ return 0 ; }
2.下面程序的运行结果是_______。 #include
int x = 3 , y = 5 ; printf( \ return 0 ; }
3.下面程序的运行结果是_______。 #include
int m = 0xabc , n = 0xabc ;
3 / 8
课外作业一
m -= n ; printf( \ return 0 ; }
4.下面程序的运行结果是_______。 #include
int x = 10 , y = 3 ; printf( \ return 0 ; }
5.下面程序的运行结果是_______。 #include
int i , j ; i = 8 ; j=10; printf( \ return 0 ; }
6.下面程序的运行结果是_______。 #include
int a = 1 , b = 2 , c = 3 ; printf( \ return 0 ; }
7.下面程序的运行结果是_______。 #include
int a = 2 , b=20 , c=30 , d ; d = ++a <= 10 || b-- >= 20 || c++ ; printf( \ return 0 ; }
4 / 8
课外作业一
第3章 标准设备的输入输出
一、选择题
1.设有定义:long x = 123456L ; ,则以下能够正确输出变量x值的语句是_______。
A.printf( \ B.printf( \C.printf( \ D.printf( \2.若有以下程序段
int m = 0xabc , n = 0xabc ; m -= n ;
printf( \
执行后输出结果是_______。 A.0X0 B.0x0 C.0 D.0XABC 3.已知char a = '\\103' ;则语句printf( \执行后的输出结果为_______。
A.67 B.'C' C. 67 D.103
4.已知a、b、c为int类型,执行语句:scanf( \,若要使得a为1,b为2,c为3。则以下选项中正确的输入形式是_______。
A. a=1 B.1, 2, 3 C.a=1, b=2, c=3 D.1 2 3 b=2 c=3
5.已知i、j、k为int型变量,若从键盘输入:1,2,3↙,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是_______。
A.scanf( \ B.scanf( \ %d %d\C.scanf( \ D.scanf( \6.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是_______。
A.INPUT x、y、z;
B.scanf( \C.scanf( \D.read( \
7.若有int a ; float b ; scanf( \使a、b的值分别为30和5.5,则正确的输入是_______。
A.30 5.5 B.30, 5.5 C.a=30, b=5.5 D.a=30 b=5.5 8.根据以下定义语句和数据的输入方式,scanf语句的正确形式应为_______。
已有定义:float f1 , f2 ; 数据的输入方式:4.52↙ 3.5↙
A.scanf( \B.scanf( \
C.scanf( \ %2.1f\D.scanf( \
9.以下针对scanf()函数的叙述中,正确的是_______。
A.输入项可以为一实型常量,如scanf( \
B.只有格式控制,没有输入项,也能进行正确输入,如scanf( \
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如:scanf( \
5 / 8