现在的位置: 首页 > 14 二级C语言 > 正文

2011春 C语言 选择题(10分)

2011年09月13日 14 二级C语言 ⁄ 共 1792字 ⁄ 字号 暂无评论

第1页是真题,第2页是简要的解答提示,第3页是解题分析和答案。强烈建议先尝试自己完成,或者借助第2页的解答提示来完成,实在不明白再看答案。

21 以下关于预处理命令的叙述中错误的是___(21)_____ 。
A.预处理命令由预处理程序解释
B.程序中的预处理命令是以#开始的
C.若在程序的一行中出现多条预处理命令,这些命令都是有效的
D.预处理命令既可以出现在函数定义的外部,也可以出现在函数体内部

22 有如下程序段:
char p1[80]=”NanJing",p2[20]=“Young",*p32=”Olympic”;
strcpy(p1,strcat(p2,p3));
printf(“%s\n”,p1);
执行该程序段后的输出是______(22)______
A.NanJingYoungOlympic B.YoungOlympic
C.Olympic D.NanJing

23 已知有声明”int x[2][3]={0},*p=x[0];”,以下表达式中有语法错误的是__(23)____ ·
A.x[0]=1 B.p[0]=1 C.*p=1 D.x[0][0]=1

24 程序中已有预处理命令引入了数学库 math.h 和声明”char x=4,y,*z;”,以下表达式中能通过编译且无警告信息的是___(24)___
A.y=sqrt(x)%2 B.y=“x” C.y='x’+1 D.y=&'x’

25.已知有定义和声明:
struct {
int x;
} a[4]= {{1},{1},{4},{6}}, b;
以下语句中语法正确的是___(25)___ 。
A.if (a[0]==a[1]) b=a[0]; B.if (a[0].x==a[1].x) b=a[0];
C.if (a[0]->x==a[1]->x) b=a[0]; D.if (!(a[0]-a[1])) b=a[0];

26.已有声明”int x,a=3,b=2;”,则执行赋值语句”x=a>b++?a++:b++;”后,变量x、a、b的值分别为___(26)___ 。
A.3 4 3 B.3 3 4 C.3 3 3 D.4 3 4

27.下面选项中可用作变量名的是___(27)___
A.Case B.a-b C.$cd D.2ab

28.执行以下程序后的结果是___(28)___ 。

1
2
3
4
5
6
7
8
#include<stdio.h>
void main()
{
    int x=3;
    do {
        printf("%d\t",x=x-3);
    } while(!x);
}

A.输出一个数:0 B.输出一个数;3
C.输出2个数:0和-3 D.无限循环,反复输出数

29.以下关于C语言函数的叙述中,正确的是___(29)___ 。
A.在一个函数体中可以定义另一个函数,也可以调用其他函数
B.在一个函数体中可以调用另一个函数,但不能定义其他函数
C.在一个函数体中不可调用另一个嚣数,也不能定义其他函数
D.在一个函数体中可以定义另一个函数,但不能调用其他函数

30.设有声明”int a=4,b=3,c=5;”,以下4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是___(30)___ 。
A.if (a>b) c=a,a=b,b=c;
B.if (a>b) {c=a,a=b,b=c;}
C.if (a>b) c=a;a=b;b=c;
D.if (a>b) {c=a;a=b;b=c;}

抱歉!评论已关闭.