您的位置:

c语言39,c语言3931等于392

本文目录一览:

C语言程序如下输出为什么是39???

short类型是2个字节,但存0x39时,高字节是0,低字节存0x39,而c[0]大小是一个字节,刚好对应0x39所以输出就是39了

同理c[1] 输出是0, c[2]输出是38......

数组的第0个元素在低位,我觉得再加上“int数组元素高位在前”会好理解点,其实就是告诉你c[0]对应的是39,而不是0

C语言中输入39要输出12,就是3加9怎么弄

参考代码:

#includestdio.h

int fun(int n){

    int sum=0;

    while(n){

        sum+=n%10;

        n/=10;

    }

    return sum;

}

int main(){

    int n;

    scanf("%d",n);

    printf("%d\n",fun(n));

    return 0;

}

C语言程序设计里面的39个关键字,哪些一般不使用,也就是一般考试不会考呢?

volatile:说明变量在程序执行中可被隐含地改变。就这一个基本不会出现。其他的就难说了,给你理出来1 数据类型关键字(12个): (1) char :声明字符型变量或函数

(2) double :声明双精度变量或函数

(3) enum :声明枚举类型

(4) float:声明浮点型变量或函数

(5) int: 声明整型变量或函数

(6) long :声明长整型变量或函数

(7) short :声明短整型变量或函数

(8) signed:声明有符号类型变量或函数

(9) struct:声明结构体变量或函数

(10) union:声明共用体(联合)数据类型

(11) unsigned:声明无符号类型变量或函数

(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

2控制语句关键字(12个): A循环语句

(1) for:一种循环语句(可意会不可言传)

(2) do :循环语句的循环体

(3) while :循环语句的循环条件

(4) break:跳出当前循环

(5) continue:结束当前循环,开始下一轮循环

B条件语句

(1)if: 条件语句

(2)else :条件语句否定分支(与 if 连用)

(3)goto:无条件跳转语句

C开关语句

(1)switch :用于开关语句

(2)case:开关语句分支

(3)default:开关语句中的“其他”分支

D返回语句

return :子程序返回语句(可以带参数,也看不带参数)

3 存储类型关键字(4个) (1)auto :声明自动变量 一般不使用

(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

(3)register:声明积存器变量

(4)static :声明静态变量

4 其它关键字(4个): (1)const :声明只读变量

(2)sizeof:计算数据类型长度

(3)typedef:用以给数据类型取别名(当然还有其他作用

(4)volatile:说明变量在程序执行中可被隐含地改变

二、C语言中的9中控制语句 goto语句:无条件转向;

if语句:判断语句;

while循环语句;

do-while语句:先执行循环体,然后判断循环条件是否成立. 之后继续循环;

for语句:循环,可替代while语句; 只是用法不同;

break语句跳出本层的循环;(只跳出包含此语句的循环)

continue语句:继续(一般放到循环语句里,不在执行它下面的语句,直接跳到判断语句例:for语句,就直接跳到第二个分号处,while语句,就直接跳到while()的括号里;

switch语句:多相选择;

return语句:返回;

C语言 39. 填空题 以下程序的运行结果是________。

MAIN: x= 5 y= 1 n= 1

FUNC: x= 6 y=21 n=11

MAIN: x= 5 y= 1 n=11

FUNC: x= 8 y=31 n=21

C语言,运行为什么是39?

在主函数中声明了一个共用体,r,并且定义了一个共用体指针s,共用体的大小为结构体中最大元素的大小,这里short i[2]的大小为,4,long 的大小为4,char c[4]的大小为4,故共用体大小为4,s-i[0] = 0x39 即将16进制的39放在i[0]的位置上。s-i[1] = 0x38即将16进制的38放在i[1]的位置上。这时内存的存储为 00 00 00 00 | 00 11 10 00 | 00 00 00 00 | 00 11 10 01 用 | 分开字节。根据内存中存储的规律,故s-i[0],先存储,故写在右边。这时若利用s-c[0]输出,这时s-c[0]对应内存00 11 10 01,s-c[1]对应内存00 00 00 00,s-c[2]对应内存00 11 10 00,s-c[4]对应内存00 00 00 00。printf("%x\n",s-c[0]);表示以16进制整数输出,s-c[0]对应的内存为00 11 10 01,故输出39.

希望能有帮助~~