1. 程式人生 > >明解C語言入門篇練習題第七章

明解C語言入門篇練習題第七章

練習7-1

#include <stdio.h>
int main(void)
{
	int n = 1;
	printf("sizeof 1  : %u\n",sizeof(1));
	printf("sizeof +1 : %u\n", sizeof(+1));
	printf("sizeof -1 : %u\n", sizeof(-1));
	printf("sizeof(unsigned)-1 : %u\n", sizeof(unsigned) - 1);
	printf("sizeof(double)-1   : %u\n", sizeof(double) - 1);
	printf("sizeof((double)-1) : %u\n", sizeof((double)-1));//將int型的-1強制轉化為double型-1.0
	printf("sizeof n+2     : %u\n", sizeof n+2);
	printf("sizeof (n+2)   : %u\n", sizeof(n+2));
	printf("sizeof (n+2.0) : %u\n", sizeof(n+2.0));
	return 0;
}

練習7-2

#include <stdio.h>
#include <math.h>
int main(void)
{
	unsigned int n;
	int offset;
	printf("輸入n:");
	scanf("%d",&n);
	printf("輸入左移位數offset:");
	scanf("%d",&offset);
	printf("%u << %d = %u\n",n,offset,n<<offset);
	printf("%u * pow(2,%d) = %d\n",n,offset,(int)(n*pow(2.0,offset)));

	printf("輸入n:");
	scanf("%d", &n);
	printf("輸入右移位數offset:");
	scanf("%d", &offset);
	printf("%u >> %d = %u\n", n, offset, n >> offset);
	printf("%u / pow(2,%d) = %d\n", n, offset, (int)(n/pow(2.0, offset)));
	return 0;
}

練習7-3

#include <stdio.h>
unsigned rrotate(unsigned x, int n)
{
	unsigned int y;
	y = x >> n;
	return y;
}
unsigned lrotate(unsigned x, int n)
{
	unsigned int y;
	y = x << n;
	return y;
}
int main(void)
{
	unsigned int x;
	int n;
	printf("輸入x:");
	scanf("%d",&x);
	printf("輸入左移位數n:");
	scanf("%d",&n);
	printf("%u << %d = %u\n",x,n, rrotate(x,n));

	printf("輸入x:");
	scanf("%d", &x);
	printf("輸入右移位數n:");
	scanf("%d", &n);
	printf("%u >> %d = %u\n", x, n,lrotate(x,n));
	return 0;
}

練習7-4 待做

練習7-5 待做

練習7-6

#include <stdio.h>
#include <limits.h>
int main(void)
{
	unsigned int x;
	x = UINT_MAX;
	printf("x = %u\n",x);
	printf("x + 1 = %u\n",x+1);
	return 0;
}

練習7-7

#include <stdio.h>
int main(void)
{
	float x;
	double y;
	long double z;

	printf("float x = ");
	scanf("%f",&x);
	printf("x = %lf\n",x);

	printf("double y = ");
	scanf("%lf", &y);
	printf("y = %lf\n", y);

	printf("long double z = ");
	scanf("%lf", &z);
	printf("z = %lf\n", z);

	return 0;
}

練習7-8

#include <stdio.h>
int main(void)
{
	float x;
	double y;
	long double z;
	printf("size of float = %u\n",sizeof(float));
	printf("size of double = %u\n", sizeof(double));
	printf("size of long double = %u\n", sizeof(long double));
	return 0;
}

練習7-9

#include <stdio.h>
#include <math.h>
int main(void)
{
	double area;
	printf("input area of a square:");
	scanf("%lf",&area);
	printf("each side of the square: %.2lf\n",sqrt(area));
	return 0;
}

練習7-10

#include <stdio.h>
int main(void)
{
	float x1 = -0.01;
	float x2 = 0;
	int i;
	for (i = 0;i<=100;i++)
	{
		printf("x = %f    x = %f\n", x1+=0.01,(x2++)/100);
	}
	return 0;
}

練習7-11

#include <stdio.h>

int main(void)
{
	float x1 = -0.01;
	float x2 = 0.0;
	int i;
	float sum1 = 0.0;
	float sum2 = 0.0;
	for (i=0;i<=100;i++)
	{
		printf("x = %f    x = %f\n", x1+=0.01,(x2++)/100);
		sum1 += x1;
		sum2 += x2/100;
	}
	printf("sum = %f   sum = %f",sum1,sum2);
	return 0;
}

相關推薦

C語言入門練習題

練習7-1#include <stdio.h> int main(void) { int n = 1; printf("sizeof 1 : %u\n",sizeof(1)); printf("sizeof +1 : %u\n", sizeof(+1));

C語言入門練習題

練習5-1#include <stdio.h> int main(void) { int i; int v[5]; /* int[5]陣列 */ for (i = 0; i < 5; i++) /* 為陣列元素賦值 */ v[i] = i; f

C語言入門練習題

練習9-1#include<stdio.h> int main(void) { char str[] = "ABC\0DEF"; printf("string str = %s\n",str); return 0; }練習9-2#include<st

C語言 入門 答案

  練習4-1 #include <stdio.h> int main(void) { int no; int x; do{ printf("請輸入一個整數:"); scanf("%d", &no);

C語言中級練習題第一

練習1-1#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int qian; srand(time(NULL));//seed qi

C語言中級練習題第二

練習2-1#include <time.h> #include <stdio.h> /*--- 等待x毫秒 ---*/ int sleep(unsigned long x) { clock_t c1 = clock(), c2; do { i

C語言》示例程式碼和練習程式碼[8]

第8章 動手編寫各種程式吧 示例程式碼: 示例程式碼8-1 /* 整數的平方和浮點數的平方(函式) */ #include <stdio.h> // int型整數的平方值

C語言》筆記及課後習題答案 【十二

練習12-1/*---編寫顯示物件takao各成員地址的程式。---*/ #include <stdio.h> #define NAME_LEN 64 struct student { char name[NAME_LEN]; int height;

C語言》示例程式碼和練習程式碼[9]

第9章 字串的基本認識 示例程式碼: 示例程式碼9-1 /* 顯示字串字面長度 */ #include <stdio.h> int main(void) { prin

C語言》筆記及課後習題答案 【

練習3-1/*---輸入兩個整數,判斷後者是否為前者的約數---*/ #include <stdio.h> int main(void) { int a,b; puts("請輸入兩個整數。"); printf("整數a:"); scanf("%d"

C語言》示例程式碼和練習程式碼[11]

第11章 字串和指標 示例程式碼: 示例程式碼11-1 /* 用陣列實現的字串和用指標實現的字串 */ #include <stdio.h> int main(void) {

C語言》示例程式碼和練習程式碼[12]

第12章 結構體 示例程式碼: 示例程式碼12-1 /* 將5名學生的“身高”按升序排列 */ #include <stdio.h> #define NUMBER 5 //

C語言》筆記及課後習題答案 【

練習6-1/*---返回兩個int型整數中較小一數的值---*/ #include <stdio.h> int min2(int a, int b){ if (a > b) return b; else return a; } int ma

C語言》示例程式碼和練習程式碼[3]

第3章 分支結構程式 示例程式碼: 示例程式碼 3-1 /* 輸入的整數能被5整除嗎 */ #include <stdio.h> int main(void) { int vx; printf("請輸入一個整數:");

C語言》筆記及課後習題答案 【

練習9-1/*---輸出字元陣列char str[] = "ABC\0DEF"---*/ #include <stdio.h> int main(void) { char str[] = "ABC\0DEF"; printf("字串str為\"%s\

C語言》筆記及課後習題答案 【

練習5-1/*---從頭順次為陣列中的元素賦值0,1,2,3,4---*/ #include <stdio.h> int main(void) { int i, v[5]; for(i = 0;i < 5; i++){ v[i] = i;

C語言入門經典(四版).pdf

《C語言入門經典(第4版)》的目標是使你在C語言程式設計方面由一位初學者成為一位稱職的程式設計師。讀者基本不需要具備任何程式設計知識,即可通過《C語言入門經典(第4版)》從頭開始編寫自己的C程式。研讀《C語言入門經典(第4版)》,你就可以成為一位稱職的C語言程式設計師。從許多方面來說,C語言

哨兵查詢法(c語言

//哨兵法,就是將待查詢的元素加入待查詢的陣列的後面,這樣可以提高效能(在資料量很龐大的時候體現出來) #include <stdio.h> #define FAILURE -1 //使用for迴圈的 int searching1(int v[],int key,int n) {

C語言入門(二)指標的介紹和運用

 一.記憶體   1.記憶體的含義:     記憶體是溝通CPU和硬碟的橋樑:        (1)暫存CPU中的運算資料       (2)暫存與外部儲存器交換的資料     物理儲存器:實際存在的具體儲存器晶片                主

C語言》筆記及課後習題 【第一

練習1-1 /*---編寫一段程式,計算出15減去37的結果,並以“15減去37 的結果時-22。”的格式進行顯示。*/ #include <stdio.h> int main (void) { printf("15減去37的結果是%d\n",15-