第一、二章 C语言概述及数据和运算
一、 单项选择题
1.以下关于C语言的特点,正确的是 。
A.表达能力强且灵活; B.可移植性好;
C. 提供了丰富的数据类型,允许程序员定义各种类型的变量指针和函数指针; D. 以上答案都对。
2.”a”在内存中占 字节。
A. 1个 B. 2个 C. 3个 D. 4个 3.?A?+10的结果是 。
A.?K? B.”K” C.?J? D.”J” 4. a=b+=c+5,若b=1,c=2,则a的值是 。
A.1 B.7 C.8 D.出错 5.下列合法的变量名是 。
A.123 B.next C.int D.*x 6.C源程序的基本单位是:
A.程序行 B.语句 C.函数 D.字符 7.字符型数据在微机内存中的存储形式是:
A.反码 B.补码 C.EBCDIC码 D.ASCII码 8. 用C语言编制的源程序要变为目标程序,必须经过:
A. 汇编 B.解释 C. 编辑 D.编译 9. 请选出可作为C语言用户标识符的一组标识符:
A.void B.a3_b3 C.For D.Za define _123 _abc DO
WORD IF case sizeof 10.设有语句char a=?\\73?;则变量a:
A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法 11.以下选项中正确的整型常量是:
A.12. B.-20 C.1,000 D.4 5 6 12若变量已正确定义并赋值,不符合C语言语法的表达式是:
A. a=a+7 B.a=7+b+c,a++ C.(int)(12.3)%4 D.a=a+7=c+b 13.以下选项中不合法的用户标识符是
A.abc.c B.file C.Main D.PRINTF 14.以下选项中正确的实型常量是
2
A. 0 B. 3.1415 C.0.329?10 D. .871 15.TURBO C中int类型变量所占字节数是:
1
A.1 B.2 C.3 D.4 16.下列说法不正确的是___________
A.C程序由若干个源文件组成,一个源文件由若干个函数组成。
B.#include和#define不是C语句。 C.APH和aph是两个不同的变量。
D.当输入数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。 17.scanf ( )函数的地址表列是用 符号加上变量名表示变量的地址。 A.% B.& C.# D.! 18.指出下面不正确的赋值语句是 A. a++; B. a= =b; C. a+=b; D. a=1,b=1; 19.指出下面正确的输入语句是 .
A. scanf (“a=b=%d”,&a,&b); B. scanf (“a=%d,b=%f”,&m,&f ); C. scanf (“<”,c); D. scanf (“%5.2f”, &f);
20.执行scanf (“%d%c%f”,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为 .
A. a=1234 b=?a? c=12.56 B. a=1 b=?2? c=341256 C. a=1234 b=?a? c=12.0 D. a=1234 b=?a12? c=56.0 21.执行scanf (“a=%d,b=%d”,&a,&b) 语句, 若要使变量a和b的值分别为3和4, 则正确的输入方法为 .
A. 3 ,4 B. a:3 b: 4 C. a=3,b=4 D. 3 4 22.设b=1234 , 执行printf(“%%d@%d”,b) 语句,输出结果为: . A. 1234 B. 34 C. %%d@1234 D. %d@ 1234 23.下列程序的执行结果是 .
main( )
{ char ch=?a?; printf(“%c\\n”,ch); printf(“,\\n”,ch); printf(“<\\n”,ch); }
供选择的答案是:
A. a B. ca C. a D. a a 2ca a aa a 3ca a aaa
24.下列程序的执行结果是 .
# include
{ int a=5; float x=3.14; a*=x*(?E?-?A?);
printf (“%f\\n”,(float)a); }
供选择的答案是:
A. 62.800000 B. 62 C. 62.000000 D. 63.000000
2
25.若输入2.50 ,下列程序的执行结果是__________
main( )
{ float r , area ;
scanf (“ %5.2f ” , & r ) ;
printf (“ area=%f \\n” , area=1/2*r*r ) ; }
A. 0 B. 3.125 C. 3.13 D. 程序有错 26.下列程序的执行结果是__________ main( )
{ int a=b=c=0 ;
c= (a- = a-5 ), ( a = b,b+5); printf(“%d,%d,%d\\n”,a,b,c); }
A 5,0,-10 B. 0,0,5 C. –10,5,-10 D . 5,0,5 27.若x是int型变量,y是float型变量,所用scanf语句为 scanf(“x=%d,y=%f”,&x,&y); 正确的输入操作是 。
A. x=10,y=66.6<回车> B. 10 66.6<回车>
C. 10<回车>66.6<回车> D. x=10<回车>y=66.6<回车> 28.设a,b均是int型变量,则以下不正确的函数调用为 。 A. getchar() B. putchar(?\\108?); C. scanf(“%d,-”,&a,&b); D. putchar(?\\?);
二、填空题
1.一个C源程序是由若干个函数构成,其中必须有一个是 函数。 2.286用C语言八进制表示是 。 3.21300用C语言十六进制表示是 。
4.若x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值是 。 5.C语言规定对所用到的变量要 。
6.函数体由 开始,由符号 结束。函数体的前面是 部分,其后是 部分。
7.在C语言中整数可用 进制数、 进制数和 进制数三种数制表示。 8.将c中的小写字母转换成大写字母的表达式是 。
9.将c中的数字字符码转换成对应的数字,可采用的方法是c= 。 10.若a=3,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y的值是 。 11.表达式3.5+1/2的计算结果是: 。
12.若k为int整型变量且赋值11。请写出运算k++后表达式得值a) 和变量的值b)
13.若x为double型变量,请写出运算x=3.2,++x后表达式的值a) 和变量的值b)
3
14.在C语言程序中,用关键字 定义基本整型变量,用关键字 定义单精度实型变量,用关键字 定义双精度实型变量。
15.C程序中定义的一个变量,代表内存中的一个 。 16.C语言的语句分为 语句和 语句两大类。 17.下列语句被执行后的执行结果是 。 int a=1;
printf (“%d\\\\%s\\\\%s”,a,”abc”,”def”);
18. getchar( ) 函数的作用是 。
19.执行下列语句后,用户输入123456abc,则a的值为 ,b的值为 , c的值为 。
main()
{ int a,b; char c;
scanf (“=-<”,&a,&b,&c) }
20.下面程序的输出结果是 。
# include
{ int i=10;
{ /* int i=20; */ i++;
printf (“%d”,i ++); }
printf (“%d\\n”,i ); }
21. 程序的三种基本结构是 、 、 。
22.下面程序运行后,从键盘输入30,则程序的输出结果是 。
main ( ) { int a ;
scanf(”%d”, &a ); a++;
printf (“a=%d,Ha=%x,Oa=%o”,a,a,a); }
23.执行( a=3.0+5,a*4 ), a+=-6; 变量a 及表达式的值分别为 ________________
24.数学表达式 的C语言表达式为_______________________
25.若变量已经定义,要将a与b中的数进行交换,正确的语句组是_____________________________________________
三、判断题:
1.C源程序是由多个函数组成的,程序的执行是按书写顺序进行的。( ) 2.一个C程序可以由一个文件组成,也可由若干文件组成。 ( )
4
3.C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1, 取得false值时,为0。 ( )
4.为了确保表达式n/2的值为float型,可写成float(n/2)。 ( ) 5.若有(float)x,则x变成float型变量。 ( ) 6.若a=3,b=4,c=5,则d=!(a%b)的值是0。 ( ) 7.变量xx和XX是一样的。 ( ) 8.C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。( ) 9.a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值 ( ) 10.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式( ) 11.执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0 ( ) 12.C程序由函数组成 ( ) 13.有a=3,b=5。执行a=b,b=a后,已使a的值为5,b的值为3。( ) 14.getchar( )和scanf()均为输入函数,它们之间可通用,没有任何区别。( ) 15.执行语句scanf(”%6.3f “ ,&a)后,输入123456可使a的值为123.456 。( ) 16.putchar()函数的作用是输出一串字符 。( ) 17.使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。( ) 18.在C中所用的变量必须先说明后使用 ( )
19.在 C 程序中,运算符%仅能用于整型数的运算 ( ) 20.# include和 # define不是C 语句 ( ) 21.C 程序的每一行结束都有一个” ; ” ( )
22.APH与aph 分别表示不同的变量 ( )
四、程序阅读题:
1.程序:main ( )
{ int a,b=68; a=-3;
printf(“\\ta=%d\\n\\tb=\\?%c\\?\\n\\”end\\”\\n”,a,b);
}
该程序的运行结果是: 2.程序:main()
{ int i,j; float a,b; char c; long m,n; i=5;j=-3; a=25.5;b=3.0; m=a/b; n=m+i/j; printf(“%d\\n”,n); }
5