C语言初学时可能会遇到的问题(一)

简介: C语言初学时可能会遇到的问题(一)

1.C语言中的文件类型:


C语言中的文件分为.c文件和.h文件   .c文件是源文件,我们平常进行编译的就是.c文件,而.h文件是用来存放头文件的,头文件中包含一些C语言自带的库函数。例如#include<stdio.h>中就有库函数printf 库函数scanf函数


2.变量


C语言中的变量分为全局变量和局部变量,局部变量在出作用域后会销毁(将变量所占的内存还给操作系统),全局变量可以在整个工程使用,但是在其他文件中使用时需要用extern声明。


但是用static修饰局部变量后,就可以让个局部变量达到全局变量的效果,包括出作用域不销毁


下面的代码,当输入2 3 的时候

上面的代码在函数FX中,如果定义i的时候没有加static,那么每次输出的结果都应该是相同为6,但是加上后i的值不销毁,最后将会输出6 7 8

数组大小不能为变量    如下代码

虽然规定了n的值,但它在定义时不能作为数组的大小,这是C语言的语法规定  


(1)const 修饰的变量,可以使变量具有常属性。例如 const int a=3;之后a 的值就不能改变了,但a的本质上还是变量,标志着以const修饰的变量依旧不能在定义时作为数组的大小


(2)变量的宏定义:#define n 10在main函数外宏定义,那么在以后这个文件中语言n做整形变量时就当10来处理,此后n就是一个真正的常量了,说明宏定义的变量可以在定义数组时作为数组的大小


3.scanf和printf的返回值

(1)scanf函数返回的是读取到数据的个数,如果scanf读取失败则会返回-1。用这个特性可以进行多次输入的控制。


(2)print函数返回的是屏幕上打印的数据的个数

上图代码,printf函数在先屏幕上打印一个1234 然后返回屏幕上打印的数据的个数4再被printf以整形的形式打印

这两个函数的返回值是初学者比较容易忽略的一个点


4.打印和输出的方式


scanf输入函数里面的格式必须保持前后相同

scanf里面前面的格式为整形 整形  那么从键盘输入的时候也应该对应输入1空格2才算正确

当scanf前面用逗号时,那么输入的时候也需要用逗号进行输入


5.打印的格式


(1)“右对齐” : %nd 使输出的int型的数值以n位的固定位宽输出。如果不足n位,则在前面补空格; 如果超过n位,则按实际位数输出


(2)前补0: %0nd 使输出的int型的数值以n位的固定位宽输出。如果不足n位,则在前面补0; 如果超过n位,则按实际位数输出


在有些问题中可能会要求在数字前面补0,其实只需要改变一下输出方式就行了



6.scanf和gets对字符串的读取规则


用scanf输入字符串:scanf函数从开始地址一致往后读取,直到遇见空格或者\0为止,scanf函数输入字符串有个缺点,只能读取一串没有空格的字符串。如果用gets函数就可以解决这个问题,但是gets函数遇见空格都会认为是字符串的一部分,所以要如果下一步还是输入时必须进行换行(回车)操作,不然编译器会认为你还在进行字符串的输入

相关文章
|
8月前
|
Linux 编译器 C语言
C语言必知必会
C语言必知必会
54 0
|
19天前
|
存储 C语言
初识C语言(二)
初识C语言(二)
|
19天前
|
编译器 Linux C语言
|
7月前
|
存储 程序员 编译器
初识C语言(4)
初识C语言(4)
62 0
|
7月前
|
C语言 C++
初识C语言(2)上
初识C语言(2)
39 0
|
8月前
|
程序员 编译器 C语言
C语言的介绍
一、C语言是一种高级编程语言 具有广泛的应用领域和强大的功能。它以其简洁、高效和可移植性而受到广大程序员的喜爱。 二、C语言的特点之一是语法简洁明了 它采用了结构化的编程风格,使得程序的逻辑更加清晰,易于理解和维护。同时,C语言还提供了丰富的控制结构和数据类型,使得程序员可以灵活地处理各种复杂的问题。 三、C语言的另一个优点是高效性 C语言的编译器能够将源代码转换为机器语言,使得程序的执行速度非常快。这使得C语言成为开发高性能应用程序的首选语言,如操作系统、嵌入式系统和游戏引擎等。 此外,C语言还具有良好的可移植性。由于C语言的标准定义了一套统一的规范,使得同一份源代码可以在不同的平台上编译和
32 0
|
9月前
|
C语言
C语言之宏详解(超级详细!)
C语言之宏详解(超级详细!)
|
10月前
|
C语言
C语言假期作业 DAY 13
C语言假期作业 DAY 13
|
11月前
|
C语言
C语言假期作业 DAY 05
C语言假期作业 DAY 05
|
11月前
|
存储 编译器 C语言
【C语言】那些 “虾仁猪心“ 的坑题
【C语言】那些 “虾仁猪心“ 的坑题
75 0