- 77
- 0
- 约2.08万字
- 约 15页
- 2022-07-08 发布于上海
- 举报
C语言一维数组编程题PTA 2022/7/7
C语言一维数组编程题PTA
一、选择题 (请在 【答题】菜单上选择 【选择题】命令,启动选择题测试程序,按
照题 上的内容进行答题。作答选择题时键盘被封锁,使用键盘无效,考生须使用
鼠标答题。选择题部分只能进入一次,退出后不能再次进入。选择题部分不单独计
时。)
1、以下叙述中正确的是 ( )。
A . 如果企图通过一个空指针来访问一个存储单元,将会得到一个出错信息
B. 即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同
C . 设变量p是一个指针变量,则语句p=0;是非法的,应该使用p=NULL;
D. 指针变量之间不能用关系运算符进行比较
『正确答案』
A
『答案解析』
空指针意味着该指针没有指向任何具体的变量,所以不能访问一个存储单元,A 正确。指针的赋值运算只能在同一数据类型
之间进行,故选项B错。语句p=0和p=NULL是一样的,都是把一个空指针赋给指针变量p,故选项C错。指针之间能进行关系
运算,比较的是地址值的大小,选项D错。答案选择A 选项。
2、有以下程序
#include stdio.h
main )
{
int a=-1, b=-1;
for ; ++a;)++b;
printf %d,%d\n, a, b);
}
程序运行后的输出结果是 ( )。
A . 0,-1
B. 0,0
C . -1,-1
D. 结果不确定
『正确答案』
A
『答案解析』
这是对for循环的基本考查,C语言中for循环的形式:for 表达式1;表达式2;表达式3),本题中表达式1和表达式3为空语句。
程序执行过程为:定义整型变量a、b并赋初值,执行for循环,执行控制语句++a,a先自增变为0再使用,不满足控制条件,
跳出循环。因此b并未改变,最后输出0,-1。答案选择A 选项。
3、以下叙述中错误的是 ( )。
A . 当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
B. 函数可以返回地址值
C . 改变函数形参的值,不会改变对应实参的值
D. 可以给指针变量赋一个整数作为地址值
『正确答案』
D
『答案解析』
A 项正确,NULL是在头文件stdio.h中定义的符号常量;B项正确,函数的返回值可以是地址,即指针;C项正确,函数调用中
形参值的变化不会传递给实参;D项错误,不能将一个整数直接赋给指针变量作为地址,只能用取地址运算符“”把该整型变
量的地址赋值给该指针变量。答案选择D选项。
4 、以下能正确表述算式 sin 2πr+30°)的C语言表达式是 ( )。
编号:069e27bbb9313daa5db79c3954173313 1
C语言一维数组编程题PTA 2022/7/7
A . sin 2*π*r+30)
B. sin 2*3.14*r+30)
C . sin 2*3.14*r+3.14*30/ 180.0)
D. sin 2*3.14*r+30*3.14/360.0)
『正确答案』
C
『答案解析』
C项正确。sin是库函数,其参数中的角度要求用弧度制表示。C语言中π不是已定义的常量,需要用户自定义或者直接使用
3.14代替π。A 项未替换π也没有将30度换算成弧度,错误。B项没有将30度换算成弧度,错误。D项弧度换算错误,π对应于
180° ,应该除以180.0而不是360.0 。答案选择C选项。
5、有以下程序
#include stdio.h
main )
原创力文档

文档评论(0)