20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02

20201015-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02

程序设计:根据要求设计出相应的程序并将程序上传至服务器,系统将在约定的时间内对考生上传的程序进行自动评分。单击此处下载系统提供的专用检查程序,以在需要时辅助考生检查程序的编制是否符合要求——某些题已提供部分代码并禁止用户修改已有内容,并对考生新加代码的行数及行长有限制。

成信大-C语言程序设计上机作业-参考

20201学期《C语言程序设计B》C-trainingExercises02

P134

在这里插入图片描述

题解和分析

/*
编写一程序P134.C实现以下功能
  通过键盘输入一串(约定为10个字符),输出每个字符对应的ASCII码值(十进制)。
    编程可用素材:printf("\n请输入10个字符:")、printf("\n加密结果为:…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        请输入10个字符:Very Good!

        加密结果为:86, 101, 114, 121, 32, 71, 111, 111, 100, 33
*/
#include <stdio.h>

int main(int argc, char *argv[])
{
    char ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8, ch9, ch10;

    printf("请输入10个字符:");
    scanf("%c%c%c%c%c%c%c%c%c%c", &ch1, &ch2, &ch3, &ch4, &ch5, &ch6, &ch7, &ch8, &ch9, &ch10);
    // 未加密,直接输出,也就是原样输出
    // printf("\n加密结果为:%c, %c, %c, %c, %c, %c, %c, %c, %c, %c\n",
    //    ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8, ch9, ch10);
    // 加密,用数值,也就是ASCII码值输出【人看不懂时,就是加密】
    printf("\n加密结果为:%d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n",
           ch1, ch2, ch3, ch4, ch5, ch6, ch7, ch8, ch9, ch10);

    return 0;
}

/*
	分析:
		1. 由于是初学,建议直接使用多个变量来解决问题,而实际到了后面,学习了数组以后,我们会用数组的方式来组织多个同类型的数据;
		2. 加密和解密是相对人的认知而言的,人能直接识别的信息,可以称为明文,不能直接识别的,就是密文,把明文变成密文的过程,就是加密;先可以这么理解。这里的所谓加密,本质上就是用另一种解码格式来输出。即
			字符----ASCII值【也就是整数形式,但理解上是编码】
			对机器而言,都一样,最终都是二进制0101的数据
		3. 反复强调,scanf是从键盘扫入数据,存到内存中,而这里的内存的位置,就是使用“取地址符&"来完成的
		4. 输出时,就只是把内存的数据读出来输出,用某种格式输出即可
*/

P710

在这里插入图片描述

题解和分析

/*
编写一程序P710.C实现以下功能
  输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。
    编程可用素材:printf("Input a lowercase letter: ")、printf("\n…(…)…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。

        Input a lowercase letter: y

        y(121)
        Y(89)
*/
#include <stdio.h>

int main(int argc, char *argv[])
{
    char ch;

    printf("Input a lowercase letter: ");
    scanf("%c", &ch);
    printf("\n%c(%d)", ch, ch);
    printf("\n%c(%d)", ch - 32, ch - 32);
    
    return 0;
}

/*
	分析:
		知识点1:学习者对ASCII码表的熟悉程序,大小写之间相差32,编码时,小写在后,大写在前,所以
			小写转大写:-32 即可
			大写转小写:+32 即可
		知识点2:
			printf输出格式串里,有普通字符,原样输出;有格式字符,即%d,%c等,这个相当于是占位,供这后的相应的对位参数在此输出
			最终的输出接果,是一个代入并拼接完成的结果,仍然是一个大的字符串
		
*/

P733

在这里插入图片描述

题解和分析

/*
编写一程序P733.C实现以下功能
  从键盘读入一个任意字符,输出该字符ASCII的十六进制值。
    编程可用素材:printf("Input a character: ")、printf("\nAscii('…') = 0x…\n"…。
  程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
        Input a character: b

        Ascii('b') = 0x62
*/
#include <stdio.h>

int main(int argc, char *argv[])
{
    char ch;

    printf("Input a character: ");
    scanf("%c", &ch);
    printf("\nAscii('%c') = 0x%x\n", ch, ch);

    return 0;
}

/*
	分析:
		知识点:
			1. 十六进制数,一般以0x打头,注意这个格式,在输出中先拼接上
			2. C语言中,任意整数,都可以以三种形式输出
				%i 或  %d  即十进制
				%o  即八进制
				%x  即十六进制
			3. 字符的本质是ASCII码值,这个值就是一个整数,取值范围是0-127
				输入和输出字符时,使用%c占位
*/

P259

在这里插入图片描述

题解和分析

/*
编写一程序P259.C实现以下功能
  先从键盘读入7个数据(依次为3整数、2字符、2实数),然后按示例格式倒序输出这7个数据。
    编程可用素材:printf("请输入7个数据(依次为3整数、2字符、2实数): ")、printf("\n这7个数据倒序为: ")。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        请输入7个数据(依次为3整数、2字符、2实数): 81 192 35 x m 6127.123763 152.351192

        这7个数据倒序为: 7-152.35119 6-6127.12376 5-m 4-x 3-35 2-192 1-81
    注意事项:
        1.输入scanf里,有空间间隔,否则,键盘缓冲会让字符部分输入不正确
        2.正常情况下,默认输入的实数数据被认为是double实数
            所以,编程时,一般不用float型,直接使用double型
*/
#include <stdio.h>

int main(int argc, char *argv[])
{
    int data1, data2, data3;
    char ch1, ch2;
    double fdata1, fdata2;

    printf("请输入7个数据(依次为3整数、2字符、2实数): ");
    scanf("%d %d %d %c %c %lf %lf", 
        &data1, &data2, &data3, &ch1, &ch2, &fdata1, &fdata2);
    printf("\n这7个数据倒序为: 7-%.5lf 6-%.5lf 5-%c 4-%c 3-%d 2-%d 1-%d\n", 
        fdata2, fdata1, ch2, ch1, data3, data2, data1);

    return 0;
}
/*
	分析
		1. 常见的数据输入格式
			%c 字符
			%d 整数
			%ld 长整数
			%f float浮点数
			%lf double浮点数
		2. 要求慢慢熟悉输入和输出,即
			printf("格式化串",参数列表);
			scanf("格式化串",参数列表);
*/

P711

在这里插入图片描述

题解和分析

/*
编写一程序P711.C实现以下功能
  用scanf输入圆半径r,圆柱高h,求圆周长C1(=2πr)、圆面积S(=πr2)、圆柱体积V(=πr2h)。
    (注意:本题中规定圆周率取值为3.14)
  编程可用素材:printf("Input: ")、printf("\nC1 = … S = … V =…。
  程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
        Input: r=1.3, h=5

        C1 = 8.16
         S = 5.31
         V = 26.53
    知识点:
        1. 变量名定义:见名知意
        2. 使用float类型,因数一定有小数
        3. 自定义常量,使用宏定义替换
        4. 输出时,两位小数【自动有四舍五入的精度保留】 
        5. 输出节细,注意空行空格    
*/
#include <stdio.h>

#define PI 3.14

int main(int argc, char *argv[])
{
    double radius, height;
    double circle, area, cube;

    printf("Input: ");
    scanf("r=%lf, h=%lf", &radius, &height);
    // 圆周长C1(=2πr)、圆面积S(=πr2)、圆柱体积V(=πr2h)
    circle = 2.0 * PI * radius;
    area = PI * radius * radius;
    cube = area * height;

    printf("\nC1 = %.2lf", circle);
    printf("\n S = %.2lf", area);
    printf("\n V = %.2lf", cube);

    return 0;
}
/**
	分析
		1. 本程序已经明确地看到了一个典型的顺序结构:输入,处理,输出,即IPO(input,process,output),以后的学习,很多时候需要自己来写这串完整的顺序结构
		2. 常用的典型算法,要能用C的表达式来表达出来
			强调:
				数学上的表达式,和这里C的表达式不一样。
				数学上为了美,为了简洁,会省略一些符号,同学们不能先入主为地也跟着省略
				这些符号,在C中,其实是操作符,编译过后是有代码的,不能省略,省略了就会有语法错误
*/	

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您好,我是AI语言助手,以下是对您的回复: 20201022-成信大-c语言程序设计-20201学期c语言程序设计b》是一门面向大学生的C语言程序设计课程,主要教授C语言的基础知识和编程技巧,包括数据类型、运算符、流程控制语句、函数、指针、数组、结构体等内容。通过本课程的学习,学生可以掌握C语言的基本语法和编程思想,提高编程能力和解决问题的能力,为以后的编程学习和工作打下坚实的基础。 ### 回答2: 20201学期的《c语言程序设计b》是一个深入学习C语言的课程,教授的是C语言的高级应用。在本次课程中,学生将会进一步学习C语言的语法、程序设计思路以及具体的编码实践。 首,学生将会学习C语言中的函数、指针、结构体、联合体、枚举等高级概念。这些概念是C语言面向对象编程中至关重要的概念,也是学生在日后编写复杂程序时所必须了解的内容。此外,在学习这些概念的同时,学生还将学习如何使用宏定义和预编译指令来进一步优化程序性能。 其次,学生将会进行具体的编码实践,包括基于C语言数据结构设计和实现、字符串处理、文件操作、网络编程等等。这些项目和实践将会提供给学生大量的机会来将所学的概念应用到具体的场景中,帮助学生更深入地理解C语言的应用。 此外,学生还将参加课堂讨论、代码评审等活动,通过这些活动来提高自己的编程能力、代码质量和团队协作能力。教师也将会给学生提供详细的反馈,帮助他们改善自己的问题和提高自己的能力。 总之,《c语言程序设计b》是一门非常重要的课程,对于学生日后从事计算机编程工作具有非常重要的意义。通过学习这门课程,学生将会大幅提高自己的编程能力、透彻理解C语言并将其应用到实际工作中。 ### 回答3: 成信大-20201学期c语言程序设计b》是一门针对深入学习C语言的高级课程,内容涵盖了高级数据结构、算法设计、动态内存分配、文件操作等等。 在这门课程中,学生将通过实践和理论学习,掌握C语言的高级编程技巧和策略。课程的重点之一是高级数据结构,包括链表、树、哈希表、图等等,学生将深入理解数据结构的实现和应用。 除此之外,课程还将涉及算法设计和分析,学生将学习如何设计出高效的算法,并进行时间和空间复杂度分析。动态内存分配和文件操作也是这门课程的重点,这些技术对于C语言程序设计来说非常重要。 学生在课程中还将开展实践项目,以实现理论学习。通过项目实践,学生将在实际中应用学到的技术,发现其中存在的问题并解决。 总之,成信大-20201学期c语言程序设计b》是一门非常高级的、面向深度学习的课程。通过系统学习和实践的方式,学生将深入掌握C语言的高级编程技巧。这门课程对于想要深入学习C语言的学生来说是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值