第2章

书上例题

例2.1

#include "stdafx.h"

int main(int argc, char* argv[])
{
    int x = 200, *y;
    y = &x;
    *y = 300;
    printf("%x: %d, %d\n", y, x, *y);
    return 0;
}
image.png

例2.2

#include "stdafx.h"

int main(int argc, char* argv[])
{
    int a = 4, k, j = 2;
    k = ++a;
    j++;
    printf("a = %d\nk = %d\nj = %d\n", a, k, j);
    j = 2;
    k = a++;
    ++j;
    printf("\na = %d\nk = %d\nj = %d\n", a, k, j);
    return 0;
}
image.png

例2.3

#include "stdafx.h"

int main(int argc, char* argv[])
{
    int x = 19;
    long y = 9098;
    float m = 10.5f;
    double n = 10.5;
    printf("%d\n", sizeof(int));
    printf("%d\n", sizeof(short));
    printf("%d\n", sizeof(long));
    printf("%d\n", sizeof(x));
    printf("%d\n", sizeof(y));
    printf("%d\n", sizeof(m));
    printf("%d\n", sizeof(n));
    printf("%d\n", sizeof(x+=y));
    printf("%d\n", x);
    return 0;
}
image.png

例2.4 系统自动数据类型转换

#include "stdafx.h"

int main(int argc, char* argv[])
{
    int x = 15, m;
    char c = 'A';
    double y = 12.3;
    m = x + c + y;
    printf("%f\n", x + c + y);//'A'=65
    printf("%d\n", m);
    return 0;
}
image.png

例2.5 强制数据类型转换

#include "stdafx.h"

int main(int argc, char* argv[])
{
    int a = 11, b;
    double c, d;
    b = a/2;
    c = (double)a/2;
    d = double(a/2);
    printf("a = %d, b = %d, c = %.2lf, d = %lf\n", a, b, c, d);
    return 0;
}
image.png

例2.6 圆面积

#include "stdafx.h"

#define PI 3.14

int main(int argc, char* argv[])
{
    int r;
    scanf("%d", &r);
    printf("%lf", PI * r * r);
    return 0;
}

例2.7判断闰年

#include "stdafx.h"

int main(int argc, char* argv[]){
    int r;
    scanf("%d", &r);
    if(r % 4 == 0 && r % 100 != 0 || r % 400 == 0)
        printf("yes");
    else
        printf("no");
    return 0;
}

例2.8查星期

#include "stdafx.h"

int main(int argc, char* argv[]){
    int r;
    scanf("%d", &r);
    switch(r){
    case(1):
        printf("Monday");
        break;
    case(2):
        printf("Tuesday");
    case(3):
        printf("Wednesday");
        break;
    case(4):
        printf("Thursday");
        break;
    case(5):
        printf("Friday");
        break;
    case(6):
        printf("Saturday");
        break;
    case(7):
        printf("Sunday");
        break;
    default:
        printf("error");
    }
    return 0;
}

例2.9 求n!

#include "stdafx.h"

int main(int argc, char* argv[]){
    int n;
    scanf("%d", &n);
    int sum = 1;
    while(n){
        sum *= n;
        n--;
    }
    printf("%d\n", sum);
    return 0;
}

例2.10 求反序数

#include "stdafx.h"

int main(int argc, char* argv[]){
    int n;
    scanf("%d", &n);
    int temp;
    int s = 0;//反序数
    while(n){
        temp = n % 10;
        s = s * 10 + temp;
        n /= 10;
    }
    printf("%d\n", s);
    return 0;
}

例2.11 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱, 用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?

#include "stdafx.h"

int main(int argc, char* argv[]){
    int i, j, k;
    for(i = 0; i < 20; i++){
        for(j = 0; j < 33; j++){
            k = 100 - i -j;
            if(5 * i + 3 * j + k / 3 == 100 && k % 3 == 0)
                printf("%d, %d, %d\n", i, j, k);
        }
    }
    return 0;
}

例2.12-2.15 printf输出示例

#include "stdafx.h"

int main(int argc, char* argv[]){
    int i = 5, j = 6;
    printf("%d, %0*d\n", i, i, j);// *号用签一个数指定后一个数输出的宽度
    
    float x =345.3567f;
    double y = 222.345678;
    printf("%-8.2f, %f\n", x, x);//左对齐,8位宽保留两位小数
    printf("%-8.2lf, %lf\n", y, y);

    char ch = 'a';
    int k = 65;
    printf("%c, %3c, %d\n", ch, ch, ch);
    printf("%c, %3c, %d\n", k, k, k);

    printf("%s\n", "Hello");
    printf("%3s, %5.3s\n", "Hello", "Hello", "Hello");//对于字符串,.3标识输出前三位字符串
    return 0;
}
image.png

例2.16-2.18 scanf输入示例

int a, b, c;
printf("%d\n", scanf("%3d-%2d-%4d", &a, &b, &c));//scanf的返回值是正确取得数据的个数
printf("%d, %d, %d\n", a, b, c);
char x, y;
scanf("%c%c", &x, &y);
printf("%c, %c\n", x, y);
char c1, c2;
c1 = getchar();
c2 = c1 + 32;
putchar(c2);

例2.19-2.22 数学类函数库math.h和stdlib.h

#include "stdafx.h"
#include <math.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    double a = -3.14;
    printf("|a| = %lf", fabs(a));//abs()求int型,fabs()求double型
    return 0;
}
#include "stdafx.h"
#include <math.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    double x = 12.5, y = 3.4;
    printf("%d\n", 13 % 5);//%只能对整型取余
    printf("%lf\n", fmod(x, y));//输出2.300000,fmod用于对浮点型取余
    return 0;
}
#include "stdafx.h"
#include <math.h>
#include <stdlib.h>

int main(int argc, char* argv[]){
    double x = 30, y;
    y = x * 3.14159 /180;//转为度
    printf("sin(%.0lf) = %lf", x, sin(y));
    return 0;
}
//double sin(double x);
//double cos(double x);
//double tan(double x);
double exp(double x);//e的x次方
double pow(double x, double y);x的y次方
double log(double x);//ln(x)
double log10(double x);//lg(x)
double sqrt(double x);//平方根

课本习题:程序阅读题

#include "stdafx.h"

int main(int argc, char* argv[]){
    int i, j, m, n;
    i = 8;
    j = 10;
    m = ++i;
    n = j++;
    printf("%d, %d, %d, %d\n", i, j, m, n);
    return 0;
}
image.png
#include "stdafx.h"

int main(int argc, char* argv[]){
    char c1 = 'a', c2 = 'b', c3 = 'c', c4 = '\101', c5 = 116; //'\101'是八进制
    printf("a%cb%c\tc%c\tabc\n", c1, c2, c3);
    printf("\t\b%c %c\n", c4, c5);
    return 0;
}
image.png
#include "stdafx.h"

int main(int argc, char* argv[]){
    int x = 0, y = -1, z = -1;
    x += -z---y;//-(z--)-y
    printf("%d, %d, %d\n", x, y, z);
    return 0;
}
image.png
#include "stdafx.h"

int main(int argc, char* argv[]){
    int x = -3;
    x += x -= x*x;//从右往左结合
    printf("%d\n", x);
    return 0;
}
image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容