⑴ 关于c语言里类型转换的问题
1、你的问题只是运算符优先级的问题。
()的优先级高于数学运算符,所以(char)x+y和(char)(x+y)与(int)x+y和(int)(x+y)的区别是一样的:即前者只是转化了x的类型,后者是转换了整个x+y的结果的类型。
而(char)x,(char)(x)没有区别,int也一样
2、你上述转换都是没有意义的!
在C语言里,数学计算中是类型自动转化为一致的,所以显式转换多是不必要的。
而且在C语言中char和int是互相隐式转换的,所以直接可以在char和int间赋值都不会出错,不需要转化。
3、字符在C语言中是需要用单引号括起来的,所以
char x=A是错误的,应该是char x='A'
4、ASCII码只要赋值给char型自动就转化成字符了
⑵ C语言中简写转全称的问题
#include<stdio.h>
#include<string.h>
int困态main()
{
inti,n;
chars[80];
gets(s);n=strlen(s);
for(i=0;i<n;i++)
if(s[i]=='C'||s[i]=='c')
printf("BEIJINGOLYMPICGAMES ");
else纤岁if(s[i]=='J'||s[i]=='j')
printf("JAPANWORLDCUP "汪竖源);
elseif(s[i]=='K'||s[i]=='k')
printf("KOREAWORLDCUP ");
else
{
putchar(s[i]);
printf(" ");
}
return0;
}
//运行示例:
⑶ c语言的英文全名 我知道C语言叫C Language C的英文全名是Computer
应该不是.
你可以了解一下C语言的产生,就知道它为何叫C语言.
C语言是在B语言的基础上发展起来的.
发展历程:
1963年英国剑桥大学退出CPL(combine programming language)语言;
1967年英国剑桥大学的Martin Richards对C语言做了简化,推出BCPL(Basic combine programming languaged );
1970年贝尔实验室对BCPL做了简化,设计出很简单而且很接近硬件的B语言(取BCPL的第一个字母),并用它编了第一个UNIX系统;
1972年到1973年,美国贝尔实验室的D.M Ritchie在B语言基础上设计了C语言(取BCPL的第二个字母);
后来,C语言经过多次改进.
资料来自《C程序设计(谭浩强着)》Page2
⑷ C语言中简写转全称的问题
您好!
c语言中的链表是一种很重要的数据结构。所谓“数据结构”是指数据的逻辑结构、数据的存储结构以及定义在它们之上的一组运算。而链表是数据的存储结构中的一种,又称链式存储。它能够动态的进行存储分配。举个例子来说,如果要存储一指前个班级的学生信息,但有可能班级人数较多如100,也有可能较少如30,如果我们用顺序存储方式来解决,即用数组来存放,这时如果事先难以确定一个班的最多人数,则必须把数组定义的足够大,以能存放任何班级的人数,这时要在内存中占用一整块连续的这么大的空间,当存储的数据少时,这显然会浪费空间。但链表则没这缺点,它根据需要动态开辟可不连续的内存单元。
由于内存单元不连续,怎样才能从第一个数据找到第二个数据呢(实现顺序逻辑结构),这时在链表的结点中,必须要有一个指针变量,即:一个结点中除包含本身的数据外世逗隐,应包含一个指针变量,用它存放下一结点的地址。
可以设计这样一个结构体类型:
struct
student
{int
num;
int
score;
struct
student
*next;}
其中struct
student
*next
的next就是指向本身这种结构体类型的指针变量,用来存放下一个数据的地址。
希望我的回答能让你满意,如搜厅有问题,还可继续探讨。