好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计教程第四章练习题解析(1)

天下 分享 时间: 加入收藏 我要投稿 点赞

单选题

1关于C语言中的函数,下列描述正确的是(

)

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的嵌套均不可以嵌套 D. 函数的定义和函数的调用均不可以嵌套

答案: B 解析:函数的定义不可以嵌套,但函数的调用可以嵌套 2、 个

A. 3 B. 4 C. 5 D. 6 答案: A

解析: (v1, v2) , (v3,v4,v5) 和 v6 一共三个实参

3、 关于C语言中print()函数与scanf()函数,下列描述中正确的是(

A. printf() 函数可以向任何地方输出数据 B. printf() 只向控制台输出数据 C. scanf() 只能输入英文字母和数字 D. scanf() 函数可以识别输入的空格 答案: B

解析: printf() 是向控制台输出的函数 4、

) A. extern B. static C. this D. auto 答案: B

解析:在定义内部函数时,需要在函数的返回值类型前面添加

态函数)。

5、 当调用时,会调用内部函数

A. 当调用时,会调用内部函数 B. 当调用时,会调用外部函数

C. 当调用时,会调用两次,先调用内部函数再调用外部函数 D. 都不调用,会报错 答案: A

解析:当内部函数与外部函数重名时,会优先调用内部函数 6、 在C语言中,声明外部函数需要添加的关键字是(

定义一个函数: exce((v1, v2), (v3,v4,v5),v6); 在该函数调用时,实参的个数为 ( )

)

在C语言中,内部函数需要添加的关键字是(

static 关键字(又称为静

)

A. extern B. static C. this D. auto

答案: A 解析:声明外部函数的方式是在函数的返回值类型前面添加 extern 关键字 7、 关于C语言中的局部变量,下列描述中错误的是(

A. 局部变量就是在函数内部声明的变量 B. 局部变量只在函数内部有效

C. 局部变量只有当它所在的函数被调用时才会被使用 D. 局部变量一旦被调用,其生存周期持续到程序结束 答案: D 解析:当函数调用结束时局部变量就会失去作用 8、 关于C语言中的全局变量,下列描述中正确的是(

A. 全局变量的作用域一定比局部变量的作用域范围大 B. 静态类别变量的生存周期贯穿于整个程序的运行期间 C. 函数的形参都属于全局变量

D. 未在定义语句中赋初值的 auto变量和static 变量的初值都是随机值 答案: B

解析:选项 1 不对:如果程序中只有一个主函数,则在整个程序运行中,局部变量都在起 作用; 选项3不对:除了 C++勺引用类型参数,所有函数的形参都是局部变量; 选项 4 不对: static 变量定义时就存储地全局区,初始化为 0; 9、 当全局变量与局部变量重名时,那么在调用时(

A. 局部变量会被屏蔽 B. 全局变量会被屏蔽 C. 都不会调用,系统会报错

D. 会调用两次,先调用局部变量,再调用全局变量 答案: B

解析:当局部变量与全局变量重名时,全局变量会被屏蔽。 10、 在C语言中,关于变量的作用域,下列描述中错误的是(

A. 局部变量只在整个函数的运行周期中有效 B. 全局变量的作用域为整个程序的运行周期

C. 当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量 D. 全局变量会覆盖掉所有与它重名的局部变量 答案: D

解析:当全局变量与局部变量重名时,全局变量会被屏蔽掉 11、

中,如果在一个函数的复合语句中定义了一个变量,则该变量(

A. 只在该复合语句中有效,在该复合语句外无效 B. 在该函数中任何位置都有效 C. 在本程序的原文件范围内均有效 D. 此定义方法错误,其变量为非法变量 答案: D

解析: 1、 2 与 3 错:函数复合语句中定义的变量在该复合语句中引用;但如果函数含有该 变

量,则在函数中可以引用该变量

4对:在C+冲在复合语句中定义变量为合法,但在 12、 C 语言程序的基本单位是(

在C语言)

C语言中是非法的

)。

A. 程序行 B. 语句 C. 函数 D. 字符 答案: C

解析:函数是C语言程序的基本单位 13、 C语言中决定函数返回值的类型的是(

A. return 语句中的表达式类型 B. 调用函数的主调函数类型 C. 调用函数时临时

D. 定义函数时所指定的函数类型 答案: D

解析:函数的返回值取决于定义函数时指定的返回值类型 14、 若有函数调用语句: fun(a+b, (x,y), fun(n+k,d,(a,b))); 的个数是( )。

A. 3 B. 4 C. 5 D. 6 答案: A

解析: a+b 返回一个值, (x,y) 返回一个值, fun(n+k,d,(a,b)) 返回一个值。 15、

x、 y、 z 被定义为 int 型变量,若从键盘给 x、 y、 z 输入数据, 正确的输入语句是 ()。

A. input x,y,z;

B. scanf(\C. scanf(\D. read(\答案: B

解析:读取键盘输入的数据要用 scanf() 函数, scanf() 中的参数要传入变量的地址 16、 若变量已正确说明为 float 类型,要通过语句 scanf(\给 a 赋 予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(

A. 10 22 33 B. 10.0,22.0,33.0 C. 10.0 22.0 33.0 D. 10; 22 ; 33 答案: B

解析:用 scanf() 读取从键盘输入的数据时,中间不能加逗号,要用空格隔开

17、 若有定义: int x,y; char a,b,c; 并有以下输入数据 (此处 \%u 代表空格) : 1\%u2\%uA\%uB\%uC , 那么能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程 序段是( )。

A. scanf(\B. scanf(\C. scanf(\

)。

在此函数调用语句中实参

)。

7o1574q0z99jajr88ky455t2h95x5500we4
领取福利

微信扫码领取福利

微信扫码分享