一、选择题
1. 下列定义变量的语句中错误的是( )。
A.doubleint_;
C.charFor ; D.int_int;
答:B
【解析】符号,不能出现在标识符中。
2. 设有定义:
若变量均已正确赋初值,则以下语句中错误的是( )。
答:A
【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。
3. 关于C 语言的变量名,以下叙述正确的是( )。
A. 变量名不可以与关键字同名 B. 变量名不可以与预定义标识符同名 C. 变量名必须以字母开头 D. 变量名是没有长度限制的 答:A
【解析】合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。关键字是指被C 语言保留的,不能用作其他用途的标识符,它们在程序中都代表着固定的含义,用户不可重新定义,A 项正确。预定义标识符是系统已经有过定义的标识符,用户可以重新定义,所以可以作为变量名,B 项错误。变量名除了以字母开头以外,还可以以下划线开头,C 项错误。变量名没有长度限制,但不可超过编译器可以辨识的范围,D 项错误。
4. 有以下程序:
程序运行后的输出结果是( )。 A.3344 B.2050 C.3040 D.0304 答:C
【解析】本题中main 函数的主体是一个for 循环语句,for 循环中包含一个switch 语句,如果判断条件为0,则进入第二个switch 语句,如果为1, 则执行一。执行过程如下所示,
最后将数组顺序输出。程序将
数组中的奇数项置为0, 偶数项位置,如果对应的元素为偶数则加1,如果对应的元素为奇数则减
5. 有以下程序:
程序运行后的输出结果是( )。 A.1, 2, 1, 2 B.1, 2. 2, 1 C.2, 1, 2, 1 D.2, 1. 1, 2 答:B
【解析】本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针
进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
6. 若有定义
答:C
则执行表达式
后a 、b 、c 的值依次为( )。
【解析】根据优先级规则,II 两边都是括号,则从左至右执行括号中的表达式,将的值
赋值给a ,即a 为5, 不为0, 则右边的括号不需要再执行。
7. 有以下程序段:
当执行上述程序段,并从键盘输入:name=Lilinum=1001后,name 的值为( )。 A.Lili
B.name=Lili C.Lilinum=
D.name=Lilinum=1001 答:A
【解析】在C 语言中输入多个字符串时,系统会把空格字符作为输入的字符串之间的分隔符。本题中,由于输入两个变量,所以中间应该以回车键为间隔,当从键盘输入name=Lilinum=1001只是输入第一个变量,并且只将Lili 赋值给了name 。
8. 以下选项中能表示合法常量的是( )。
A. 整数:1,200 B. 实数:
1.5E2.0
答:D
【解析】A 项错误,表达错误;B 项错误,E 后面应为整数,不能是小数;C 项错误;字符斜杠的表示方法
正确。
9. 下列叙述中正确的是( )。
A. 每个C 程序文件中都必须要有一个main 函数 B. 在C 程序中main 函数的位置是固定的 C.C 程序中所有函数之间都可以相互调用 D. 在C 程序的函数中不能定义另一个函数
因为第一个\表示是转义字符;D 项正确,表示空字符串,
第一个字符为