一、选择题
1. 设变量已正确定义并赋值,以下正确的表达式是( )。
答:C
【解析】赋值运算左边必须是单一变量名。A 项错误,部分是非法赋值。BD 两项错误,求余运算中的操作对象只能是整型。C 项,为逗号表达式。
2. 若要实现total=l+2+3+4+5求和,以下程序段错误的是( )。
A.
B.
C.
D.
答:A
【解析】A 项执行过程为:i=l,total=l,判断while 循环条件1<5成立,total=l+l,i=2; 判断循环条件执行函数体,直到i=4, total=l+l+2+3+4, i=5; i=5循环条件不成立,退出循环,A 项不能实现题目要求,错误。B 项执行过程:i=l,total=0,1<=5成立,total=0+l=l,i=2; 直到i=5,total=l+2+3+4+5,i=6; i=6条件不成立,退出循环,程序正确。C 项执行过程:
成
立,;
直到
成立,total=0, i=l;
直到条件不成立,退出循环,程序正确。D 项执行过程:
i=6; i=6条件不成立,退出循环,程序正确。
3. 设有定义
:用错误的是( )。
A. .
B.
C.
D.
答:A 若则对a 数组元素的引
【解析】长度为n 的数组其各个元素的下标应该是从0到n-1, 因此,长度为10的数组a , 第10个元素为A 项正确。 而不是
4. 若函数中有定义语句intk ;,则( )。
A. 系统将自动给k 赋初值0
B. 这时k 中的值无定义
C. 系统将自动给k 赋初值-1
D. 这时k 中无任何值
答:B
【解析】intk ;这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。
5. C 语言程序中,运算对象必须是整型数的运算符是( )。
答:C
【解析】模运算中不能出现浮点数,运算对象只能是整数。
6. 若有定义语句:且则错误的赋值是( )。
A. B. C. D.
答:A
【解析】二维数组名是指向指针的指针,故a 和q 都为指向指针的指针,而p 为指向int 类型的指针。A 项,将一个指向int 类型的指针指向一个指针的指针。
7. 下列叙述中正确的是( )。
A. 每个C 程序文件中都必须要有一个main 函数
B. 在C 程序中main 函数的位置是固定的
C.C 程序中所有函数之间都可以相互调用
D. 在C 程序的函数中不能定义另一个函数
答:D
【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。
8. 设有以下说明和语句:( )。
A. B.
C.
D.
答:A 【解析】
题目中表达式。则与表达式等价的选项是 是指向有4个元素的数组指针,a 为二位数组首地址,赋值给数组指针p 。是对数组a 第1行第3列元素的引用。是数组第1行第3列元素,
是B 项错误。是对数组第3行第1列元素的引用,
是数组第3行第1列元素,D 项错误。
库函数strcpy 的功能A
项正确。与题目中等价,对数组第1行第3列元素的引用,C 项错误。 9. 若有定义语句:
是复制字符串,以下选项中错误的函数调用是( )。
A. B. C. D.
答:A
【解析】题目中字符指针str3, 没有为指针开辟内存,能作为函数参数。
10.有以下程序
程序的运行结果是( )。