C语言程序运行过程

 我来答
佳黛218
2019-03-20 · TA获得超过239个赞
知道小有建树答主
回答量:65
采纳率:55%
帮助的人:28.5万
展开全部
  1. 第一题答案:

    60.5

    70.5

    运行过程:首先 struct xscj xs[]={{1,60,61},{2,70,71}};这条语句是对结构体数组xs赋初值,{1,60,61}分别赋值给xs[0].n=1, xs[0].cj1=60, xs[0].cj2=61;xs[0].cj3未赋值。同理,{2,70,71}分别赋值:xs[1].n=2, xs[1].cj1=70, xs[1].cj2=71;xs[1].cj3未赋值.

    其次,

    for(i=0;i<2;i++){

xs[i].cj3=(xs[i].cj1+xs[i].cj2)/2;

printf("%5.1f\n",xs[i].cj3);

}

这条语句是分别对xs[1],xs[2]的cj3字段赋值,赋值为(cj1+cj2)/2的值。输出语句  printf("%5.1f\n",xs[i].cj3);限定了输出宽度和小数点位数,故输出60.5 和 70.5.

2.第二题填空:st.name     @st.age

首先明白scanf的格式:

scanf("格式化字符串",变量地址表);

        “变量地址表”是接受输入数据的变量的地址。第一个输入格式是%s,接收字符串,字符串名字即为首地址,所以直接st.name就可以了;第二个格式是%d,接收整型数据,所以必须取地址,使用取地址符号&,所以第二空答案就是&st.age.

百度网友20d0f97
2019-03-20
知道答主
回答量:34
采纳率:0%
帮助的人:2.5万
展开全部
任何数据在计算机中都以二进制的样式进行存储,即0和1两种存储表示,那么c源文件中的各种字符要想存储在计算机中作为可执行的指令,那么必须得以二进制0或1的形式存储在其中,因此,需要将c源文件的需要被以某种方式“翻译”成二进制存储进计算机。

数据类型表示数字的类型如int,double 等类型在内存中是以换算的二进制存的,而字符类型等在内存中是以ASCII存的,这个通过查ASCII得到相应的二进制,然后存放于内存。
比如:32767 当作int型 为整数,利用除2取余法得到相应的二进制数存于内存(本来应该存补码,但是正数的补码和原码相同)所占的内存空间跟其对应的数据类型有关,可能还与机器有关,
而32767 当作字符 即“32767”,这时应该分解‘3’,‘2’,‘7’,‘6’,‘7’,然后查对应的ASCII码 对应的值为:0011001 00110010 00110111 00110110 00110111 所以在存放的即为该二进制的组合,且占5个字节的内存
将指定的字符“翻译”成对应二进制文件需要“统一”的“密码本”,使得在任何一台计算上c源文件都以相同的二进制形式存储。而翻译这个c源文件的“密码本”就是ASCII码。
ASCII使用8位二进制数表示256个字符,这些字符包括32个大小写字符,10个数字,以及其他的字符,例如,一个输出“hello,world”的ASCII为
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-03-20
展开全部

第一题

#include <stdio.h> 
  
struct xscj {      
    int no;
    float cj1;     
    float cj2;     
    float cj3;     
};
  
void main() {      
    int i;
    struct xscj xs[] = {{1, 60, 61}, {2, 70, 71}};  
    for (i = 0; i < 2; i ++) {     
xs[i].cj3 = (xs[i].cj1 + xs[i].cj2) / 2;    
printf("%5.1f\n", xs[i].cj3);
    }     
}

// 打印两行,分别是:

60 + 61 / 2 = 60.5

70 + 71 / 2 = 71.7   

第二题

#include <stdio.h> 
 
typedef struct node {  
    char name[6];  
    int age;       
}jlx;     
 
void main() {      
    jlx st; 
    scanf("%s", st.name);       
    scanf("%d", &st.age);       
    printf("\n*******************");     
    printf("\n%s -- %d", st.name, st.age);   
    printf("\n*******************");     
}

st.name

&st.age

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夏天的小红花

2019-03-20 · TA获得超过4811个赞
知道大有可为答主
回答量:1万
采纳率:83%
帮助的人:705万
展开全部
程序是用来计算二个学生的平均成绩并存入结构体中,再输出这个平均成绩(四舍五入保留一位小数)的。
程序的输出是:
60.5
70.5
-------------
二个填空:
st.name
&st.age
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卞莱mt
2019-03-20 · TA获得超过148个赞
知道答主
回答量:146
采纳率:73%
帮助的人:15.3万
展开全部
C源程序到运行程序步骤:
1.编辑:输入源程序并存盘(.C)
2.编译:将源程序翻译为目标文件(.OBJ)
3.链接:将目标文件生成可执行文件( .EXE)
4.运行:执行.EXE文件,得到运行结
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(22)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式