请问用c语言如何做到输入单个字符转单个数字输出,如输入'a'输出整形数字0?

作者&投稿:戚易 (若有异议请与网页底部的电邮联系)
c语言程序设计答案 编程实现,从键盘输入一个字符,则输出其后的字符,如输入‘A’则输出‘B’?~

程序源码如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include
void main()
{
char a;//定义一个字符
printf("请输入一个字符:");//文字提示
scanf("%c", &a);//输入一个字符
printf("其后续字符为:");//文字提示
printf("%c
", a + 1);//输出其之后的字符
}
程序运行结果如下:



扩展资料:
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示。
而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。其中:
1、0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;
通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响 。
2、32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
3、65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;
偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号
常见ASCII码的大小规则:0~9<A~Z<a~z。
1)数字比字母要小。如 “7”<“F”;
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。
几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48 。
参考资料来源:百度百科-ASCII

main()
{ int i , j ;
char c ;
printf("输入一个数字:") ;
scanf(" %d ",& i) ;
printf("输入一个字符:") ;
scanf(" %c ",& c) ;
for( j =1; j<=i, j++ )
printf(" %c" ,c );
printf("
" );
}

#include <stdio.h>
int main()
{ char s[100];
  int i;
  gets(s);
  for(i=0; s[i]; i++)
    if(s[i]>='a'&&s[i]<='z')
  printf("%d ",s[i]-'a');
    else printf("%c ",s[i]);
  printf("
");
  return 0;
}



用c语言实现:鸡兔共有n个头,m只脚,问鸡兔各多少只,
设鸡头=x, 则鸡脚=2x. 兔头=n-x,兔脚=m-2x 因为4*兔头=兔脚,即 4(n-x)=m-2x 得出 x=2n-1\/2m include<stdio.h> void main(){ int N,M,i,j;\/\/鸡兔共有N个头,M只脚;鸡有i只,兔有j只 printf("输入鸡兔总头数N:");scanf("%d",&N);printf("输入鸡兔总脚数M:");sc...

用c语言实现排列组合问题(华为软件面试试题之一)
\/* 算法 *\/ \/\/ 从剩余的nM个篮子里空出nX = m*n - x;个球 int GetBall(int nX, int nM, int n) {   int nA;  int nS = 0;\/* 如果这次情况里确定从一个篮子里空出球 *\/   \/\/ 如果nM等于1 返回 1;  if (nX <= n) ...

面试题:有被问到C语言做软件开发时候怎么管理众多的指针,要如何...
C语言是没有“类”这个抽象类型的,所以封装成类这个说法欠妥。我给你讲讲我对指针管理的经验,其实也谈不上什么管理:1,指针在定义时如果没有初始值,就记住赋NULL;系统对NULL这个地址是有保护的,在以后对指针的解引用操作时对NULL值的指针会有错误提示,容易发现,否则发生解引用错误时就是可恨的...

用c语言如何编写“用梯形法求定积分∫sinxdx的近似值 上限为不b=π下 ...
用c语言如何编写“用梯形法求定积分∫sinxdx的近似值 上限为不b=π下限为a=0”这一问题,求代码  我来答 1个回答 #热议# 生活中有哪些成瘾食物?纷采de 2014-11-10 · TA获得超过437个赞 知道小有建树答主 回答量:598 采纳率:65% 帮助的人:151万 我也去答题访问个人页 展开全部 首先...

搞懂这8个C语言问题,你也能进大厂
高懂这8个c语言问题,你也能进大厂 1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。 #define SEC_YEAR (365*24*60*60)UL考察点:1.#define语法的基本知识(例如:不能以分号结束,括号的使用,等等)。2.懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多...

用c语言解决:班里来了一名新同学,很喜欢学数学,同学们问他年龄的时候...
include <stdio.h> int main(){ int a[10],i,j,k;for(i=10;i<32;i++){ memset(a,0,sizeof(a));for(j=i*i*i;j>0;){ a[j%10]=1;j\/=10;} for(j=i*i*i*i;j>0;){ a[j%10]=1;j\/=10;} for(j=k=0;j<10;j++)k+=a[j];if(k==10)printf("%d\\n",i)...

用C语言实现这个数字三角形问题
对于这一问题,很容易想到用枚举的方法(深度搜索法)去解决,即列举出所有路径并记录每一条路径所经过的数字总和。然后寻找最大的数字总和,这一想法很直观,很容易编程实现其程序如下:program sjx;const maxn=10;var a:array[1..maxn,1..maxn] of integer;max:longint;n,i,j:integer;fname:...

问: 求用C语言写一个简单的STC89C52单片机程序
希望采纳,参考代码:include<reg52.h>sbit Motor_L=P1^0;sbit Motor_R=P1^1;sbit K0=P0^0;sbit K2=P0^2;sbit K1=P0^1;sbit K3=P0^3;unsigned char time2s;\/*定时器0初始化函数*\/void InitTimer0(){ TMOD%=0xF0; TMOD|=0x01;\/\/定时器0,方式一 TH0=(65536-50000)\/2...

用C语言编程:一条绳子长3000米,第一天减去一半,第二天减去剩下的一半...
include <stdio.h> int main(){ float total = 3000;int days = 0;while (total > 5.0){ total \/= 2;days++;} printf("%d天\\n", days);return 0;} 答案为10天

想问一下大学c语言的这个题怎么做?
include <stdio.h> include <stdlib.h> void func1(void);void func2(void);void func3(void);void sort(int a[],int n);int main(){ int c;while(scanf("%d",&c)==1){ switch(c){ case 1:func1();break;case 2:func2();break;case 3:func3();break;default:break;} } }...

治多县15142556112: c语言中实现输入一个数字字符,然后转换成整数数字输出.怎么做? -
笃侮强力: 字符串转整数可以有两种方bai法: 1.使用c语言自带的库du函数:atoi. 函数原型:zhiint atoi(const char *nptr); 功能:dao把字符串转成整型数. 例如: #include <stdlib.h> #include <stdio.h> int main(void) {int n;char *str = "12345";n = ...

治多县15142556112: C语言怎样将单个字符转化为整型字符 -
笃侮强力: #include<stdio.h> #include<stdlib.h> #include <string.h>int c[20]; char b[20];int _tmain(int argc, _TCHAR* argv[]) {char temp[2];gets(b); temp[0] = b[1];temp[1] = '\0'; c[1]=atoi(temp); printf("%c\n",b[1]);printf("%d\n",c[1]);return 0; }...

治多县15142556112: c语言编程 从键盘上输入一个字符串通过函数调用的方法使该字符串翻转 并输出这个翻转后的字符串 -
笃侮强力: 1 输入字符串; 2 调用函数进行翻转,可以通过将对称位置字符交换值实现; 3 输出结果. 代码如下: void revers(char *s) {char *p=s,c;while(*p)p++;p--;while(p>s){c = *p;*p = *s;*s = c;} }int main() {char s[100];scanf("%s",s);revers(s);printf("%s",s); }

治多县15142556112: C语言程序:输入一个字符,如果是数字字符,把它转换成相对应的数字并输出;如果不是,则以十进制整数形 -
笃侮强力: 1、新建一个工程和.c文件 ,输入头文件和主函数. 2、声明被调用的函数,定义变量类型. 3、输入整数. 4、用一个if语句去判断整数是否为负数,若为负数则用putchar函数输出一个负号. 5、调用一个函数. 6、定义函数的返回类型和形参类型. 7、通过if语句判断该数是否仅剩一位数,若不是则执行else语句. 8、通过再次调用子函数一次输出高位的数. 9、编译执行.

治多县15142556112: 数字字符与数字之间的转换,输入一个数字字符,输出对应的数值,例如输入字符'9',输出数值9.用c语 -
笃侮强力: int main() { int ch; printf("please input a digital(between 0 and 9):\n"); scanf("%d", &ch); if(ch >= 0 && ch <= 9) { printf("%c", '0'+ch); }else{ printf("input error!\n"); } } 关键的地方是:字符0(也即'0')加上一个整数(不要太大了,即不要超过ascii的127),得到的值还是一个字符;如果是两个字符相减,则得到一个整数,该整数是两个字符之差(比如 'c' - 'a',得到int型的3)

治多县15142556112: c语言里,输入一个字符,输出一个数字该怎么写? -
笃侮强力: 1、首先需要知道字符本来就是用ascII码储存的,所以需要函数转换.打开VS. 2、输入一段转换代码.3、红色方框内,将变量定义为char类型,然后输出的时候输出为%d(ASII码). 4、写好代码后按下F7或者依次选择构建-组建,等待结果如果所示即可.如果出现1 error,表示代码出错,具体错误可根据提示排除.5、按下Ctrl+F5执行程序,也可以选择构建-执行,运行代码,如此a b转换为97 98.

治多县15142556112: 用c语言编程,输入一个字符,若是小写字母,转换为大写输出,若是大写字母,转换为小写字母输出, -
笃侮强力: 如果是小写,则将这个字符减去32,再输出.反之,加上32就是了. #include main() { char ch; printf("input:"); scanf("%c",&ch); if(ch>='a'&&ch<='z') printf("%c",ch-32); else if(ch>='a'&&ch<='z') printf("%c",ch+32); else printf("input error!"); }

治多县15142556112: C语言,如何把输入的一个字符串,转换为相应的二进制数? -
笃侮强力: #include int main() { char str[100]; int i,n=0; scanf("%s",str); for(i=0;str[i]!='\0';i++) { if(str[i]=='1' || str[i]=='0') { n n+=str[i]-'0'; } else { printf("不是二进制数\n"); return 1; } } printf("%d\n",n); }

治多县15142556112: 在C语言中如何输入使得,输入一个字符,使得输出的是ASCII码? -
笃侮强力: #include <stdio.h>main() {int c;while((c = getchar())!=EOF){printf("%d\n", c);}return 0; } 不用getchar就这样 #include <stdio.h>main() {int c;scanf("%c", &c);while(c!=EOF){printf("%d\n", c);scanf("%c", &c);}return 0; }

治多县15142556112: 在C语言中如何实现用键盘输入一个字符串,并打印出来? -
笃侮强力: 字符穿不能保存在 char里,char只保存一个字符. 如果用scanf获得,要用for循环把字符串保存到数组中,然后输出. char sf[100]; for(i=0,i<100,i++) {scanf("%s",&sf[i]);} 如果用gets可以不用循环直接保存在数组中. char sf[100]; gets(sf);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网