C语言基本语法入门练习题

第1关:求绝对值


任务描述

本关需要你完成一个求整数绝对值的小程序。

相关知识

什么是绝对值?一个正数和0的绝对值是它本身,一个负数的绝对值是它的相反数。总之,一个数的绝对值是非负数。

C语言中求绝对值的函数有两个:abs()fabs()

  • abs() 是用来求整型表达式的绝对值;

  • fabs() 是用来求浮点型表达式的绝对值,主要是求精度要求更高的doublefloat 型的绝对值。

abs()

用法如下:

 
  1. #include<stdio.h>
  2. #include<stdlib.h> // abs函数头文件
  3. int abs (int j);

例如:

 
  1. #include <stdlib.h>
  2. main(){
  3. int ansert;
  4. answer = abs(-15);
  5. printf("%d", answer);
  6. }

fabs()语句

用法如下:

 
  1. #include <stdio.h>
  2. #include <math.h> //fabs函数头文件
  3. double fabs (double x);
  4. float fabs (float x);

例如:

 
  1. #include "stdio.h"
  2. #include "math.h"
  3. int main(void){
  4. double x=2.5478,y=-x;
  5. printf("x = %f fabs(x) = %f
  6. ",x,fabs(x));
  7. printf("y = %f fabs(y) = %f
  8. ",y,fabs(y));
  9. return 0;
  10. }

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • 根据输入数据输出该值的绝对值,效果如下: 输入:-25。 输出:25

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。


验货啦,验货啦,开始你的任务吧!

#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin ********/
    int i,num;
    scanf("%d",&i);
    num = abs(i);
    printf("%d",num);
	/********** End **********/
}

第2关:求m以内的奇数之和

100

  • 任务要求
  • 参考答案
  • 评论166

任务描述

本关需要你完成一个求奇数之和的小程序。

相关知识

什么是奇数?奇数又称单数, 整数中,能被2整除的数是偶数,不能被2整除的数是奇数,奇数的个位为13579

公式:

C语言中循环控制语句主要有while循环语句、do-while循环语句和for循环语句。

while循环

基本语法:

 
  1. while(表达式){
  2. 循环体;//或者称为语句块

语义:

  1. 选判断表达式是否成立,如果成立,则跳转到2,否则跳转到3

  2. 执行循环体,执行完毕跳转到1

  3. 跳出循环,循环结束。

例如:

 
  1. //打印1-100的值
  2. #include<stdio.h>
  3. int main() {
  4. int i = 1;
  5. while( i<=100 ) {
  6. printf("%d ",i);
  7. i++;
  8. }
  9. return 0;
  10. }
 
  1. 运行结果是: 2

while循环需要注意的地方:

  • 防止死循环; 避免条件永真或者永假。如果永真则死循环;如果永假则不循环,写起来毫无意义;
  • while``循环后面,不要加分号,即在while后面不要加分号;`;

  • 不要忘记写循环的结束语句;

  • while``循环和if语句的相同点:大括号可以省略,但省略后只能控制离它最近的一条语句。也就是说当循环体只有一条语句的的时候,可以省略大括号,前提是这条语句不能是声明语句(如:int num = 10;` )。

do…while循环

基本语法:

 
  1. do{
  2. 循环体;//或者称为语句块
  3. }while(表达式);

语义:

  1. 先执行循环体,跳转到2

  2. 先判断表达式是否成立,如果成立,则跳转到1,否则跳转到3

  3. 跳出循环,循环结束。

所以do…while循环中,循环体至少会被执行1次。

do…while循环和while循环最大的区别是:do…while循环先执行循环体,再判断表达式;while循环是先判断循环体,再执行。即:

while里的循环体可能1次都不会被执行; do…while循环里面的循环体至少会被执行1次。

例如:

 
  1. #include<stdio.h>
  2. int main() {
  3. int i = 1;
  4. do{
  5. i++;
  6. printf("%d ",i);
  7. }while( i>10 );
  8. return 0;
  9. }

特别注意:do…while循环语句中在while括号后要加分号,否则会报错。

for循环

基本语法:

 
  1. for(表达式1;表达式2;表达式3){
  2. 循环体;

语义:

  1. 先执行表达式1,跳转到2

  2. 判断表达式2是否成立,如果成立,则跳转到3,否则跳转到5

  3. 执行循环体,执行完毕,跳转到4

  4. 执行表达式3,执行完毕,跳转到2

  5. 跳出循环,循环结束。

例如:

 
  1. //打印1-100的值
  2. #include<stdio.h>
  3. int main() {
  4. for(int i=1;i<=100 ;i++){
  5. printf("%d ",i);
  6. };
  7. return 0;
  8. }

其他格式:

表达式1、表达式2、表达式3都可以省略。

注意:

  • 表达式2没写的话会进入死循环;

  • 就算表达式1、表达式3不写,也要记得写分号;

  • 表达式1、表达式3可以写任意语句,需要用逗号隔开。

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

给定一个整数m,求m以内的奇数之和,并将其输出。

例如,当m=50时, 即求1+3+5+7+……+49,当m=9时,即求1+3+5+7+9。 效果如下:

输入:9。 输出:25

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。


开始你的任务吧!

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
    int m,i=1,num=0;
    scanf("%d",&m);
    do{
        num+=i;
        i+=2;
    }while(i<=m);
    printf("%d",num);
	/********** End **********/
}

第3关:排除此数还是输出此数

100

  • 任务要求
  • 参考答案
  • 评论166

任务描述

本关需要完成你求一个整数能被3整除或者百位数是3且输出结果。

相关知识

C语言中的运算符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。

本关语法涉及到算术运算符和逻辑运算符。

C语言中整除是/符号,%符号是取余运算符。

整除/符号

除法运算符/,二元运算符,具有左结合性。参与运算的量均为整型时,结果为整型,舍去小数。如果运算量中有一个为实型,结果为双精度实型。

整除运算符/需要注意的就是运算结果会自动转换为与被除数一致的数据类型。

举例说明如下:

 
  1. int a=5, b=2;
  2. float c;
  3. c = a/b;

取余%符号

求余运算符%,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。

举例说明如下:

 
  1. int a;
  2. int a = 10%3;

逻辑或||

逻辑或||相当于生活中的“或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。

定义如下:

 
  1. expression1 || expression2

编程要求

在程序中输入一个整数,如果这个整数能被3整除或者百位数是3,则打印输出,否则输出“排除此数”。

效果如下: 输入:90。 输出:90

输入:110。 输出:排除此数

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧,祝你成功!

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
    int n;
    scanf("%d",&n);
    if(n%3==0&&n/100==0){
        printf("%d",n);
    }else if(n/100==3){
        printf("%d",n);
    }else{
        printf("排除此数");
    }
	/********** End **********/
}

第4关:医院收费

100

  • 任务要求
  • 参考答案
  • 评论166

任务描述

本关需要练习不同数据类型的使用、通过输入输出函数与用户进行数据交互,然后完成一个用于医院收费的小程序。

相关知识

C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

基本类型

它们是算术类型,包括两种类型:整数类型和浮点类型。

整数类型

整数:

a. 默认为10进制 ,10 20;

b. 以0开头为8进制,045021;

c. 以0b开头为2进制,0b11101101;

d. 以0x开头为16进制,0x21458adf

例如:

 
  1. #include <stdio.h>
  2. int main()
  3. {
  4. printf("int 存储大小 : %lu
  5. ", sizeof(int));
  6. return 0;
  7. }

输出结果:

 
  1. int 存储大小 : 4

浮点类型

小数:

单精度常量:2.3f 。 双精度常量:2.3,默认为双精度。

例如:

 
  1. #include <stdio.h>
  2. #include <float.h>
  3. int main()
  4. {
  5. printf("float 存储最大字节数 : %lu
  6. ", sizeof(float));
  7. printf("float 最小值: %E
  8. ", FLT_MIN );
  9. printf("float 最大值: %E
  10. ", FLT_MAX );
  11. printf("精度值: %d
  12. ", FLT_DIG );
  13. return 0;
  14. }

输出结果:

 
  1. float 存储最大字节数 : 4
  2. float 最小值: 1.175494E-38
  3. float 最大值: 3.402823E+38
  4. 精度值: 6

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

输入所在医院费用(药品费、床位费(元/天)、住院天数),打印出应付钱数;再输入病人所付款数,打印出找零金额。

要求按照下面的运行结果编写函数代码,请注意数据类型的选择、输出格式(保留2位小数)。

效果如下:

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


验货啦,验货啦,开始你的任务吧!

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/ 
    double y,num,sum,t,c,k;
    scanf("%lf %lf %lf %lf",&y,&c,&t,&k);
    num=y+c*t;
    printf("请输入药品费、床位费/天、住院天数:应付款:%.2lf\n",num);
    sum=k-num;
    printf("实付款:应找零:%.2lf",sum);
	/********** End **********/
}

第5关:相反次序重新组合

100

  • 任务要求
  • 参考答案
  • 评论166

任务描述

本关请完成将一个整数按相反次序重新组合成另一个整数输出的小程序。

相关知识

什么是算术运算符?C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。需要特别指出,在C语言标准中,并没有结合性的说法。

基本算术运算符:

+: 就是把两个数据相加,得到和;

-: 就是把两个数据相减,得到差;

*: 就是把两个数据相乘,得到积;

/: 就是把两个数据相除,得到商;

%: 就是把两个数据相除,得到余数。

算术运算符的优先级

说明:

同一优先级的运算符,运算次序由结合方向所决定。简单记就是: > 算术运算符 > 关系运算符 > && > || > 赋值运算符

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

编写一个程序,输入一个4位的整数,将其各位按相反次序重新组合成另一个整数输出。

输入值为一个4位整数,输出值也是一个4位整数,但数字顺序相。

注意:输入不足4位的整数,用0填补(例如:120012);输入超出4位整数,则截取其前4位后进行运算(例如: 1234561234)。 效果如下:

测试说明

平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。


开始你的任务吧!

//注意
    //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集
    //2:该程序每次运行使用的内存不能超过1M,否则会返回错误
    //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示
#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
    int n,x;
    int mask=1000,num=0;
    scanf("%4d",&n);
    do{
        x=n%10;
        num=x*mask+num;
        mask/=10;
        n/=10;
    }while(n>0);
    printf("请输入一个4位整数:重新组合后:%d",num);
	/********** End **********/
    return 0;
}

  • 13
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: C语言基础知识入门PDF是一份C语言的教学材料,适合初学者学习和掌握C语言基本语法、语义和编程方法。 C语言是一种高效、灵活、可移植、可扩展的编程语言,被广泛应用于操作系统、数据库系统、嵌入式系统等领域。学习C语言,需要掌握计算机基本原理、编程思想和算法设计等知识,而C语言基础知识入门PDF提供了一种快速入门、易于理解的学习途径。 C语言基础知识入门PDF包括了C语言的基本数据类型、运算符、流程控制语句、函数、指针、数组、结构体等内容,通过实例演示和练习题目的方式,帮助学生深入理解C语言的编程思想和技巧。 此外,C语言基础知识入门PDF还介绍了一些常用的C语言开发工具,如编辑器、编译器和调试器等,帮助学习者掌握基本的开发环境和技巧。 总之,C语言基础知识入门PDF是一本很好的C语言入门教材,通过细致详尽的篇章结构、浅显易懂的代码示范和解释,对于初学者学习C语言或复习C语言基础知识来说,都是一份很好的参考资料。 ### 回答2: 《C语言基础知识入门》是一本适合初学者入门C语言教材,它由浅入深地介绍了C语言基本语法、数据类型、控制结构、函数以及指针等内容。这本教材所包含的知识点非常基础和易懂,对于初学者来说非常友好,能够循序渐进地帮助他们逐步掌握C语言的基本概念和基础知识。 在学习过程中,这本教材还特别注重实践,提供了大量的实例代码以及习题和答案,帮助学生巩固所学知识,培养编程思维,提高编程能力。此外,这本教材还介绍了一些C语言的衍生语言和标准库,让学生在了解基础知识的同时,对C语言的发展和应用方向也有所了解。 总之,对于初学者来说,《C语言基础知识入门》是一本非常好的入门教材,它简单易懂、注重实践、知识面广泛、涵盖了C语言的基本知识点和实际应用场景,推荐给所有对于C语言感兴趣的初学者。 ### 回答3: 《C语言基础知识入门PDF》是一本适合初学者的C语言教程,它详细介绍了C语言的各个方面。该教程涵盖了C语言基本语法、数据类型、运算符、流程控制、函数、指针、结构体、文件操作等重要内容。通过学习这本教程,初学者可以逐步掌握C语言的基础知识,轻松理解编程思路。 该教程首先讲解了C语言的数据类型,包括整型、浮点型、字符型等,以及变量的定义和命名方法。接着介绍了运算符的使用方法,包括算术运算符、关系运算符和逻辑运算符。 在掌握了基础语法之后,该教程讲解了流程控制语句,如if语句、switch语句和循环语句等。这些语句非常重要,可以让程序根据不同的情况执行不同的操作。 接着,该教程介绍了函数的定义和调用方法。函数可以让程序模块化,使代码更具可读性。同时,它还讲解了指针的概念和使用方法,指针可以让程序更加灵活。 最后,该教程讲解了文件操作。文件是计算机存储数据的重要方式,学会文件操作可以让程序更好地处理数据。 总的来说,《C语言基础知识入门PDF》适合没有任何编程基础的初学者阅读。通过阅读该教程,初学者可以了解C语言基本语法和编程思想,为以后深入学习打下基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值