c/c++练习–19
来源:互联网 发布:linux中vim基本操作 编辑:程序博客网 时间:2024/06/06 19:33
c/c++练习–19
- 习题来源:C语言经典编程282例
181.取出给定16位二进制数的奇数位
#include <stdio.h>#include <stdlib.h>int main(void){ int a=0,b=1,sum=0; printf("please input a number:\n"); scanf("%d",&a); for(int i=0;i<8;i++){ sum |= a&b; b<<=2; } printf("%d",sum); return(EXIT_SUCCESS);}
182.取一个整数的后四位
在屏幕上输入一个八进制数,实现输出其后四位对应的数。
#include <stdio.h>#include <stdlib.h>int main(void){ unsigned int a=0,b=1; printf("please input a base-8 number:\n"); scanf("%o",&a); b = a & 15; printf("%d",b); return(EXIT_SUCCESS);}
183.普通位运算
当a=2,b=4,c=6,d=8时求a&c,b|d,a^d,~a的值。
#include <stdio.h>#include <stdlib.h>int main(void){ int a=2,b=4,c=6,d=8; printf("%d %d %d %d\n",a&c,b|d,a^d,~a); return(EXIT_SUCCESS);}
184.整数与0异或
#include <stdio.h>#include <stdlib.h>int main(void){ int a=2; printf("%d \n",a^0); return(EXIT_SUCCESS);}
185.使用malloc函数分配内存
创建一个结构体类型指针,其中包含两个成员,一个是整数,另一个是结构体指针,使用malloc函数分配一个结构体的内存空间,然后给这两个成员赋值,并显示出来。
#include <stdio.h>#include <stdlib.h>typedef struct node{ int num; struct node *next;}*Nodedef;int main(void){ Nodedef head; head = (Nodedef)malloc(sizeof(struct node)); head->num=1; head->next = NULL; printf("%d %p\n",head->num,head->next); free(head); return(EXIT_SUCCESS);}
186.使用calloc函数分配内存
创建一个结构体类型指针,其中包含两个成员,一个是整数,另一个是结构体指针,使用malloc函数分配一个结构体的内存空间,然后给这两个成员赋值,并显示出来。
#include <stdio.h>#include <stdlib.h>typedef struct node{ int num; struct node *next;}*Nodedef;int main(void){ Nodedef head; head = (Nodedef)calloc(1,sizeof(struct node)); head->num=1; head->next = NULL; printf("%d %p\n",head->num,head->next); free(head); return(EXIT_SUCCESS);}
187.为具有3个数组元素的数据分配内存
#include <stdio.h>#include <stdlib.h>int main(void){ int *head; head = (int *)malloc(3*sizeof(int)); head[0]=1; head[1]=1; head[2]=1; printf("%d %d %d\n",*head, head[1], head[2]); free(head); return(EXIT_SUCCESS);}
188.为二位数组动态分配内存
#include <stdio.h>#include <stdlib.h>int main(void){ int **head; head = (int **)malloc(3*sizeof(int* [3])); for(int i=0;i<3;i++) head[i] = (int *)malloc(3*sizeof(int)); for (int i=0;i<3;i++){ for(int j=0;j<3;j++){ head[i][j] = i*3+j; printf("%d\t",head[i][j]); } printf("\n"); } for(int i=0;i<3;i++)free(head[i]); free(head); return(EXIT_SUCCESS);}
189.商品信息的动态存放
#include <stdio.h>#include <stdlib.h>struct goods{ char *name; int num; int mount; float price; };int main(void){ struct goods *head; head = (struct goods *)malloc(sizeof(struct goods)); head->name = "apple"; head->num = 101; head->mount = 100; head->price = 2.01; printf("%s--%d--%d--%f\n",head->name,head->num,head->mount,head->price); free(head); return(EXIT_SUCCESS);}
190.用不带参数的宏定义求平行四边形面积
利用不带参数的宏定义求平行四边形的面积,平行四边形的面积=底边*高,将平行四边形
#include <stdio.h>#include <stdlib.h>#define LENGTH 3#define HIGN 4int main(void){ printf("%d\n",LENGTH*HIGN); return(EXIT_SUCCESS);}
0 0
- c/c++练习–19
- 2017.11.19C练习
- C练习
- C练习
- C 练习
- c练习
- C练习
- C练习
- c 练习
- c/c++练习–03
- c/c++练习–04
- c/c++练习–05
- c/c++练习–06
- c/c++练习–07
- c/c++练习–08
- c/c++练习–09
- c/c++练习–10
- c/c++练习–11
- [Android Studio 权威教程]断点调试和高级调试
- 【Unity3D】中的空引用 Null Reference Exception
- 南京邮电大学nctf web部分题解
- idea2016.3激活码
- 第一次来!我是白鲸社区,大家多多支持!
- c/c++练习–19
- string与参数引用传递
- 计算1!+2!+3!+...n!的值,n由键盘输入
- Android5.0以上使用MediaProjection截图和录屏
- 初试Scrapy(一)—Scrapy环境搭建
- php基础系列----6文件的引入
- 44 个 JavaScript 变态题解析
- 【Unity3D】场景转换与退出
- Toast的基础使用