c语言程序与设计

c语言程序与设计,第1张

代码如下:

#include<stdioh>

int main() {

    printf("请输入不超过4位的整数");

    int input, count;

    scanf("%d", &input);

    if (input >= 10000) {

        printf("不允许超出4位");

        return 0;

    } else if (input >= 1000) {

        count = 4;

    } else if (input >= 100) {

        count = 3;

    } else if (input >= 10) {

        count = 2;

    } else if (input >= 0) {

         count = 1;

    } else {

        printf("不允许为负数");

        return 0;

    }

    printf("共有%d位\n", count);

    return 0;

}

作为实训报告

至少要包含下面几部分

1实验的平台系统环境

实验过程

目的

2代码涉及的语法

3最终结果以及编码调试过程中的bug解决方法

经验总结

11 A

解析

x=12 ,则 y=x>12x+10:x-12 ==>表达式 x>12为假,y=x-12=12-12=0

12 B

解析

while语句格式如下所示:

while(<循环条件>)

{<循环体>;}

程序执行到while时:1判断while后的循环条件;2当<循环条件>为真时,执行<循环体>;3当<循环条件>为假时,不执行<循环体>,跳出while语句段;4重复1-3步骤。

while(k=0),因为k=0是一个赋值表达式,它为永真,所以表达式 k=0总是为真,而循环体内没有break,故循环体执行无数次。

13 A

解析当(!E)为真,则执行循环体,此时E为假;当(!E)为假,则不执行循环体,此时E为真;即E为假时执行循环体,E为真时不执行循环体;

故while(!E)与while(E==0)时等价的,都是E为假时执行循环体,E为真时不执行循环体。

14 C

解析

n++<=2,先判断n<=2,在自加1while的循环体是一个空语句";",

1n=0 ,n++<=2==>0<=2,n=1;

2n=1 ,n++<=2==>1<=2,n=2;

3n=2 ,n++<=2==>2<=2,n=3;

4n=3 ,n++<=2==>3<=2为假,跳出循环,n=4;

故printf()时n=4

15 A

解析

dowhile格式:

do

{<循环体>;}

while(<循环条件>);

它是先执行一次后再判断,while是先判断在执行。故do-while的循环体至少无条件执行一次 ,而while可能一次也不执行。

16 C

解析

第一次执行的时候,x=(-1)(-1)=1,判断(!x)为假,跳出循环。故只执行1次。

17 D

解析

A,B显然不正确。在do-while循环体中有break语句是照样可以跳出循环。

18 B

解析

TC20执行

19 D

解析

TC20执行

20 D

解析

显然!

#include<stdioh> 

void main(){ 

  int a,b; 

  printf("请输入两个数字"); 

  scanf("%d",&a); 

  scanf("%d",&b); 

  printf("%d %d %d",(a+b),(a-b),(ab)); 

  if(b==0) 

     printf(" NONE NONE\n"); 

  else 

     printf(" %d %d\n",(a/b),(a%b)); 

}

具体如下:

1、简介C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

2、基本介绍

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

3、运算

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。

《C语言程序设计》(谭浩强)电子书网盘下载免费在线阅读

2012

书名:C语言程序设计

作者:谭浩强

豆瓣评分:71

出版社:清华大学出版社

出版年份:2001-12-1

页数:338

内容简介:

《C语言程序》功能丰富,使用灵活,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,现可以用为编写系统软件,又可用于编写应用软件,是国内外广泛使用的计算机语言。C程序设计是计算机应用人员应掌握的基本功。针对C语言比较难学的情况,作者对全书内容做了精心安排,分解难点,减小台阶,用通俗易懂的语言和丰富的例题解释清楚复杂的概念。

作者简介:

谭浩强教授,我国著名计算机教育专家。1934年生,广东台山人。1985年清华大学自动控制系毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一,现任全国高等院校计算机基础教育研究会会长、教育部一国计算机应用技术证书考试委员会主任委员和教育部全国计算机等级考试委员会副主任。

他创造了3个世界记录:(1)20年来他(及和他人合作)共编著出版了140本计算机著作,此外主编了300多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过5000万册,是读者最多的科技作家。我国平均每26人、知识分子每15人就拥有1本谭浩强编著的书。(3)他和别人合作编著的《BASIC语言》发行了1250万册,创科技书籍发行量的世界记录。此外他编著的《C程序设计》发行了700万册,在中央电视台系统地向全国讲授了BASIC、C、FORTRAN、COBOL、PASCAL、Visual Basic共7种计算机语言,观众超过500万人。

在我国学习计算机的人中很少有人不知道谭浩强的名字的。他善于用读者容易理解的方法和语言说明复杂的概念。许多人认为他“开创了计算机书籍贴近大众的新风”,为我国的计算机普及画来作出了重要贡献。

谭浩强教授获全国高校教学成果奖(国家能奖)、国家科技进步奖,北京市政府授予“有突出贡献专家称号”。全国政协副主席、中国工程院院长宋健为他题词,知名人士他为“教授计算技术的大师,普及现代科技之巨擘”。《计算机世界》报组织的“世纪评选”指导他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位)。他的功绩是把千百万群众带入计算机的大门。

#include <stdioh>

#include <stdlibh>

#include <stringh>

#define MAX_NUM 50

#define MAX_LINE 256

struct student {

    char name[10];

    float math;

    float chinese;

    float eng;

    float aver;

    char  grade;

};

const char  student_file = "studenttxt";

const char  grade_file   = "gradetxt";

int init(struct student  s, int n);

int fun(struct student s[], int n);

void sort(struct student  s, int n);

void display(struct student  s, int n);

void save_student(struct student  s, int n, const char  file);

void load_student(const char  file);

int main(int argc, char argv[])

{

    int num = 0;

    struct student st[MAX_NUM];

    num = init(st, MAX_NUM);

    printf("\n等级为D的人数: %d\n", fun(st, num));

    save_student(st, num, student_file);

    sort(st, num);

    save_student(st, num, grade_file);

    display(st, num);

    printf("\n所有学生信息\n");

    load_student(student_file);

    printf("\n排序后的学生信息\n");

    load_student(grade_file);

    return 0;

}

/ 初始化 /

int init(struct student  s, int n)

{

    int num = 0, i = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    printf("请输入学生数量[不大于50]: ");

    fflush(stdout);

    scanf("%d", &num);

    while (0 >= num || n < num)

    {

        fflush(stdin);

        printf("无效的参数,请输入学生数量[不大于50]: ");

        fflush(stdout);

        scanf("%d", &num);

    }

    for (i = 0; i < num; ++i)

    {

        printf("请输入第%d个学生的信息: ", i + 1);

        fflush(stdout);

        scanf("%9s %f %f %f", s[i]name, &s[i]math, &s[i]chinese, &s[i]eng);

        fflush(stdin);

    }

    return num;

}

/ 计算平均成绩并统计等级为D的人数 /

int fun(struct student s[], int n)

{

    int i = 0, cnt = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    for (i = 0; i < n; ++i)

    {

        s[i]aver = (s[i]math + s[i]chinese + s[i]eng) / 30;

        if (70 <= s[i]aver && 85 > s[i]aver)

            s[i]grade = 'B';

        else if (60 <= s[i]aver && 70 > s[i]aver)

            s[i]grade = 'C';

        else if (60 > s[i]aver)

            s[i]grade = 'D';

        else

            s[i]grade = 'A';

        if ('D' == s[i]grade)

            ++cnt;

    }

    return cnt;

}

/ 降序排列 /

void sort(struct student  s, int n)

{

    int i = 0, j = 0;

    struct student tmp;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    for (i = 0; i < n - 1; ++i)

    {

        for (j = 0; j < n - 1 - i; ++j)

        {

            if (s[j]aver < s[j + 1]aver)

            {

                tmp = s[j];

                s[j] = s[j + 1];

                s[j + 1] = tmp;

            }

        }

    }

}

void display(struct student  s, int n)

{

    int i = 0;

    if (0 == s || 0 >= n || MAX_NUM < n)

        return 0;

    printf("所有学生的信息如下: \n");

    for (i = 0; i != n; ++i)

    {

        printf("%d name[%s] math[%1f] chinese[%1f] eng[%1f] aver[%1f] grade[%c]\n",

               i + 1, s[i]name, s[i]math, s[i]chinese, s[i]eng, s[i]aver, s[i]grade);

    }

}

/ 保存学生信息到指定文件 /

void save_student(struct student  s, int n, const char  file)

{

    int i = 0;

    FILE  fp = 0;

    char buf[MAX_LINE] = {0};

    if (0 == s || 0 >= n || MAX_NUM < n || 0 == file)

        return 0;

    if (fp = fopen(file, "w"))

    {

        for (i = 0; i != n; ++i)

        {

            sprintf(buf, "%s %1f %1f %1f %1f %c\r\n",

                    s[i]name, s[i]math, s[i]chinese, s[i]eng, s[i]aver, s[i]grade);

            fwrite(buf, 1, strlen(buf), fp);

            memset(buf, 0x00, MAX_LINE);

        }

        fclose(fp);

    }

}

/ 加载指定文件中的信息 /

void load_student(const char  file)

{

    char buf[MAX_LINE] = {0};

    FILE  fp = 0;

    if (0 == file)

        return ;

    if (fp = fopen(file, "r"))

    {

        while (fgets(buf, MAX_LINE, fp))

            printf("%s", buf);

        fclose(fp);

    }

}

以上就是关于c语言程序与设计全部的内容,包括:c语言程序与设计、C语言 程序设计与应用教程 顺序结构程序设计 的实训报告怎样写、C语言与程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9970642.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存