针对上一次学习内容继续 我们针对学习的C语言知识-进行学习练习以检验学习效果。
1、以下程序有错,错误原因是
main(){
int *p,i;
char *q,ch;
p=&i; q=&ch; *p=40;
p=q;
...... }
A. p和q的类型不一致,不能执行*p=*q;语句
B. *p中存放的是地址值,因此不能执行*p=40;语句
C. q没有指向具体的存储单元,所以*q没有实际意义
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
2、请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));
A. 5
B. 14
C. 8
D. 输出项不合法,无正常输出
3、设有以下语句:char x=3,y=6,z; z=x^y<<2; 则z的二进制值是
A. 00010100
B. 00011011
C. 00011100
D. 00011000
4、在16位IBM-PC机上使用C语言,若有如下定义
struct data{
int i; char ch; double f;
} b; 则结构变量b占用内存的字节数是
A. 1
B. 2
C. 7
D. 11
题目1、答案:D
题目2、答案:A
题目3、答案:B
题目4、答案:D