第三章顺序结构程序设计

3.1.顺序结构

所谓顺序结构就是按照程序代码的书写顺序,自上而下逐一执行

例3.1.1:求华氏温度100°F对应的摄氏温度

 例3.1.2:由键盘输入一个小写字母,将其换成大写字母输出

 3.2c语言的语句

在c语言中,语句是以分号结尾的字符顺序,是朝鲜最基本的执行单位,分号是c语句的必要组成单位。书写程序代码时,一行可以写几个语句,一个语句也可以写在多行上。c语句包含多种形式。

1.说明语句

说明语句用于定义程序所使用到的变量与类型。例如:

int a,b;             /*定义两个整型变量*/

char ch;         /*定义一个字符型变量*/

2.表达式语句

表达式语句由表达式加上分号";"组成。

                              一般形式:表达式;

例:

c=a+b       是一个赋值表达式

c=a+b;     是一个表达式语句。

3.分支语句

分支语句实现分支控制过程,根据条件与否执行不同的语句

分支结构:

双分支if——else语句

if(x>y)

z=x;

else

z=y;

 多分支swith语句

4.循环语句

5.转向语句

转向语句有break语句,goto语句,contiue语句return语句

6.复合语句

用一对大括号{}诺干语句顺序组合在一起所形成的语句称为复合语句c语言中,除了复合语句外的其他所有语句都以分号结束

7.空语句

空语句只由一个分号构成

空语句一般用在程序的某个位置上在功能上并不执行任何实际操作。如空语句用于循环语句中的循环体时,可以实现延时功能。

8.函数定义与调用

函数是完成特定功能得到小模块,是c语言唯一的一种子程序,常常在一个c程序中包含诺干个函数,复杂的任务调用这些函数来完成

9.输入与输出

c语言没有提供用于数据输入及输出功能的语句所有的输入和输出都是通过系统提供的有关函数来实现的

3.3数据的输入与输出

C语言本身没有提供输入输出语句,所有的数据输入输出功能都是由系统提供的库函数完成的。程序中用到的标准输入输出库函数主要有print()、scanf()等。使用标准输入输出库函数时要用到 “stdio.h”文件,因此在源文件开头需要用预处理命令 #ln⁡cln⁡de<stdio.h          或 # include"stdio. h” 将头文件stdio.h包括到源文件中。

3.3.1输出函数(printf())和输入函数(scanf())

1.printf()函数

printf()函数是系统提供的用于在标准输出设备(屏幕)输出数据的库函数,其一般调用格式为:
                           printf(”格式控制字符串”,输出项表列)
格式控制字符串用双引号括起来,表示输出的格式;而输出项表列则是要输出的数据,这些数据可以是常量、变量或表达式。
格式控制字符串中包含两种信息,格式控制说明和普通字符。

(1)格式控制说明:按指定的格式输出数据,其格式为以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符,以说明输出数据的类型、形式、长度、小数位数等。例如,int型数据采用%d,float型和double型数据都采用%f。
(2)普通字符:在输出数据时,需要原样输出的字符。

 

 使用printf()函数进行数据输出时需注意
(1)格式字符与输出项的类型要一一对应,不同类型的数据所使用的格式字符不同。
(2)一般情况下,格式字符与输出项的个数应相同。如果格式字符的个数多于输出项的个数,则多余的格式将输出不确定的值;如果格式字符的个数少于输出项的个数,则多余的输出项将不能输出。
(3) print()函数中可以没有输出项,此时print()函数只用来输出一个字符串;也可以有多个输出项,多个输出项之间使用逗号进行分隔。若输出项是表达式时,pitift()按从右到左的顺序计算出其值后输出。
(4)若要在printf()函数中输出字符“%”,则应在格式控制字符串中使用连续两个“%”

2.scanf()函数

scanf()函数是系统提供的用于由标准输入设备(键盘)输入数据的库函数,使用该函数时,由键盘输入数据的值。其一般调用格式为:
                         scanf(“格式控制字符串”,输入项表列)
格式控制字符串用双引号括起来,表示输入的格式;而输入项表列指出各变量的地价(变量名前加&).
格式控制字符串中包含两种信息,格式控制说明和普通字符。

(1)格式控制说明:按指定的格式输入数据,其格式为以%开头的格式控制字符,不同规型的数据采用不同的格式控制字符。例如,int型数据采用%d,1nat型数据采用%,高double型数据采用%H(%H,其中的1是long的首字母,不是数字1)。
(2)普通字符:在输入数据时,需要原样输入的字符。
注意scanf()函数的输入参数必须和格式控制字符串中的格式控制说明相对应,并且它们的类型、个数和位置都要――对应。若程序中有多个scanf函数时,程序会等待用户输入并依次赋给相应变量。

使用scanf()函数进行数据输入时需注意:
(1)格式字符与输入项的类型、个数要一一对应;输入项必须是地址,不能是变量名。
(2)格式字符可以指定输入数据所占的列数,系统会截取相应列数的数据。
(3)在输入数据时遇到以下情况则认为数据输入结束:空格、Tab键、回车键、非法输入指定宽度,用户也可以自己指定其他字符作为输入间隔。

3.2.2整形数据的输入与输出

                                  printf()、scanf()函数中的格式字符(执行数据)

格式字符含义
d以十进制形式输入/输出带符号整数
o以八进制形式输入/输出无符号整数
x,X以十六进制形式输入/输出无符号整数
u以十进制形式输入/输出无符号整数

                                          printf()函数中的格式修饰符

格式       字符                             含义
l

用于输出长整形

输出结果制动器,右边补空格
+输出符合(正好或负号)
#

对d、u格式字符无影响;对o格式字符,在输出时加前缀o;对x格式字符,在输出时加前缀ox

m指定数据的输出宽度。当数据宽度>m时则按实际位数输出;当数据的输出宽度<m时,诺输出宽度前有“—”则左对齐右补空格,否则右对齐左补空格

                                           scanf()函数中的格式修饰符

格式字符含义
l用于输入长整型
m指定输入数据所占的宽度
*表示本输入项不会赋值给相应的变量

#include<stdio.h>

 int main()
{
 int a,b;
 long int c;
 scanf_s("%d%d%1d", &a, &b, &c);     /*语句1*/
 printf("a=%d,b=%d,c=%d\n,a,b,c");
 return 0;
}

 (1)诺程序运行时输入:

12 23 34

则输出结果为

 

 (2)诺程序运行时输入:

12,23 34

则输出结果为

 这是由于在输入“12,23 34”时,由于存在非数字字符“,”,scanf()函数在遇到非法输入时认为数据输入结束,因此将12赋值给变量a,而后面的数据将会舍弃,变量b和c没有正确赋值,因此b和c的值是不可预知的。

(3)诺将语句1改为scanf("%d,%d,%1d",&a,&b,&c);程序运行时输入:

12 23 34

则输出结果为:

这是由于在scanf()函数中的格式控制字符串中含有普通字符“,”,普通字符也要原样缴人,即输入的数据需使用“.”作为间隔,但是实际输入的数据中没有“,”,因此编译系统只将这减值给变量a.后面的两个数据23和34将会被舍弃,不会赋值给变量b和c。

#include<stdio.h>

{
 int a, b, c, d;
 scanf_s("%2d%3d%*d,%d%d", &a, &b, &c,&d);
 printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
 printf("a=%4d,b=%-4d,c=%-4dd=%d\n", a, b, c, d);
 printf("a=%+4d,b=%+4d,c=%+4d,d=%+4d\n", a, b, c, d );
 return 0;

 当程序运行时输入:

123456789,123 456

则输出结果:

 3.3.3实型数据的输入和输出

                         格式字符(实型数据)

函数格式字符含义
printff以小数形式输出单精度或双精度数
printfE,e以指数形式输出单精度或双精度数
printfg以%f,%e中较短的输出宽度输出单精度或双精度数
scanff以小数形式输入单镜度数
scanfE,e以指数形式输入单镜度数
scanf1f以小数形式输入双精度数
scanf1e以指数显示输入双精度数

说明

(1)在格式字符串的“%”和格式字符之间也可以有一些修饰符。

(2)在输出实型数据时,还可以指定输出的精度,即在格式字符串的“%”和格式字符之间加入“m,n”,其中m指明输出的总位数,n指明小数点后面的位数,诺实际输出位数大于n,则超出的部分四舍五入;诺实际输出位数小于n则不足部分补0

(3)使用scanf()函数输入实型数据时不能指明精度即使用“%f。nf”的格式是错误的

 

 3.3.4字符型数据的输入与输出

字符型数据的输入与输出可以调用函数getchar()、scanf()和putchar()、print发().其中putchar()和getcha人()只能用与单个字符的输入输出,scanf()和printf()可以用于多个字符的输入输出

1.使用scnf()函数和printf()函数对字符型数据进行输入输出

使用 使用scanf()函数和printf()函数进行字符型数据的输入输出时,其相应的格式控制字符为“c”,如“ 
pxintf(“%c,%c/n,a,b”) ,也可以在“%”和“c”之间加修饰符

字符型数据的输入与输出

 

 

这是由于在输入字符数据(%c)时,若格式字符串中没有非格式字符,则认为所有输入的字符均为有效字符。因此对于输入的“x y z”,编译系统将字符“x”赋值给变量a,‘  ’赋值给变量b,‘y’赋值给变量c。

只有当输入为“xyz”时,才能把'z'、'y'、'z'分别赋值给变量a、b、c。

若将语句1改为“scanf("%c %c %c",&a,&b,&c);”

 

由于在格式控制字符串中加入了空格,非格式字符需要原样输入,则输入数据可以使用空格作为间隔符,编译系统会将'x'、'y'、'z'分别赋值给变量a、b、c。

将语句1改为“scanf("%3c%3c%*3c%c",&a,&b,&c);”

 

 

2.  使用genchar()函数和putchar()函数对字符型数据进行输入和输出
(1)getcher()函数。

设ch是字符型变量,函数getcher()的一般调用格式为:

                                                                     ch=getchar();

运行时从键盘输入缓冲区中读取一个字符,并赋值给ch。由于函数gatchar()只能读入一个字符,若需输入多个字符,就需要多次调用函数,一般采用循环调用的方式。

(2)putchar()函数。

函数putchar()的一般调用格式为:

                                                                  putchar(输出参数);

输出一个字符,输出参数是字符型变量或字符型常量。

有键盘输入一个字符,将其输出到屏幕。

 也可以写为:

可以再printf函数中输出刚接收的字符

 

 

3.4  数学库函数
 

C语言处理系统提供了许多事先编好的库函数,供用户在编程序时使用,这些事先编好的函数称为库函数。

常用的数学库函数有:

(1)指数函数exp(x):计算e的x次方。

(2)绝对值函数fabs(x):计算x的绝对值。

(3)以e为底的对数函数log(x):计算㏑x。

(4)幂函数pow(x,y):计算x的y次方。

(5)平方根函数sqrt(x):计算根号x。

用户程序在调用数学库函数时,一定要在程序开头使用#include<math.h>

输入一个球的半径求球的体积。

 

求一元二次方程的根 

  • 25
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 头歌c语言顺序结构程序设计第一关涉及到使用C语言进行编程,其中要求我们设计一个程序,让用户输入两个整数,然后计算它们的和并输出结果。这个题目看上去非常简单,但是对于刚接触编程的人来说也是一个不错的练手题目。 为了完成这个题目,我们需要先学会C语言的基本输入输出函数。在本题中,我们可以使用scanf函数来获取用户输入的两个整数,使用printf函数将计算出的结果打印出来。同时,我们需要了解如何进行基本的加法运算。 但是,为了让程序更具结构化和可读性,我们还需要考虑一些细节,比如如何给变量取名、如何采用恰当的缩进和注释等等。我们还可以使用一些简单的技巧,比如在代码前面添加头文件、定义常量等等,来让整个程序看起来更规范、更好维护。 当我们完成这个程序时,我们会发现它在功能上非常简洁明了,但是它也让我们对C语言基础语法有了更深入的理解和实践。实际上,这种从简单入手的方法也是学习编程最好的方式之一,因为它可以帮助我们尽快开始编程,增强自己的自信心和兴趣,从而更好地掌握编程技能。 ### 回答2: 头歌c语言顺序结构程序设计第一关,主要考察学生对C语言编程基础和顺序结构的掌握能力,让学生能够编写出简单的C语言程序。 在这个关卡中,要求学生按照题目要求,通过C语言顺序结构编写程序,实现两个数的加减乘除运算。学生需要定义两个变量用于存储输入的两个数值,然后根据运算符的不同,分别进行加减乘除的运算,最终输出运算结果。此过程中,学生需要注意数据类型转换的问题,以及需要对除数为0的情况进行特殊处理。 此关卡虽然简单,但对于学生来说也是一个很好的练手机会,通过编写简单的程序,提高了学生编程的思维能力和代码的实现能力,为以后更高深的程序设计打下基础。同时,此关卡也鼓励学生探索更多丰富多彩的程序设计内容,将所学知识发挥到极致,提高自身的综合素质。 ### 回答3: 头歌C语言顺序结构程序设计第一关是一道通过编写C语言程序来实现简单输出功能的练习。在开始编程之前,首先需要了解C语言的基本语法以及顺序结构C语言是一种广泛应用的编程语言,具有灵活、高效、可移植等优点。在编写C语言程序时,需要使用各种数据类型、运算符、控制结构等基本概念。其中,顺序结构是一种简单的程序控制结构,指代码会按照事先确定的顺序依次执行。 在头歌C语言顺序结构程序设计第一关中,我们需要按照要求定义所需输出的变量类型、名称,并利用C语言的printf函数将变量的值输出到控制台上。具体步骤如下: 首先,我们需要在程序的开始部分定义所需输出的变量类型,使用C语言的关键字“int”“char”等来定义。例如,定义一个输出整数的变量可以使用“int num”的形式。 其次,我们需要为所需输出的变量赋值,使用“=”赋值符号将具体数值赋给定义好的变量。例如,“num = 123”。 然后,我们需要使用printf函数来将变量的值输出到控制台上。该函数的语法形式为:“printf(“输出格式字符串”, 参数1, 参数2, …)”。其中,输出格式字符串是指输出的格式,如“%d”表示输出整数,“%s”表示输出字符串等。其余的参数即为需要输出的变量名,需要与格式字符串对应。 最后,在程序的结尾部分我们需要加上return 0语句来结束程序。这条语句通常在main函数的最后面,函数返回值为0表示程序正常结束。 总之,头歌C语言顺序结构程序设计第一关是一项简单的程序练习,需要我们掌握C语言的基本语法和顺序结构的使用,通过编写程序实现简单的输出功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值