C语言中ch的意思

#include<stdio.h>
void main()
{
char ch;
int i;
scanf("%d",&i);
for(i=0;i<26;i++)
{
ch=i+65;
if(i%2==0)
printf("c=%c ASCII=%d\n",ch,ch);
}
}
为什么定义Ch是一个字符变量,但在输出时也可以代表字符的ASCII码值?
我的意思是:ch在这里既可以当整型变量输出也可以当字符型变量输出,是为什么?不矛盾吗?

char说明数据类型是字符型,ch是变量名(可称为字段)。

fgetc() 使用举例:

表示从D:\\demo.txt文件中读取一个字符,并保存到变量ch中。

拓展资料

在文件内部有一个位置指针,用来指向当前读写到的位置,也就是读写到第几个字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该指针会向后移动一个字节,所以可以连续多次使用fgetc读取多个字符。

注意:这个文件内部的位置指针与C语言中的指针不是一回事。位置指针仅仅是一个标志,表示文件读写到的位置,也就是读写到第几个字节,它不表示地址。文件每读写一次,位置指针就会移动一次,它不需要你在程序中定义和赋值,而是由系统自动设置,对用户是透明的。

【示例】在屏幕上显示 D:\\demo.txt 文件的内容。

在D盘下创建demo.txt文件,输入任意内容并保存,运行程序,就会看到刚才输入的内容全部都显示在屏幕上。

该程序的功能是从文件中逐个读取字符,在屏幕上显示,直到读取完毕。

程序第14行是关键,while 循环的条件为(ch=fgetc(fp)) != EOF。fget() 每次从位置指针所在的位置读取一个字符,并保存到变量 ch,位置指针向后移动一个字节。当文件指针移动到文件末尾时,fget() 就无法读取字符了,于是返回 EOF,表示文件读取结束了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-14

1、这应该是一个变量的名字,变量的名字是可以随便定义的,只要符合命名规则,只不过我们经常用ch来定义一个char型的变量,以便一看就知道这是一个char型的变量,char是C语言的关键字,表示字符型变量。


2、例如:

#include<stdio.h>
void main()
{
    char ch;
    int i;
    scanf("%d",&i);
    for(i=0;i<26;i++)
    {
        ch=i+65;
        if(i%2==0)
    printf("c=%c ASCII=%d\n",ch,ch);
    }
}

第2个回答  推荐于2017-10-04
char格式的数据,在内存中存储的就是其ASCII值,跟int是一模一样的。输出时写%c是输出字符,写%d输出整数。你可以试试,定义一个int类型的,照样可以输出字符(使用%c)。追问

我的意思是:ch在这里既可以当整型变量输出也可以当字符型变量输出,是为什么?不矛盾吗?

本回答被提问者采纳
第3个回答  2020-03-19

不会吧
还有这样问的啊?
一般的
c语言中有char这个类型,叫做字符。
比如:‘a’
表示一个字符a

一般的人在定义一个char类型的时候
会用
char
ch;
注意:用双引号括起来的是字符串,如
str="abc"
.
第4个回答  2011-09-14
不论是数字、字符、图片、音频、视频还是其他的文件,都是以二进制表示的。
ch在这里用%c和%d输出,这只是表明用这两种格式把二进制的ch在屏幕上表示出来而已,
实际上是不改变ch的存储的。
相似回答