设有如下定义:char ch='z',则执行下面语句后变量ch是值为:( )。 ch=('A'<=ch&&ch<='Z')?(ch+32):ch 选

供稿:hz-xin.com     日期:2025-01-15
设ch是char型变量,值为'A',则下面表达式的值是 ch=(ch>='A'&&ch<'z')?(ch-'A'+'a'):ch

? : 是C中三目运算符,对?前的表达式求解,如果真,则返回:前的值,否则返回:后的值。
这句话的意思是,
if(ch>='A'&&ch<'z) ch=ch-'A'+'a';
else ch=ch;
因为ch='A';所以表达式为真,则ch=ch-'A'+'a';
字符在内容中是以ascii保存的,所以和INT型一样支持基本运算,
所以ch='A'-'A'+'a';
最终ch='a';

?:是c中三目运算符,对?前的表达式求zhi解,如果真,则返回:前的值,否则返回:后的值。
这句话的意思是:
if(ch>='a'&&ch<'z)
ch=ch-'a'+'a';
else
ch=ch;
因为ch='a';所以表达式为真,则ch=ch-'a'+'a';
字符在内容中是以ascii保存的,所以和int型一样支持基本运算,
所以ch='a'-'a'+'a';
最终ch='a';

扩展资料:
(1)定义:char型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型。
(2)取值范围:char : -2^7 ~ 2^7-1 ;
signed char: -2^7 ~ 2^7-1
unsigned char : 0 ~ 2^8-1
而且关于char还有一个特殊的语言就是char *,它在C/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,专门用于指以'\0'为结束的字符串。
参考资料来源:百度百科-char

选择a 'z'不在'A'<=ch&&ch<='Z'范围中,故ch=ch='z'

A(z)

a

(46)程序中若有如下的说明和定义语句 char fun(char *); main() {...
char fun(char *);是函数声明,省略了形参,可以补全的char fun(char * ch); ,在函数定义时。(*f1)()=fun 不是错的,是函数指针。char *s="one",a[5]={0},(*f1)()=fun,ch;相当于 char *s="one";char a[5]={0};char (*f1)()=fun;char ch;...

判断以下赋值语句的正确性:1.char ch=97; 2.int ch='a'; 3.ch='32';
语句完全正确;ch = 97; 代表ch 对应字符 ansi码为97 即为 a 字符 ch = ‘a'; 代表ch保存a字符的ansi值 ch = ’32‘; 按以上顺序定义的话,值为 ansi 值为 32h 的字符 即 2 ;楼主可以编译器上试试即知

char ch = 'x' 这里ch表示什么?只是一个人为设定的常量吗 为什么总是...
char ch = 'x' ; \/\/ 定义一个字符ch,并初始化为'x'这里的ch并不是常量,是一个char类型的变量,可以直接赋值修改ch的值,如ch = 'A'为什么总用ch呢?因为能够让自己和阅读您代码的人分清ch什么类型的变量,而不用整个代码去搜ch的定义在什么地方,什么类型。ch是char的一部分,可以有意义...

若有定义 char ch= 'h';将 ch 转换为相应的大写字母的表达式是??_百度...
你好!你查一下ASCLL表。看一下大写字母和小写字母的ASCLL码相差多少(呵呵。是32)。然后这样:ch=ch-32;如果对你有帮助,望采纳。

ch是字符型变量,下面不正确的赋值语句是?() A, ch = ‘a + b’ B...
因为char类型的数据实际上就是内存中的一个字节的变量空间,在机器中它就是一个0-255的数字,如:char ch='a';其实ch中存放的就是字符a的ASCII码,实际就是97,所以即使你这样声明:char ch=97;和char ch='a'达到的效果是一样的。

c语言,char *p; p="china",p是“china的”首地址,那如果写成p='c...
回答前先明确一个知识点:指针变量是用来存储内存地址的变量,它本身也是个数(无符号长整型数),这个数值就是个内存地址。char *p; p="china", p是“china“的首地址, “china”是个字符串常量,它存储在内存中某个位置,字符串常量就代表这个起始位置地址值,所以 p="china" 这句相当于将这...

若有变量定义char ch='A'则putchar(ch 35)的输出结果是?
你应该是漏写了+加号吧?不存在"ch 35"这个玩意,可能是"ch + 35",如果是这样的话结果就是d, 因为'A'在ASCII表中的值是65, 65 + 35等于100,刚好是小写字母d。

char ch='\\\\72';
char ch = '\\72';其含义为定义一个字符型变量ch,其初始化值为常量字符'\\72'。'\\72'是一个转义字符,当\\后面跟数字时,是字符的8进制表示,类似于常量中的0开头表示法。即'\\72'是ascii码值为072的字符,其十进制为58,16进制为0x3A。查询ascii码表可以知道,该值对应的字符为英文半角的冒号:...

...假如说有如下定义:char string[5] = "China",那'\\0'会放到哪里?_百...
按C标准规定的话,这样定义的话,string末尾就不会自动添加'\\0'了。只有在字符数组的大小足够在常量字符串的末尾还可以追加'\\0'时才会追加。只有常量字符串的长度比数组长度还长度情况,编译器才会报警。所以定义时作为字符串使用的数组要确保足够大,大了浪费一点不怕,就怕不够。像这种末尾丢了'\\0'...

C语言怎么表示字符'\\'
使用转义字符时需要注意以下问题:1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。2) \\v 垂直制表和\\f 换页符对屏幕没有任何影响,但会影响打印机执行响应操作。3) 在C程序中,使用不可打印字符时,通常用转义字符表示 参考资料:http:\/\/baike.baidu.com\/view\/1875666.htm ...