C 和指针第一次考试(改正)
来源:互联网 发布:淘宝质量好点的aj高仿 编辑:程序博客网 时间:2024/06/01 20:30
C和指针第一次考试(改正)
4、下面程序,求count的值:A
int func(int x)
{
int count=0;
x=9999;
While(x)
{
count++;
x=x&(x-1);
}
return count;
}
A.8
B.10
C.5
D.11
解答:x&(x-1)是将x的二进制中的最后一个1变成0,
9999的二进制:1001100110011001,总共有8个1
所以count的值是8。
6、以下代码打印的结果是(假设运行在i386系列计算机上):C
struct st_t
{
int status;//4
short *pdata;//4
char errstr[32];//32
};//40字节
struct st_t st[16];
char *p=(char *)(st[2],errstr+32);
printf(“%d”,p-(char *)(st)));
A.32
B.114
C.120
D.1112
7、以下代码执行后,val的值是:B
unsigned long val=0;
char a=0x48;
char b=0x52;
Val=b<<8|a;
A.20992
B.21064
C.72
D.0
解答:b:0x52=01010010 共32位前面有24个0
b<<8 (b左移8位):0101001000000000
a:0x48=01001000
b<<8|a=0101001001001000 =0x5248//16进制
0x5248=5*16^3+2*16^2+4*16^1+8*16^0=21064
8、设有定义:char *p,以下选项中不能正确将字符串赋值给字符串指针p的语句是:A B D
A.p=getchar();获取1个字符
B.scanf(“%s”,p);p指针在定义时没有分配内存,属于野指针错误
C.char s[]=”china”;p=s;
D.*p=”china”;应该是p=“china”
11、用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有14个0。
解答:将30中3的倍数找出来,计算出其中3的个数。
3,6,9,12,15,18,21,24,27,30
3=3*1;6=3*2;9=3*3;12=3*4;15=3*5;18=3*3*2;21=3*7;24=3*8;27=3*3*3;30=3*10。
19、假设在n进制下,下面的等式成立,567*456=150216,则n的值是:18
解答:假设在n进制下,则有
(5*n^2+6*n^1+7*n^0)*(4*n^2+5^n^1+6*n^0)=
1*n^5+5*n^4+0*n^3+2*n^2+1*n^1+6*n^0
化简得:15*n^4+49*n^3+86*n^2+70n=n^5
等号两边同时除以n^5得到:15/n+49/n^2+86/n^3+70/n^4=1
由此等式可以知道:要使此等式成立n一定要大于15,所以选18进制。
25、有如下程序
int Fun(int x,int y)
{
return (x&y)+((x^y)>>1);
}
则运行Fun(729,271);的结果是500。
解答:(x&y)+((x^y)>>1)其实就是求两个数的平均值。
32、表达式”X=A+B*(C-D)/E”的后缀表达形式是:D
A.XAB+CDE/-*=
B.XA+BC-DE/*=
C.XABCDE+*/=
D.XABCD-*E/+=
解答:第一步先加括号(X=(A+((B*(C-D))/E)))
E.第二步:去掉括号把运算符移到括号后面是XABCD-*E/+=
给大家普及一下小知识:前缀表达式也叫波兰式,后缀表达式就叫异波兰式。
- C 和指针第一次考试(改正)
- C语言第一次考试(改正)
- C语言第二次考试(改正)
- C和指针考试——整理
- Poedu_计算机基础_第一次考试_20160831 试卷原题及改正
- 改正第一次练习
- 第一次写blog C语言指针数组和数组指针
- 第一次考试
- 第一次....考试分析(二)part two
- 指针数组和数组指针(C)
- 指针数组和数组指针(C)
- 指针数组和数组指针(C)
- C和指针(3)指针
- C指针编程之道 ---第一次笔记
- C和指针之删除字符串第一次出现的子串
- c和指针(1)
- c和指针(2)
- 指针和引用(c++)
- 架构师必看:谈软件架构师如何做好架构设计(上)
- CentOS 6搭建局域网NTP服务器
- 分片IP报文攻击
- Android7.0适配教程,心得
- Java-反射(一) Class类的使用
- C 和指针第一次考试(改正)
- C语言学习—数组
- python生成器——廖雪峰教程笔记
- 快速排序(分治算法)
- Android 支付宝后台支付流程
- android 基础知识 四大组件之Activity(一)
- SYN和FIN同时设置攻击
- 洛谷P1060 开心的金明(DP,0-1背包)
- (九)Java设计模式之装饰模式