鱼C论坛

 找回密码
 立即注册
查看: 2193|回复: 10

急!C语言期末考试题!求详细解答!!万分感激!

[复制链接]
发表于 2014-6-28 13:45:48 | 显示全部楼层 |阅读模式
15鱼币
typedef char STRING[255]; STRING * s; s 是()
A 字符数组                 B 字符变量
C 字符指针数组    D 字符指针变量
若某结构型指针变量p已经指向该结构型某数组,错误地引用该结构型数组元素成员的是()
A (*p).成员名          B *(p+i).成员名
C (p+i)->成员名        D p->成员名
为了存放一个人的身高、姓名和年龄,应该使用的数据类型是()
A 一维数组   B 指向一维数组的指针变量
C 结构型变量 D 结构型一维数组
以下关于结构型变量成员地址的引用方法中错误的是()
A &结构型变量名.成员名
B 结构型变量名.成员名
C &结构型变量名
D &结构型变量名.成员数组[下标
使用fopen(“123”, “45”)打开文件时,若1234文件不存在,则__
以下程序运行后,输出结果是什么?
# include <stdio.h>
# include <stdlib.h>
int main()
{
    int i, n;
    FILE * fp;
    if((fp=fopen("d:\\temp.txt", "w+")) == NULL)
    {
        printf("can not set the temp file\n");
        exit(0);
    }
    for(i=1; i<=10; i++)
        fprintf(fp, "%4d", i);
    for(i=0; i<5; i++)
    {
        fseek(fp, i*6L, SEEK_SET);
        fscanf(fp, "%d", &n);
        printf("%3d", n);
    }
    fclose(fp);
}

最佳答案

查看完整内容

1、A 2、B 3、C 4、B 5、误任何操作 6, 1 2 4 5 7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-28 13:45:49 | 显示全部楼层
1、A
2、B
3、C
4、B
5、误任何操作
6, 1 2 4 5 7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-28 18:52:32 | 显示全部楼层
一 . 所有答案都是错的,正确答案是:字符数组指针
二.  四种写法都是对的
三 C
四 B
五 什么都不会发生
六 1  2  4  5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-28 19:33:37 | 显示全部楼层
第一题是   数组指针,
STRING * s;
char aa[255];
s=&aa;
编译通过,说明s 是只想 一个255个字符数组的指针, 勉强选D吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-28 20:27:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-29 12:34:20 | 显示全部楼层
a0y1a 发表于 2014-6-28 20:27
你好,我想知道为什么输出的是1 2 4 5 7?虽然程序运行后输出的是确实是这几个数字,但是为什么?

   1   2   3   4   5   6   7   8   9  10
01234567890123456789012345678901234567890   偏移量

i=0  fseek(fp, 0, SEEK_SET);    1
i=1  fseek(fp, 6, SEEK_SET);    2
i=2  fseek(fp, 12, SEEK_SET);   4
i=3  fseek(fp, 18, SEEK_SET);   5
i=4  fseek(fp, 24, SEEK_SET);   7


视频解说:
http://chinasvn.xicp.net/jt.asp?id=1


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-29 15:09:09 | 显示全部楼层
本帖最后由 oggplay 于 2014-6-29 15:46 编辑

#include <stdio.h>
 
typedef char STRING[0x100];     //为方便查看,我改成了 256
 
int main(void)
{
    STRING *s;
    STRING a="aaaaa",
           l[]={"hello","world"};
    printf("sizeof(a)=%lu\n",sizeof(a));
    s=&a;
    printf("s=%p\n*s=%s\n",s,*s);
    s=l;
    printf("s=%p\n*s=%s\n",s,*s);
    ++s;
    printf("s=%p\n*s=%s\n",s,*s);
    return 0;
}
运行结果很明显 s 是指向 256 字节区块的指针,++s 的步进是 256 字节
第六题、

1 2 4 5 7

12.png

The fseek() function sets the file position indicator for the stream pointed to by stream.  The new position, measured in bytes, is obtained by adding offset bytes to the position specified by whence.  If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to the start of the file, the current position indicator, or end-of-file,respectively.  A successful call to the fseek() function clears the end-of-file indicator for the stream and undoes any effects of the ungetc(3)and ungetwc(3) functions on the same stream.



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-29 15:58:18 | 显示全部楼层
戏++ 发表于 2014-6-29 12:34
1   2   3   4   5   6   7   8   9  10
01234567890123456789012345678901234567890   偏移量

帅哥,视频是你录制的吗?真的是非常感谢!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-29 15:59:35 | 显示全部楼层
oggplay 发表于 2014-6-29 15:09
运行结果很明显 s 是指向 256 字节区块的指针,++s 的步进是 256 字节
第六题、
1 2 4 5 7

谢谢你解答!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-29 16:00:09 | 显示全部楼层
仰望天上的光 发表于 2014-6-28 18:52
一 . 所有答案都是错的,正确答案是:字符数组指针
二.  四种写法都是对的
三 C

非常感谢你细心的解答!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-6-29 16:53:44 | 显示全部楼层
a0y1a 发表于 2014-6-29 15:58
帅哥,视频是你录制的吗?真的是非常感谢!!!!

哈哈是我录的啊,有帮助就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 09:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表