1. 一个C程序的执行是从( )。
(A)本程序的main函数开始
(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
(C)本程序的main函数开始,到本程序文件的最后一个函数结束
(D)本程序文件的第一个函数开始,到本程序main函数结束
2. 设有C语句:int x=3, y=4,z=5;,则下面表达式中值为0的是( )。
(A)x&&y (B)x<=y
(C) x||y+z&&y-z (D)!((x<y )&& !z||1))
3. 以下有关宏替换的叙述不正确的是( )。
(A)宏替换不占用运行时间 (B)宏名无类型
(C)宏替换只是字符串替换; (D)宏替换是在运行时进行的
4. 在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是( )。
(A)一个整型变量,代表要读入的数据总数
(B)一个文件指针,指向要读的文件
(C)一个指针,指向读入数据存放的首地址
(D)一个存储区,存放要读的数据项
5. 位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于( )。
(A)操作数乘以2 (B) 操作数除以2
(C) 操作数除以4 (D) 操作数乘以4 字符串常量在存储时末尾以什么结束
6. 下面程序运行后,变量m的值为( )。
#include<stdio.h>
void main()
{ int m, n, k;
m=(n=4)+(k=10-7);
printf(〞m=%d\n”,m);
}
(A)4 (B) 3 (C) 7 (D)14
7. 下面程序运行结果(或出现的情况)是( )。
#include<stdio.h>
void main()
{ int x=3,y=0,z=0;
if (x=y+z)
printf(〞****〞);
else
printf(〞####\n〞);
}
(A)有语法错误不能通过编译
(B)输出:****
(C)可以通过编译,但不能通过连接,因而不能运行
(D)输出:####
8. 已有定义int k=2; int *ptrl, *ptr2,且ptr1和ptr2 均已指向变量k,下面不能正确执行的赋值语句是( )。
(A)k =*ptr1+*ptr2; (B) ptr2 = k;
(C) ptr1=ptr2; (D) k = *ptr1*(*ptr2);
9. 若有已经建好的链表结构如下,指针平p、q分别指向图示节点(b节点为插入c节点前的链表末尾);
a b ∧ c
p q
不能实现将q所指节点插入到链表末尾的一组语句是( )。
(A)q->next = NULL; p=p->next; p->next=q;
(B)p=p->next;q->next=p->next; p->next=q;
(C)p= p->next;q->next=p; p->next=q;
(D)p= (*p).next; (*q).next = (*p).next; (*p).next = q;
10. 有定义int a=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,c的值分别为( )
(A)3 4 5 (B) 4 3 5 (C) 4 4 4 (D) 4 4 5
11. 下列程序的执行结果是( )。
#include<stdio.h>
union ss
{ short int i;
char c[2];
};
void main ()
{ union ss x ;
x.c[0]=10;
x.c[1]=1;
printf(〞%d〞,x.i);
}
(A)11 (B) 266 (C) 265 (D) 138
12. 若有C语言int i = 10;,则执行下面程序段后变量i 的值是( )。
switch (i)
{ case 9: i+=1;
case 10:
case 11: i-=1;
default: i+=1;
}
(A)10 (B) 11 (C) 12 (D) 9
13. 在下列选项中,不正确的赋值语句是( )。
(A)t/=5; (B) n1=(n2=(n3=0)); (C) k=i= = j; (D) a=b+c=1;
14. 下面C程序运行后变量x的值是( )。
#include<stdio.h>
void main()
{ int a,b,c,x;
a=b=c=0; x=35;
if(!a)
x--;
else if(b)
;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论