一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.1256
B.5634
C.5612
D.3456
【答案】B
【解析】第一次funl 传递参数5, 6,输出5, 6, 第二次调用fun2,fun2的作用是将全局变量a 变为3, b 变为4, 故输出3, 4。
2. 有以下程序:
程序运行后的输出结果是( )。
A.=
B.XXX
C.=XX
D.X=
【答案】A
【解析】主函数首先为结构体定义两个变量分别使用字符串拷贝函数strcpy ( )
因此输出为项正确。 为si 和s2的成员name 赋值,再将中的成员信息赋值给
3. 设有以下语句
则下面叙述中正确的是( )。
A.CIN 是stractTT 类型的变量
B.TT 是struct 类型的变量
C. 可以用TT 定义结构体变量
D. 可以用CIN 定义结构体变量
【答案】D
【解析】CIN 使用typedef 定义的类型名,可以用来定义结构体TT 类型的变量。
4. 有以下结构体说明、变量定义和赋值语句
则以下scanf 函数调用语句有错误的是( )。 A. B. C. D.
【答案】D 【解析】
5. 有以下函数:
不是地址,不能用于scanf 函数中。
程序运行后的输出结果是( )。
A.12345
B.23445
C.34756
D.35745
【答案】D
【解析】静态局部变量属于静态存储方式,它具有以下特点:①静态局部变量在函数内定义,它的生存期为 整个源程序;②静态局部变量只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在, 但不能使用它;③允许对构造类静态局部变量赋初值。若未赋以初值,则由系统自动赋以0值;④根据静态局部变量的特点,可以看出它是一种生存期为整个源文件的变量。虽然离开定义它的函数后不能使用,但如再次调用 定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。函数第一次调用时,会将数组a 变为 35345, 当第二次调用时,函数内的j 值为2, 所以会将数组a 的第三个元素更改为7, 所以最终结果为35745。
6. 有以下程序:
编译时编译器提示错误信息,你认为出错的语句是( )。
【答案】A
【解析】A 项,
7. 有以下程序段:是不正确的表达式; 若要给分别输入字母A 、B 、C , 则以下对输入形式的描述正确的是( )。
A. 字母A 、B 、C 之问可以用空格分隔
B. 字母A 、B 、C 之间不能有分隔符
C. 字母A 、B 、C 之间可以用回车符分隔
D. 字母A 、B 、C 之间可以用Tab 键分隔
【答案】B
【解析】在使用scanf 函数时要注意,在用格式输入字符时,分隔符(空格符、制表符