1.以下选项中不正确的整型常量是(D). (2分)
A.12L
B.-10
C.012
D.2,900
//u是unsigned的意思,代表无符号整型带L的是长整型字面值常量,不带的是整型字面值常量。
2.若B)。
(2分)
A 2.5
B 2.0
C 2
D 3
3.在C语言中,数字029是一个(D )。
(2分)
A.八进制数
B.十进制数
C.十六进制数
D.非法数
//0开头表示8进制,但8进制没有字符9的。
0x开头表示十六进制。
4.以下名字,不能作为C语言标识符的是:C (2分)
A.ThisIsQingdaoUniversity
B.$$
C.monkey~1
D._
//c语言也是要看编译器的,在vs2012中默认的编译器以美元符号开头的标识符是可以的。
5.if(a=5) 是允许的。
T (1分)
T F
//if判断为真。
6.增1减1运算符的前缀运算和后缀运算的表达式值是相同的。
(1分)
T F
//表达式值不一样,执行过后变量值一样。
7.C语言程序是从源文件的第一条语句开始执行的。
F (1分)
T F
//从main开始。
8.break语句只能用于循环语句中。
F (5分)
T F
//switch语句也可用。
9.1。
T (5分)
T F
//真为1,假为0,无论 (3<x) 是真是假都小于 5.
10.结构化程序设计规定的基本控制结构包括顺序、选择、循环。
T (1分)
T F
11.当a=1,b=3,c=5,d=4,x=0 时,执行完下面一段程序后x的值是(B)(1分)
A.7
B. 2
C. 3
D. 6
12.在C语言中,要求运算数必须是整型的运算符是(A)。
(4分)
A.%
B./
C.<
D.!
13.使用“scanf("X=%f,y=%f",&x,&y)”,要使 X,y均为1.25,正确的输入是( C ) (4分)
A. 1.25,1.25
B. 1.25 1.25
C.X=1.25,y=1.25
D.X=1.25 y=1.25
//格式一致
14.如果函数定义出现在函数调用之前,可以不必加函数原型声明。
T (1分)
T F
//1,要么是先使用,就不需要再定义函数了
例如:
void p()
{
//
}
void main()
{
p();
}
....
2,先定义再使用,这时候,必须先要定义函数,不然编译器不识别此函数的
void p();
void mian()
{
p();
}
void p()
{
//
}
//
15.有说明语句__。
(2分)
A.
B.
C.
D.
16.对于定义0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是:C (2分)
A.12 ,13
B. 3 ,11
C. 3 ,9
D. 3 ,4
//\n\0在字符串中占一个字符 \000后面八进制数表示ascii的符
号。
17.有两个字符数组a,b,则以下正确的输入语句是(B) (1分)
A.
B.
C.
D.
//不要地址符。
18.静态变量的作用域是整个文件。
F (2分)
T F
//
对于C语言,静态变量也分全局静态变量和局部静态变量,对于全局静态变量,它的作用域是整个文本。
但是如果是局部静态变量则它的作用域仅仅是定义它的区域。
19.根据声明C)。
(2分)
A.a[9]
B.p[5]
C.a++
D.*p++
//D a是常量不能自增
20.__。
(2分)
A.
B.
C.
D.
//scanf("%d",p->age);这个是错误的,因为scanf输入时,要将值放到地址里,所以要加上&,&表示取址。
scanf("%s",pup[0].name);这一项是正确的,因为name本身就是字符数组,所以它的数组名就是字符串的首地址,所以符合要求;
scanf("%d",&pup[0].age); c)scanf("%d",&(p->sex));这两项也是正确的,解释和第一项一样。
21.在基类型相同的两个指针变量之间,不能进行的运算是(D)。
(2分)
A.<
B.=
C.+
D.–
//指针存的是内存的地址值, 假如两个指针, 一个指向0x80008000, 一个指向0x80008020;
A: 可以判断这两个指针哪个指向后面, 哪个指向前面.
B: 判断两个指针是否指向同一块内存地址
C: 指向相加, 那么大个数代表什么? 可能都越界了内存区域.
D: 相减得到两个指针的差值. 即他们之间相差多少.
22.以下哪个定义中的 C (2分)
A.
B.
C.
D.
//*p[10]是指针数组,其每个元素是指针。
23.直接访问就是直接利用变量的地址直接进行访问。
T (2分)
T F
//1.直接访问
按照C的方式,如果定义一个变量,系统会给这个变量分配一块内存,变量有两个属性,变量值和变量地址。
变量地址指示了该变量在内存中的存储位置,变量值是这块内存中的内容。
要访问这块内存空间上的内容,可以直接使用变量名。
2.间接访问
间接访问的含义是先从其它内存空间获得要访问的内存地址,根据得到的地址访问目的地址。
我来打个比方吧:
a. 直接访问某个地址,就相当于你知道某个物品放在某个抽屉里,然后你去那个抽屉,然后访问你的物品。
b. 间接访问就是,你知道某个抽屉放着一个纸条,纸条写着:某某物品存放于某某另外一个抽屉。
这样的话
a里面的抽屉,就是变量,
b里面存放纸条的抽屉,就是指针,指针的值,就是那个纸条,纸条指向另外一个抽屉(变量),另外一个抽屉存放的东西,就是一个变量的值。
24.函数的实参可以是常量,变量或表达式。
T (1分)
T F
25.在C 语言中,常量和变量都有数据类型。
T (1分)
T F
//常量:数值、字符、字符串。
则下面描述中正确的是(C)。
(2分)
A. 10 次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
//赋值表达式的返回值为赋值符号右边的值。
m=0返回给while的是0,即假。