本文目录一览:
- char类型数组怎么输入
- 怎么让char以空格为间隔输入C++?
- 三位运算符和char基本数据输入
- C语言中char类型的数据输入和输出时怎么控制啊?
- 在java中如何输入char型数据?
- c语言中char型字符如何一个一个输入?
char类型数组怎么输入
char类型数组,数组中的成员,如果是字符,可以用单引号括起来就可以了,当然,必须每一个成员都需要用单引号,也可以直接输入ASCII码,而不用单引号。比如:
char str[] = {'s', 't', 'r', 'i', 'n', 'g'};
char str[] = {0x41, 0x42, 0x43, 0x44, 0x45, 0x46};
如果从键盘输入,可以用scanf
函数。
char *s;
scanf("%s", s);
怎么让char以空格为间隔输入C++?
对于char类型的数据输入,C的cin
函数已经可以用空格为间隔输入char类型的数据了,而且中间的空格可以是多个空格,所以对于C中char类型的数据,完全可以以空格为间隔输入。
下面是验证程序:
#include <iostream>
using namespace std;
int main() {
char c1, c2, c3;
cin >> c1 >> c2 >> c3;
cout << "c1=" << c1 << ",c2=" << c2 << ",c3=" << c3;
return 0;
}
三位运算符和char基本数据输入
这周学习了三位运算符,总结一下:
<<
: 左移运算符,num << 1,相当于num乘以2>>
: 右移运算符,num >> 1,相当于num除以2>>>
: 无符号右移,忽略符号位,空位都以0补齐 下面来看看这些移位运算都是怎样使用的:
package test;
public class Test {
public static void main(String[] args) {
int number = 10;
// 原始数二进制
printInfo(number);
number = number << 1;
// 左移一位
printInfo(number);
number = number >> 1;
// 右移一位
printInfo(number);
}
/**
* 输出一个int的二进制数
*/
private static void printInfo(int num) {
System.out.println(Integer.toBinaryString(num));
}
}
运行结果为:
1010
10100
1010
我们把上面的结果对齐一下:
43210 位数
--------
1010 十进制:10 原始数 number
10100 十进制:20 左移一位 number = number << 1;
1010 十进制:10 右移一位 number = number >> 1;
看了上面的demo,现在是不是对左移和右移了解了很多了呢。 对于:
- 无符号右移,忽略符号位,空位都以0补齐
value << num
-- num指定要移位值value移动的位数。 无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位。无符号右移运算符只是对32位和64位的值有意义。 这周还学了一个char类型的输入,回顾一下吧。 由于Scanner类中没有定义读取char的方法,所以可以先读取String然后再转化为char。
Scanner sc = new Scanner(System.in);
char c = sc.next().charAt(0);
C语言中char类型的数据输入和输出时怎么控制啊?
char类型数据在输入时,用scanf()
函数输入时,格式控制串用%c
,但由于输入的方式不同,代码要采用不同的语句进行控制。
输入一个字符,按一次回车
#include <stdio.h>
void main() {
int i;
char ch;
for (i = 0; i < 10; i++) {
printf("input %d : ", i + 1);
scanf("%c%*c", &ch); // 用%*c吸收掉回车符。不然,下一次读字符,就会读到这个回车符。
printf("%c:%d\n", ch, ch); // 输出字符和ASCII值 %c表示输出按字符,%d表示输出按ASCII值。
}
}
连续输入字符,直到回车结束(这时,不需要加过滤操作)
#include <stdio.h>
void main() {
int i;
char ch;
for (i = 0; i < 10; i++) {
scanf("%c", &ch); // 或用ch = getchar();
if (ch == '\n')
break; // 遇回车结束输入
printf("%c:%d\n", ch, ch); // 输出字符和ASCII值
}
}
用户在键盘输入时,所有的按键不会直接反应到程序变量中,而是先存储到输入缓存区中,程序在读取数据时,是从输入缓存中读取。所有的按键都会映射成相应的字符,如:回车、空格等都是有效的字符,所以,在读字符时,程序不会自动忽略它们,如果需要忽略,需要进行程序代码控制。
在java中如何输入char型数据?
直接输入不行,要进行转换
import java.util.*;
class Test {
public static void main(String []args) {
Scanner s = new Scanner(System.in);
String str = s.nextLine();
char ch = str.charAt(0);
System.out.println(ch);
}
}
这个程序的缺点是读入str字符串后再转换,ch只读取了str的第一个字符。
c语言中char型字符如何一个一个输入?
没看你代码,针对你的问题,一个一个输入字符型的,可以这样做:
char c;
c = getchar();
printf("c = %c\n", c);