C语言程序设计》练习题
一、单项选择题:
1.下列对C语言的特点叙述不正确的是:
A、运算符丰富  B、数据类型丰富  C、语法限制严格  D、执行效率高
2C源程序经编译后生成的目标文件扩展名是:
A.C  B.OBJ  C.EXE  D.BAK
3.下列数据类型中属于C构造类型的是:
A、长整型  B、双精度实型  C、枚举类型  D、共用体类型
4.下列属于C基本数据类型的是:
A、枚举类型  B、数组类型  C、结构体类型  D、共用体类型
5C程序中的数据01101表示:
A二进制数  B八进制数  C十进制数  D十六进制数
6C程序中的整型数据不能采用下列哪种表示方式:
A十六进制数  B十进制数  C八进制数  D二进制数
7下列C常量表示错误的是:
A'aabb'    B0xffff  C2012L    D2.0e0
8下列C常量表示正确的是:
A0800            B0xbcd          C1.0E-3.5            D'ABCD'
9下列标识符可选作C变量名的是:
AInput_port3  B3rd-day  C#data    Dπ
10.下列标识符可选作C变量名的是:
Ax/y  BNew_Value  C2ndDay    Dφ
11下列是C运算符的是:
A #  B   C     D "
12下列不是C运算符的是:
A #  Bsizeof( )  C     D
13下列C运算符的运算优先级最高的是:
A->    B*    C     D ++
14.列C运算符只能作一元运算符使用的是:
A+  B *  C&    D !
15.要向屏幕输出一个无符号整型数,应采用下列哪个格式字符:
A%d  B%c  C% u  D%x
16.要向屏幕输出一个八进制整型数,应采用下列哪个格式字符:
A%d  B%o  C%x  D%u
17能正确描述数学命题“x的绝对值小于10”的正确C表达式是:
A-10<x,x<10  B|x|<10    C–10<x&&x<10  D–10<x||x<10
18能正确描述数学命题“ab之和的绝对值大于3”的正确C表达式是:
A a+b<-3,a+b>3    B|a+b|>3        Ca+b<-3||a+b>3  Da+b<-3&&a+b>3
19.能正确描述命题“a是大于10而小于100的偶数C表达式是:
A10<a<100 && a%2 = =0              B10<a<100 && a/2 = =0
Ca>10 && a<100 && a%2 = =0        D a>10 && a<100 && a/2 = =0
20有数据定义:char  string[ ]="Computer",则表达式sizeof(string)的值是:
A8    B9    C10    D11
21设变量a=5b=2x=8.99y=3.2,则表达式:(float)(a+b)/2+(int)x%(int)y,的值是:
A2.0        B3.5    C5.0    D5.5
22a是整型变量,b是单精度实型变量,则下列C表达式不合法的是:
Ab+a    Ba*b    Cb%a    Db&&a
23有数据定义如下:
    float x=3.924,y=-12.377
若欲向屏幕输出如下格式信息
□□□□□3.924,□□□-12.377
则应使用下列哪条语句合适
Aprintf("%f,%f",x,y)
Bprintf("%.3,%.3f",x,y)
Cprintf("%10.3f,%10.3f",x,y)
Dprintf("%-10.3f,%- 10.3f",x,y)
24.下列有关C函数的叙述错误的是
AC只允许在主函数中定义其它函数体。
BC函数允许直接或间接的调用自身。
C、一个程序中同一个C函数允许多次重复声明,但不能重复定义。
D、一个完整的可执行C程序中,只能定义一个主函数。
25.下列不是C保留关键字的是:
Asigned    Bextern    Carray    Ddouble
26在程序中定义静态变量使用关键字:定义寄存器变量使用关键字:
Aauto    Bregister    Cstatic    Dextern
27.下列有关C函数叙述错误的是:
A、缺省类型声明时,C函数一律为void类型。
BC函数实参和形参间采取值的方式传递数据。
CC函数可以没有返回值。
DC函数可以自己调用自己。
28若三个整型变量x=5y=9z=3,则下列表达式的值为1的是:
Ay>x>z    Bx<y>z  Cz<y>x    Dz<x<y
29若三个整型变量x=3y=6z=9,则下列表达式的值为0的是:
Ax<y<z    Bz>y>x      Cx<y&&y<z      Dy>x||y>z
30下列C数据类型其表示的数值范围最大的是:所需存储空间最大的是:
Adouble    Bfloat    Clong      Dint
31.下列具有全局作用范围的C变量是:
A、自动变量    B、寄存器变量    C、外部变量      D、形参变量
32.若pa是整型指针变量,n是一个整型数,则下列表达式有意义的是:
Apa+n      Bpa*n    Cpa/n      Dpa%n
x25
y3+2
33.数学式子∶            C表达式可表示成
Ax *x-5/y *y *y+2      B (x *x-5)/( y *y *y+2 )
Cx2-5/y3+2            D (x2-5)/(y3+2)
34.在C程序中main函数的位置是(    ):
A、可在任意位置  B、必须在最前面  C、必须在最后    D、必须在中
35.下列有关指针的叙述错误的是:
A、若指针变量P的值为1000,则P++后,P的值为1001
B、函数名代表该函数的入口地址,数组名代表数组首地址。
C、指针变量的值可以以八、十、十六等整型格式输出。
D、函数可以返回一个指针。
36.下列有关指针的叙述错误的是:
A、指针不仅可以指向数据,也可以指向函数      B、指针可以加或减一个整数
Cvoid可以用来定义指针类型                D、两个指针间可以相加或相减
37下列定义中的pa是数组指针变量的是:是一个函数指针变量的是:
Aint  (* pa)[5]    Bint  * * pa    Cint  * pa[5]    Dint  (* pa)( )
38. 下列定义中pa不是一个指针变量的是:
Aint (* pa)[5]      Bint (* pa)( )
Cint * pa[5]        Dint * * pa
39.有输入语句∶scanf("%f%c%d%c" &a&b&c&d)
如输入数据流为:12.34a56.78b↙则字符型变量d的值是:
A 'b'      B ' 8'        C' 7 '      D '.'
40.有结构体类型及变量定义如下:
struct  date
  {  int  year
int  month
int  day
}today, *pd
若有语句“pd=&today;”则下列C表达式以表达式“(*pd).year=2008”等价的是:
Apd->year=2008          B*pd .year=2008   
Ctoday->year=2008      D(*today) .year=2008
41.只能使用在循环体中的C语句是:
Abreak    Bcontinue        C、复合语句      Dreturn
42.下列有关C数组的叙述正确的是:
A、在程序中不能定义超过三维以上数组。
B、数组元素下标从1开始。       
C、数组名表示数组的首地址。
D、同一数组中的元素类型可以不同。
43.下列有关C数组的叙述错误的是:
A、在程序中可以定义超过三维以上数组。
printf输出格式 无符号
B、数组元素下标从1开始。       
C、数组名表示数组的首地址。
D、同一数组中的元素类型必须相同。
44.有输入语句∶scanf("%d:%d:%d"&hour&minute&second)
则下列能正确输入数据到上述三个变量的是:
A12  20  30    B12,20,30      C12:20:30      D12<回车>20<回车>30<回车>
45.有共用体类型定义如下:
union  data
  {  char  c[6]
int  x
long  y
double  z
}
则该类型每个变量被分配的存储单元大小是:
A6    B2    C4      D8
二、填空题:
1.当定义的C函数无返回值时,则函数类型用关键字            说明。在C程序中函数直接或间接地调用该函数自身的过程,被称为           
2C程序的上机过程是,先通过            操作得到扩展名为.C的源程序,在再通过          操作得到扩展名为.OBJ的目标程序,最后通过连接操作得到扩展名为            的可执行程序。
3.定义C函数时不显示指明函数类型,则被一律按          类型处理。C函数实参与形参间的数据传递采用的是         
4C程序中的三种基本控制结构是