ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成av人片在线观看无码,中文字幕不卡三区视频,在线天堂avhttp://www.aygfsteel.com/BeautifulMan/zh-cnSun, 22 Jun 2025 03:56:57 GMTSun, 22 Jun 2025 03:56:57 GMT60C Primer Plus ½W?5ç«?位操ä½?复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2016/01/06/428948.html李阿昀李阿昀Wed, 06 Jan 2016 01:27:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2016/01/06/428948.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428948.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2016/01/06/428948.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428948.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428948.html阅读全文

]]>
《汇¾~–语­a€åQˆç¬¬3版)ã€?实验4 [bx]å’Œloopçš„ä‹Éç”?/title><link>http://www.aygfsteel.com/BeautifulMan/archive/2015/12/15/428652.html</link><dc:creator>李阿昀</dc:creator><author>李阿昀</author><pubDate>Tue, 15 Dec 2015 01:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/BeautifulMan/archive/2015/12/15/428652.html</guid><wfw:comment>http://www.aygfsteel.com/BeautifulMan/comments/428652.html</wfw:comment><comments>http://www.aygfsteel.com/BeautifulMan/archive/2015/12/15/428652.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428652.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/BeautifulMan/services/trackbacks/428652.html</trackback:ping><description><![CDATA[˜q™æ˜¯çŽ‹çˆ½è€å¸ˆçš„ã€Šæ±‡¾~–语­a€åQˆç¬¬3版)》,¾lçŸ¥å‹æŽ¨èç¡®å®žæ˜¯ä¸€æœ¬æžå¥½çš„书!<br /><br /><div>实验4 [bx]å’Œloopçš„ä‹Éç”?/div>åQ?åQ‰ã€ï¼ˆ2åQ?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->assume cs:code<br />code segment<br />    mov ax,0020h<br />    mov ds,ax<br />    mov bx,0<br />    mov cx,64<br />  s:mov [bx],bl   ;˜q™é‡Œå¿…须是mov [bx],blåQŒè€Œä¸èƒ½æ˜¯mov [bx],bx,否则会出现类型不匚w…<br />    inc bl<br />    loop s<br />    mov ax,4c00h<br />    <span style="color: #0000FF; ">int</span> 21h<br />code ends<br />end</div><br /><br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.aygfsteel.com/BeautifulMan/aggbug/428652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/BeautifulMan/" target="_blank">李阿昀</a> 2015-12-15 09:06 <a href="http://www.aygfsteel.com/BeautifulMan/archive/2015/12/15/428652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C Primer Plus ½W?4ç«?¾l“构和其他数据åÅžå¼?复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/12/10/428593.html李阿昀李阿昀Thu, 10 Dec 2015 08:53:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/12/10/428593.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428593.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/12/10/428593.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428593.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428593.htmlstructure {    char itable;    int&nb...  é˜…读全文

]]>
C Primer Plus ½W?3ç«?æ–‡äšg输入/输出 复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/12/07/428533.html李阿昀李阿昀Mon, 07 Dec 2015 04:02:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/12/07/428533.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428533.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/12/07/428533.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428533.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428533.html/* æŠŠå¤šä¸ªæ–‡ä»¶çš„内容˜q½åŠ åˆîC¸€ä¸ªæ–‡ä»¶ä¸­ */#include <stdio.h>#include &...  é˜…读全文

]]>
C Primer Plus ½W?2ç«?存储¾c…R€é“¾æŽ¥å’Œå†…å­˜½Ž¡ç† 复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/12/04/428522.html李阿昀李阿昀Fri, 04 Dec 2015 12:03:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/12/04/428522.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428522.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/12/04/428522.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428522.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428522.html阅读全文

]]>
C Primer Plus ½W?1ç«?字符串和字符串函æ•?复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/11/30/428413.html李阿昀李阿昀Mon, 30 Nov 2015 01:47:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/30/428413.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428413.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/30/428413.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428413.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428413.html阅读全文

]]>
C Primer Plus ½W?0ç«?数组和指é’?复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/11/24/428353.html李阿昀李阿昀Tue, 24 Nov 2015 14:31:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/24/428353.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428353.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/24/428353.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428353.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428353.html// å¤šç»´æ•°ç»„和指é’?include <stdio.h>int main(void){  ...  é˜…读全文

]]>
C Primer Plus ½W?ç«?函数 复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/11/22/428322.html李阿昀李阿昀Sun, 22 Nov 2015 15:03:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/22/428322.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428322.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/22/428322.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428322.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428322.html扩展è¯ïL§»æ­¥ç¼–½E‹ç»ƒä¹?åQ?/span>
#include <stdio.h>
void to_binary(unsigned long n);
int main(void)
{
    unsigned long number;
    printf("Enter an integer (q to quit): \n");
    while(scanf("%lu", &number) == 1)
    {
        printf("Binary equivalent: ");
        to_binary(number);
        putchar('\n');
        printf("Enter an integer (q to quit): \n");
    }
    printf("Done!\n");
    return 0;
}
void to_binary(unsigned long n)
{
    int r;
    r = n % 2;
    if(n >= 2)
        to_binary(n / 2);
    putchar('0' + r);
    return;
}
复习�/span>
1、实际参数和形式参量有何不同åQ?br />½{”:
形式参量åQˆä¹Ÿè¢«ç§°ä¸ºåŞ式参敎ͼ‰æ˜¯ä¸€ä¸ªå˜é‡ï¼Œå®ƒåœ¨è¢«è°ƒå‡½æ•°ä¸­è¿›è¡Œå®šä¹‰ã€‚实际参数是在函数调用中出现的å€û|¼Œå®ƒè¢«èµ‹å€¼ç»™å½¢å¼å‚é‡ã€‚å¯ä»¥æŠŠå®žé™…å‚æ•°è®¤äØ“æ˜¯åœ¨å‡½æ•°è¢«è°ƒç”¨æ—¶ç”¨æ¥åˆå§‹åŒ–åŞ式参量的倹{€?br />2、写å‡ÞZ¸‹é¢æ‰€æè¿°çš„各个函数的ANSI函数头。注意:只写出函数头卛_¯åQŒä¸éœ€è¦å®žçްã€?br />a.donut()接受一个int¾cÕdž‹çš„参敎ͼŒç„¶åŽè¾“出若干ä¸?åQŒè¾“å‡?的数目等于参数的倹{€?br />b.gear()接受两个int¾cÕdž‹çš„å‚æ•°åÆˆ˜q”回int¾cÕdž‹çš„倹{€?br />c.stuff_it()的参数包括一个double¾cÕdž‹çš„å€ég»¥åŠä¸€ä¸ªdouble¾cÕdž‹å˜é‡çš„地址åQŒåŠŸèƒ½æ˜¯æŠŠç¬¬ä¸€ä¸ªæ•°å€¼å­˜æ”‘Öˆ°æŒ‡å®šçš„地址中ã€?br />½{”:
a.void donut(int n)
b.int gear(int n, int m)
c.void stuff_it(double n, double * d)
3、只写出下列函数的ANSI C函数å¤ß_¼Œä¸éœ€è¦å®žçŽ°å‡½æ•°ã€?br />a.n_to_char()接受一个int¾cÕdž‹çš„å‚æ•°åÆˆ˜q”回一个char¾cÕdž‹çš„倹{€?br />b.digits()接受的参数是一个double¾cÕdž‹çš„æ•°å€¼å’Œä¸€ä¸ªint¾cÕdž‹çš„æ•°å€û|¼Œ˜q”回值类型是intã€?br />c.random()不接受参敎ͼŒ˜q”回int¾cÕdž‹çš„æ•°å€¹{€?br />½{”:
a.char n_to_char(int n)
b.int digits(double n, int m)
c.int random(void)
4、设计一个实çŽîC¸¤æ•´æ•°ç›¸åŠ òq¶å°†¾l“æžœ˜q”回的函数ã€?br />½{”:
int plus(int n, int m)
{
    return n + m;
}
5、假如问é¢?中的函数实现两个double¾cÕdž‹çš„æ•°å€¼ç›¸åŠ ï¼Œé‚£ä¹ˆåº”è¯¥å¦‚ä½•ä¿®æ”¹åŽŸå‡½æ•ŽÍ¼Ÿ
½{”:
double plus(double n, double m)
{
    return n + m;
}
6、设计函数alter()åQŒå…¶è¾“入参数是两个int¾cÕdž‹çš„变量xå’ŒyåQŒåŠŸèƒ½æ˜¯åˆ†åˆ«ž®†è¿™ä¸¤ä¸ªå˜é‡çš„æ•°å€¼æ”¹ä¸ºå®ƒä»¬çš„和以及它们的差ã€?br />½{”:åQ?span style="background-color: yellow;">注意åQšä¸‹é¢è¿™¿Uå†™æ³•是错误的!åQï¼åQ?/span>
void alter(int x, int y)
{
    x = x + y;
    y = x - y;
}
正确的写法如下:
void alter(int * u, int * v)
{
    int temp;

    temp = *u;
    *u = *u + *v;
    *v = temp - *v;
}
7、判断下面的函数定义是否正确�br />
void salami(num)
{
    int num, count;

    for(count = 1; count <= num; num++)
        printf("O salami mio!\n");
}
½{”:
有错误。num应该在salami()的参数列表中而不是在花括号之后声明,而且应该是count++而不是num++ã€?br />8、编写一个函敎ͼŒä½¿å…¶˜q”回3个整数参æ•îC¸­çš„æœ€å¤§å€¹{€?br />½{”:
int max(int x, int y, int z)
{
    int max;
    if(x > y)
        if(x > z)
            max = x;
        else
            max = z;
    else
        if(y > z)
            max = y;
        else
            max = z;
    return max;
}
or åQ?span style="background-color: yellow;">更简‹zä¸€ç‚¹ï¼‰

int max(int x, int y, int z)
{
    int max = x;
    if(y > max)
        max = y;
    if(z > max)
        max = z;
    return max;
}
9、给定下面的输出åQ?br />Please choose one of the following:
1)copy files 2)move files
3)remove files 4)quit
Enter the number of your choice:
a.用一个函数实现菜单的昄¡¤ºåQŒä¸”该菜单有4个用数字¾~–号的选项òq¶è¦æ±‚你选择其中之一åQˆè¾“出应该如题中所½Cºï¼‰ã€?br />b.¾~–写一个函敎ͼŒè¯¥å‡½æ•°æŽ¥å—两个int¾cÕdž‹çš„参敎ͼšä¸€ä¸ªä¸Šç•Œå’Œä¸€ä¸ªä¸‹ç•Œã€‚在函数中,首先从输入终端读取一个整敎ͼŒå¦‚果该整æ•îC¸åœ¨ä¸Šä¸‹ç•Œè§„定的范围内åQŒåˆ™å‡½æ•°é‡æ–°æ˜„¡¤ºèœå•åQˆä‹É用本题目a部分中的函数åQ‰ä»¥å†æ¬¡æé†’用户输入新倹{€‚如果输入数值在规定的范围内åQŒé‚£ä¹ˆå‡½æ•°åº”è¯¥å°†æ•°å€ÆD¿”回给调用函数ã€?br />c.使用本题目aå’Œb部分中的函数¾~–写一个最ž®çš„½E‹åºã€‚最ž®çš„æ„æ€æ˜¯è¯¥ç¨‹åºä¸éœ€è¦å®žçŽ°èœå•ä¸­æ‰€æè¿°çš„åŠŸèƒ½ï¼›å®ƒåªéœ€è¦æ˜¾½Cø™¿™äº›é€‰é¡¹òq¶èƒ½èŽ·å–æ­£ç¡®çš„å“åº”å³å¯ã€?br />½{”:åQˆå‚考课后答案)
#include <stdio.h>
void menu(void);
int get_input(intint);
int main(void)
{
    int res;

    menu();
    while((res = get_input(1, 4)) != 4)
        printf("I like choice %d.\n", res);
    printf("Bye!\n");
    return 0;
}
void menu(void)
{
    printf("Please choose one of the following: \n");
    printf("1)copy files          2)move files\n");
    printf("3)remove files        4)quit\n");
    printf("Enter the number of your choice: \n");
}
int get_input(int min, int max)
{
    int number;

    scanf("%d", &number);
    while(number < min || number > max)
    {
        printf("%d is not a valid choice; try again.\n", number);
        menu();
        scanf("%d", &number);
    }
    return number;
}
¾~–程¾lƒä¹ 
1�br />
#include <stdio.h>
double min(doubledouble);
int main(void)
{
    printf("One of the smaller of the two numbers is %.2f", min(23.34, 12.11));
    return 0;
}
double min(double x, double y)
{
    return x < y ? x : y;
}
2�br />
#include <stdio.h>
void chline(char ch, int i, int j);
int main(void)
{
    chline('$', 3, 5);
    return 0;
}
void chline(char ch, int i, int j)
{
    int index;

    for(index = 1; index < i; index++)
        putchar(' ');
    for(index = 1; index <= j - i + 1; index++)
        putchar(ch);
}
3�br />
#include <stdio.h>
void chline(char ch, int col, int row);
int main(void)
{
    chline('$', 3, 5);
    return 0;
}
void chline(char ch, int col, int row)
{
    int i, j;

    for(i = 0; i < row; i++)
    {
        for(j = 0; j < col; j++)
           putchar(ch);
        putchar('\n');
    }
}
4�br />
#include <stdio.h>
double computer(double a, double b);
int main(void)
{
    printf("%.2få’?.2f的谐均值是åQ?.3f\n", 0.3, 0.5, computer(0.3, 0.5));
    return 0;
}
double computer(double a, double b)
{
    double result;

    result = 1 / ((1/a + 1/b) / 2);
    return result;
}
5�br />
#include <stdio.h>
void larger_of(double *, double *);
int main(void)
{
    double x = 23.3;
    double y = 34.4;
    printf("Originally x = %.1f; y = %.1f\n", x, y);
    larger_of(&x, &y);
    printf("Now x = %.1f; y = %.1f\n", x, y);
    return 0;
}
void larger_of(double * u, double * v)
{
    double temp;
    temp = *u > *v ? *u : *v;
    *u = temp;
    *v = temp;
}
6、(½W¬ä¸€‹Æ¡ç çš„程序读取到换行½W¦çš„æ—¶å€™ä¹Ÿä¼šæ‰“印出来,会给人看不明白的感觉åQŒçƒ¦æ€§æŒ‰[Enter]键的时候就退出åó@环,不要è¯Õdˆ°EOFåQ?br />
#include <stdio.h>
#include <ctype.h>
void printchar(char ch);
int main(void)
{
    char ch;

    printf("误‚¾“入要分析的东西:\n");
    while((ch = getchar()) != EOF)
    {
        printchar(ch);
    }
    return 0;
}
void printchar(char ch)
{
    if(isalpha(ch))
    {
        printf("%c %d\n", ch, toupper(ch) % 'A' + 1);
    }
}
修改之后åQŒç¨‹åºå¦‚下:
#include <stdio.h>
#include <ctype.h>
int show_c_location(char ch);

int main(void)
{
    char ch;

    printf("Please enter some characters: \n");
    while((ch = getchar()) != '\n')
        printf("%c-%d ", ch, show_c_location(ch));
    return 0;
}
int show_c_location(char ch)
{
    int result;

    if(isalpha(ch))
        result = toupper(ch) - 'A' + 1;
    else
        result = -1;
    return result;
}
7�br />
#include <stdio.h>
double power(double n, int p);
int main(void)
{
    double x, xpow;
    int exp;

    printf("Enter a number and the positive integer power");
    printf(" to which\nthe number will be raised. Enter q");
    printf(" to quit.\n");
    while(scanf("%lf%d", &x, &exp) == 2)
    {
        xpow = power(x, exp);
        printf("%.3g to power %d is %.5g\n", x, exp, xpow);
        printf("Enter next pair of numbers or q to quit.\n");
    }
    printf("Hope you enjoyed this power trip -- bye!\n");
    return 0;
}
double power(double n, int p)
{
    int i;
    double result = 1;

    if(n != 0)
    {
        if(p > 0)
        {
            for(i = 1; i <= p; i++)
                result *= n;
        }
        else if(p < 0)
        {
            for(i = 1; i <= -p; i++)
                result *= (1 / n);
        }
        else
            result = 1;
    }
    else
    {
        if(p == 0)
            result = 1;// 0çš?‹Æ¡æ–¹æ˜¯ä¸€ä¸ªæœ‰äº‰è®®çš„æ•°åQŒæœ¬é¢˜è®¤ä¸ÞZ¼šå¾—到1
        else
            result = 0;
    }
    return result;
}
8�br />
#include <stdio.h>
double power(double n, int p);
int main(void)
{
    double x, xpow;
    int exp;

    printf("Enter a number and the positive integer power");
    printf(" to which\nthe number will be raised. Enter q");
    printf(" to quit.\n");
    while(scanf("%lf%d", &x, &exp) == 2)
    {
        xpow = power(x, exp);
        printf("%.3g to power %d is %.5g\n", x, exp, xpow);
        printf("Enter next pair of numbers or q to quit.\n");
    }
    printf("Hope you enjoyed this power trip -- bye!\n");
    return 0;
}
double power(double n, int p)
{
    double result = 1;

    if(n != 0)
    {
        if(p > 0)
            result = n * power(n, p-1);
        else if(p < 0)
            result = (1/n) * power(n, p+1);
        else
            result = 1;
    }
    else
    {
        if(p == 0)
            result = 1;// 0çš?‹Æ¡æ–¹æ˜¯ä¸€ä¸ªæœ‰äº‰è®®çš„æ•°åQŒæœ¬é¢˜è®¤ä¸ÞZ¼šå¾—到1
        else
            result = 0;
    }
    return result;
}
9�br />
#include <stdio.h>
void to_base_n(unsigned long n, int range);
int main(void)
{
    unsigned long number;
    int range;
    printf("误‚¾“入要转换的无½W¦å·æ•´æ•°å’Œæ‰€è§„定的进制数åQ?nbsp;\n");
    while(scanf("%lu %d", &number, &range) == 2)
    {
        if(range >= 2 && range <= 10)
        {
            printf("无符åäh•´æ•?lu转换æˆ?d˜q›åˆ¶æ•îCØ“åQ?nbsp;", number, range);
            to_base_n(number, range);
            putchar('\n');
            printf("误‚¾“入要转换的无½W¦å·æ•´æ•°å’Œæ‰€è§„定的进制数åQ?nbsp;\n");
        }
        else
            printf("所规定的进制数的范围是2~10åQŒè¯·è¾“入正确的数字\n");
    }
    printf("Done!\n");
    return 0;
}
void to_base_n(unsigned long n, int range)
{
    int r;

    r = n % range;
    if(n >= range)
        to_base_n(n / range, range);
    putchar('0' + r);
    return;
}
10、(题意理解不清楚,借鉴CSDN——vs9841原作者的做法åQŒè„‘子太½W¨ï¼Œå®žåœ¨æƒ³ä¸å‡ºæ¥åQ?br />
#include <stdio.h>
int Fibonacci(int n);
int main(void)
{
    int n = 9;
    printf("当nä¸?dæ—Óž¼Œæ–æ‡L¾U›_¥‘æ•°å€égØ“%d", n, Fibonacci(9));
    return 0;
}
int Fibonacci(int n)
{
    int a, b, i;
    a = 0;
    b = 1;
    int sum;
    if(n == 0)
        return 0;
    if(n == 1)
        return 1;
    else
    {
        for(i = 2; i <= n; i++)
        {
            sum = a + b;
            a = b;
            b = sum;
        }
        return sum;
    }
}
æ€È»“åQšæ€ÖM½“来说¾~–程¾lƒä¹ ç›¸å¯¹ä»¥å¾€æ¥è¯´è¦ç®€å•了åQŒä½†½W?0题没明白什么意思,所以只能借鉴别äh的了åQŒçœŸæ˜¯å¤©ä¸‹æ–‡ç« ä¸€å¤§æŠ„åQ?img src ="http://www.aygfsteel.com/BeautifulMan/aggbug/428322.html" width = "1" height = "1" />

]]>
C Primer Plus ½W?ç«?字符输入/输出和输入确è®? 复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/11/21/428310.html李阿昀李阿昀Sat, 21 Nov 2015 12:12:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/21/428310.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428310.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/21/428310.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428310.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428310.html复习é¢?/span>
1、putchar(getchar())是一个有效的表达式,它实çŽîC»€ä¹ˆåŠŸèƒ½ï¼Ÿgetchar(putchar())也有效吗åQ?br />½{”:
语句putchar(getchar())使程序读取下一个输入字½W¦åƈ打印它,getchar()的返回å€ég½œä¸ºputchar()的参数。getchar(putchar())则不是合法的åQŒå› ä¸ºgetchar()不需要参数而putchar()需要一个参数ã€?br />2、下面的每个语句实现什么功能?
    a.putchar('H');
    b.putchar('\007');
    c.putchar('\n');
    d.putchar('\b');
½{”:
a. 昄¡¤ºå­—符H
b.如果¾pȝ»Ÿä½¿ç”¨ASCII字符¾~–码åQŒåˆ™å‘出一声警æŠ?br />c.把光标移动到下一行的开å§?br />d.退后一æ ?br />3、假设您有一个程序countåQŒè¯¥½E‹åºå¯¹è¾“入的字符˜q›è¡Œ¾lŸè®¡ã€‚用count½E‹åºè®¾è®¡ä¸€ä¸ªå‘½ä»¤è¡Œå‘½ä×oåQŒå¯¹æ–‡äšgessay中的字符˜q›è¡Œè®¡æ•°òq¶å°†¾l“果保存在名为essayct的文件中ã€?br />½{”:
count < essay > essayct
4、给定问é¢?中的½E‹åºå’Œæ–‡ä»Óž¼Œä¸‹é¢å“ªä¸ªå‘½ä×o是正¼‹®çš„åQ?br />½{”:
a.essayct <essay
b.count essay
c.essay >count
½{”:
c是正¼‹®çš„ã€?br />5、EOF是什么?
½{”:
它是由getchar()å’Œscanf()˜q”å›žçš„ä¿¡åøP¼ˆä¸€ä¸ªç‰¹å®šçš„å€û|¼‰åQŒç”¨æ¥è¡¨æ˜Žå·²¾låˆ°è¾¾äº†æ–‡äšg的结ž®¾ã€?br />6、对¾l™å‡ºçš„输入,下面每个½E‹åºŒD늚„输出是什么(假定ch是int¾cÕdž‹çš„,òq¶ä¸”输入是缓冲的åQ‰ï¼Ÿ
a. 输入如下所½Cºï¼š
    If you quit, I will.[enter]
    ½E‹åºŒDµå¦‚下所½Cºï¼š
    while ((ch = getchar()) != 'i')
            putchar(ch);
b. 输入如下所½Cºï¼š
    Harhar[enter]
    ½E‹åºŒDµå¦‚下所½Cºï¼š
    while ((ch = getchar()) != '\n')
    {
               putchar(ch++);
               putchar(++ch);
    }
½{”:
a.If you qu
b.HJacrthjacrt
7、C如何处理å…ähœ‰ä¸åŒæ–‡äšg和换行约定的不同计算机系¾lŸï¼Ÿ
½{”:
C的标准I/O库把不同的文件åŞ式映ž®„䨓¾lŸä¸€çš„æµåQŒè¿™æ ·å°±å¯ä»¥æŒ‰ç›¸åŒçš„æ–¹å¼å¯¹å®ƒä»¬è¿›è¡Œå¤„理ã€?br />8、在¾~“冲¾pȝ»Ÿä¸­æŠŠæ•°å€ÆD¾“å…¥ä¸Žå­—ç¬¦è¾“å…¥ç›¸æØœåˆæ—¶åQŒæ‚¨æ‰€é¢äÍ的潜在问题是什么?
½{”:
数字输入跌™¿‡½Iºæ ¼å’Œæ¢è¡Œç¬¦åQŒä½†æ˜¯å­—½W¦è¾“å…¥åÆˆä¸æ˜¯˜q™æ ·ã€‚假设您¾~–写了这æ ïLš„代码åQ?br />
    int score;
    char grade;
    printf("Enter the score.\n");
    scanf("%d", &score);
    printf("Enter the letter grade.\n");
    grade = getchar();
假设您输入分æ•?8åQŒç„¶åŽæŒ‰ä¸‹å›žè½¦é”®æ¥æŠŠåˆ†æ•°å‘送给½E‹åºåQŒæ‚¨åŒæ—¶ä¹Ÿå‘送了一个换行符åQŒå®ƒä¼šæˆä¸ÞZ¸‹ä¸€ä¸ªè¾“入字½W¦è¢«è¯Õd–到grade中作为等¾U§çš„倹{€‚如果在字符输入之前˜q›è¡Œäº†æ•°å­—输入,ž®±åº”该添加代码以在获取字½W¦è¾“入之前剔除换行字½W¦ã€?br />¾~–程¾lƒä¹ 
1�br />
#include <stdio.h>
int main(void)
{
    int ch;
    int count = 0;
    while((ch = getchar()) != EOF) // åŒ…括换行½W?/span>
        count++;
    printf("The number of characters is %d\n", count);
    return 0;
}
2、(觉得˜q™é¢˜­‘…难的!åQï¼çœ‹äº†ä¸€äº›ä»–人写的例子,½Ž€ç›´èƒ¡è¯´å…«é“!åQï¼ä¸è¿‡˜q˜æ˜¯å®Œç¾Žè§£å†³äº†ï¼‰
#include <stdio.h>
int main(void)
{
    int ch;
    int i = 0;

    while((ch = getchar()) != EOF)
    {
        if(ch >= 32)  // å¯æ‰“印字½W?/span>
        {
            putchar(ch);
            printf("/%d  ", ch);
            i++;
        }
        else if(ch == '\n')  // æ‰“印换行½W?/span>
        {
            printf("\\n");
            printf("/%d  ", ch);
            putchar(ch); // æ¸…除输入¾~“冲区里面的换行½W?/span>
            = 0// i¾|®äØ“0重新开始计敎ͼŒå› äؓ题目要求每次遇到一个换行符时就要开始打åîC¸€ä¸ªæ–°è¡?/span>
        }
        else if(ch == '\t')  // æ‰“印制表½W?/span>
        {
            printf("\\t");
            printf("/%d  ", ch);
            i++;
        }
        else // æ‰“印控制字符
        {
            putchar('^');
            putchar(ch + 64);
            printf("/%d  ", ch);
        }
        if(i == 10)
        {
            putchar('\n');
            i = 0;
        }
    }
    return 0;
}
˜qè¡Œ¾l“果如下åQ?br />
I love you!
I/73   /32  l/108  o/111  v/118  e/101   /32  y/121  o/111  u/117åQˆæ¯è¡Œæ‰“å?0个å€û|¼‰
!/33  \n/10åQˆæ¯‹Æ¡é‡åˆîC¸€ä¸ªæ¢è¡Œç¬¦æ—¶å°±å¼€å§‹ä¸€ä¸ªæ–°è¡Œï¼‰
My hello world^A
M/77  y/121   /32  h/104  e/101  l/108  l/108  o/111   /32  w/119åQˆæ¯è¡Œæ‰“å?0个å€û|¼‰
o/111  r/114  l/108  d/100  ^A/1  \n/10åQˆæ¯‹Æ¡é‡åˆîC¸€ä¸ªæ¢è¡Œç¬¦æ—¶å°±å¼€å§‹ä¸€ä¸ªæ–°è¡Œï¼‰
^Z
3�br />
#include <stdio.h>
#include <ctype.h>
int main(void)
{
    int ch;
    int low_count = 0, up_count = 0;

    while((ch = getchar()) != EOF)
    {
        if(islower(ch))
            low_count++;
        if(isupper(ch))
            up_count++;
    }
    printf("A number of capital letters: %d\n", up_count);
    printf("A number of lower case letters: %d\n", low_count);
    return 0;
}
4�br />
#include <stdio.h>
#include <ctype.h>
#include <stdbool.h>
int main(void)
{
    char ch;
    long chars = 0L; // ¾lŸè®¡å•词的字½W¦æ•°
    int words= 0; // å•词æ•?/span>
    bool inword = false// å¦‚æžœch在一个单词中åQŒåˆ™inword为true

    printf("Enter text to be analyzed: \n");
    while((ch = getchar()) != EOF)
    {
        if(!isspace(ch) && !ispunct(ch))
            chars++;
        if(!isspace(ch) && !inword)
        {
            inword = true;
            words++;
        }
        if(isspace(ch) && inword)
            inword = false;
    }
    printf("The average number of words per word: %ld\n", chars / words);
    return 0;
}
5、(二分搜烦½Ž—法½W¬ä¸€‹Æ¡ç¢°è§ï¼Œæžäº†å¤§åŠå¤©äº†åQŒå€Ÿé‰´çš„æ˜¯CSDN-----vs9841作者的做法åQŒä¸˜q‡ç¨å¾®åŠ äº†ä¸‹å·¥ï¼‰
#include <stdio.h>
char get_choice(void);
char get_first(void);
int main(void)
{
    int low = 1, high = 100, guess = 50;
    char ch;

    printf("Pick an integer from 1 to 100. I will try to guess it\n");
    printf("Unis your number %d?\n", guess);
    while((ch = get_choice()) != 'q')
    {
        if(ch == 'a')
        {
            printf("I knew I could do it!\n");
            break;
        }
        else if(ch == 'b')
        {
            printf("It is too small!\n");
            low = guess + 1;
        }
        else if(ch == 'c')
        {
            printf("It is too big!\n");
            high = guess - 1;
        }
        guess = (low + high) / 2;
        printf("Unis your number %d?\n", guess);
    }
    printf("Done!\n");
    return 0;
}
char get_choice(void)
{
    int ch;

    printf("Enter the letter of your choice: \n");
    printf("a. right       b. too small\n");
    printf("c. too big     q. quit\n");
    ch = get_first();
    while((ch < 'a' || ch > 'c') && ch != 'q')
    {
        printf("Please respond with a, b, c, or q.\n");
        ch = get_first();
    }
    return ch;
}
char get_first(void)
{
    int ch;

    ch = getchar();
    while(getchar() != '\n')
        continue;
    return ch;
}
6�br />
char get_first(void)
{
    int ch;

    while((ch = getchar()) == '\n')
        continue;
    while(getchar() != '\n')
        continue;
    return ch;
}
7�br />
#include <stdio.h>
#define WORK_OVERTIME 40
#define MULTIPLE 1.5
#define RATE1 0.15
#define RATE2 0.20
#define RATE3 0.25
#define BREAK1 300
#define BREAK2 450
#define BASE1 (BREAK1 * RATE1)
#define BASE2 (BASE1 + (BREAK2 - BREAK1) * RATE2)
char get_choice(void);
char get_first(void);
int main(void)
{
    int hour, choise;
    double total, tax, net_pay;
    double base_pay; // åŸºæœ¬å·¥èµ„½{‰çñ”不能ç”?define来定义了åQŒå› ä¸ºå®ƒè¦éšç€½E‹åºè€Œæ”¹å˜äº†åQŒä¹¦ä¸ŠçœŸæ˜¯èƒ¡è¯´å…«é?/span>

    while((choise = get_choice()) != 'q')
    {
        switch(choise)
        {
        case 'a':
            base_pay = 8.15;
            break;  // breakåªæ˜¯å¯ÆD‡´½E‹åºè„Þq¦»switch语句åQŒèŸ©åˆ°switch之后的下一条语句!åQï¼
        case 'b':
            base_pay = 9.33;
            break;
        case 'c':
            base_pay = 10.00;
            break;
        case 'd':
            base_pay = 11.20;
            break;
        default:
            printf("Program error!\n");
            break;
        }
        printf("Please enter the hour used: ");
        scanf("%d", &hour); // èŽ·å–æ¯å‘¨å·¥ä½œž®æ—¶æ•°æ—¶æ²¡æœ‰åƒä¹¦ä¸Šé‚£æ ·åˆ¤æ–­ï¼Œæˆ‘偷懒了åQï¼åQ?/span>
        if(hour <= WORK_OVERTIME)
        {
            total = hour * base_pay;
            if (total <= BREAK1)
            {
                tax = total * RATE1;
                net_pay = total - tax;
            }
            else
            {
                tax = BASE1 + (total - BREAK1) * RATE2;
                net_pay = total - tax;
            }
        }
        else
        {
            total = base_pay * WORK_OVERTIME + (hour - WORK_OVERTIME) * MULTIPLE * base_pay;
            if(total <= BREAK2)
            {
                tax = BASE1 + (total - BREAK1) * RATE2;
                net_pay = total - tax;
            }
            else
            {
                tax = BASE2 + (total - BREAK2) * RATE3;
                net_pay = total - tax;
            }
        }
        printf("The total pay: %.2f; tax: %.2f; net pay: %.2f\n", total, tax, net_pay);
    }
    printf("Bye!\n");
    return 0;
}
char get_choice(void)
{
    int ch;

    printf("*****************************************************************\n");
    printf("Enter number corresponding to the desired pay rate or action:\n");
    printf("a) $8.75/hr\tb) $9.33/hr\n");
    printf("c) $10.00/hr\td) $11.20/hr\n");
    printf("q) quit\n");
    printf("*****************************************************************\n");
    printf("Please enter your choise: ");
    ch = get_first();
    while((ch < 'a' || ch > 'd') && ch != 'q')
    {
        printf("Please respond with a, b, c, d, or q.\n");
        ch = get_first();
    }
    return ch;
}
char get_first(void)
{
    int ch;

    while((ch = getchar()) == '\n')
        continue;
    while(getchar() != '\n')
        continue;
    return ch;
}
8�br />
#include <stdio.h>
char get_choice(void);
char get_first(void);
float get_float(void);
int main(void)
{
    char choise;
    float first_number, second_number;

    while((choise = get_choice()) != 'q')
    {
        printf("Enter first number: ");
        first_number = get_float();
        printf("Enter second number: ");
        second_number = get_float();
        switch(choise)
        {
        case 'a':
            printf("%.1f + %.1f = %.1f\n", first_number, second_number, first_number + second_number);
            break;
        case 's':
            printf("%.1f - %.1f = %.1f\n", first_number, second_number, first_number - second_number);
            break;
        case 'm':
            printf("%.1f * %.1f = %.1f\n", first_number, second_number, first_number * second_number);
            break;
        case 'd':
            if(second_number == 0)
            {
                printf("Enter a number other than 0: ");
                second_number = get_float();
                printf("%.1f / %.1f = %.1f\n", first_number, second_number, first_number / second_number);
            }
            else
                printf("%.1f / %.1f = %.1f\n", first_number, second_number, first_number / second_number);
            break;
        default:
            printf("Program error!\n");
            break;
        }
    }
    printf("Bye.\n");
    return 0;
}
char get_choice(void)
{
    int ch;

    printf("Enter the operation of your choice: \n");
    printf("a. add\ts. subtract\n");
    printf("m. multiply\td. divide\n");
    printf("q. quit\n");
    ch = get_first();
    while(ch != 'a' && ch != 's' && ch != 'm' && ch != 'd' && ch != 'q')
    {
        printf("Please respond with a, s, m, d, or q.\n");
        ch = get_first();
    }
    return ch;
}
char get_first(void)
{
    int ch;

    while((ch = getchar()) == '\n')
        continue;
    while(getchar() != '\n')
        continue;
    return ch;
}
float get_float(void)
{
    float input;
    char ch;

    while((scanf("%f", &input)) != 1)
    {
        while((ch = getchar()) != '\n')
            putchar(ch);
        printf(" is not a number.\nPlease enter a ");
        printf("number, such as 2.5, -1.78E8, or 3: ");
    }
    return input;
}



]]>
C Primer Plus ½W?ç«?C控制语句åQšåˆ†æ”¯å’Œè·Œ™{ 复习题与¾~–程¾lƒä¹ http://www.aygfsteel.com/BeautifulMan/archive/2015/11/20/428296.html李阿昀李阿昀Thu, 19 Nov 2015 16:02:00 GMThttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/20/428296.htmlhttp://www.aygfsteel.com/BeautifulMan/comments/428296.htmlhttp://www.aygfsteel.com/BeautifulMan/archive/2015/11/20/428296.html#Feedback0http://www.aygfsteel.com/BeautifulMan/comments/commentRss/428296.htmlhttp://www.aygfsteel.com/BeautifulMan/services/trackbacks/428296.html    a.100 > 3 && 'a' >&nbs...  é˜…读全文

]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º Üþ¾­ÏØ| С½ðÏØ| ÓÀÐÞÏØ| ½­¶¼ÊÐ| À×ÖÝÊÐ| ÐÂÆ½| ÄÏÆ¤ÏØ| ³üÖÝÊÐ| °ÍÑåÏØ| Âí¹ØÏØ| ºÍÁÖ¸ñ¶ûÏØ| ¶ýÔ´ÏØ| Ëç±õÏØ| вÌÏØ| ¶¨°²ÏØ| Ù¤Ê¦ÏØ| ÄÒÇ«ÏØ| ÎÚÀ¼ºÆÌØÊÐ| Ì©Ë³ÏØ| ÒÁͨ| äàË®ÏØ| ³¤ÁëÏØ| ÐÁ¼¯ÊÐ| Ò³ÓÎ| °²Î÷ÏØ| ÅÊÖ¦»¨ÊÐ| ³¤ÎäÏØ| Óà¸ÉÏØ| ÃÏÁ¬| Ì«¿µÏØ| ËÉÌÒ| ³ÉÎäÏØ| ¹þ°ÍºÓÏØ| °²¿µÊÐ| ÈÎÇðÊÐ| ¼Ñľ˹ÊÐ| ¿Æ¶û| ÓñÊ÷ÏØ| ÁøºÓÏØ| ÎäÄþÏØ| ²ýÍ¼ÏØ|