精华内容
下载资源
问答
  • 现在问题就是,假设每人AC战斗力是一个已知整数,请编程输出最后选出老总AC战斗力。 Input 输入包含多组测试数据,每组数据占2行,首先一行是一个整数n(n),表示创立公司人数,然后一行是n个32位...
  • C语言中,strlen和sizeof都用于求字符数组长度,他们俩区别就是是否把最后的结束标志也加上去。strlen是不加,他表示字符串长度。而sizeof求是字符串在内存中长度,所以它是加上最后的'\0'所以一般...

    8f1ac75460a327a135bc5788f48ad3bc.png

    C语言中没有字符串,用的是字符数组来模拟字符串。

    C风格的字符串时字符数组然后在末尾加0表示结尾。

    在C语言中,strlen和sizeof都用于求字符数组的长度,他们俩的区别就是是否把最后的结束标志也加上去。

    strlen是不加的,他表示字符串的长度。

    而sizeof求的是字符串在内存中的长度,所以它是加上最后的'\0'的

    所以一般而言后者的长度会比前者多1。strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。

    关键字 sizeof 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等#include

    #include

    int main()

    {

    char buf[] = "abcd";

    printf("sizeof(buf) = %d\n",sizeof(buf));

    printf("strlen(buf) = %d\n",strlen(buf));

    return 1;

    }

    运行结果:exbot@ubuntu:~/shareWin/CAndC++$ ./sizeofandstrlen

    sizeof(buf) = 5

    strlen(buf) = 4

    strlen计算的是字符串到'\0'位置的大小

    sizeof计算的字符串占的内存大小#include

    #include

    int main()

    {

    char str[100] = {0};

    strcpy(str, "abcd");

    int str_len = strlen(str);

    int str_size = sizeof(str);

    printf("strlen(str) = %d\n", (str_len));

    printf("sizeof(str) = %d\n", (str_size));

    return 0;

    }

    运行结果:ubuntu@ubuntu:~/workspace/test$ gcc sizeofAndStrlen.c -o sizeofAndStrlen

    ubuntu@ubuntu:~/workspace/test$ ./sizeofAndStrlen

    strlen(str) = 4

    sizeof(str) = 100

    更多web开发知识,请查阅 HTML中文网 !!

    展开全文
  • EOF(End of file)是C/C++里面宏定义,具体定义式是#define EOF -1,表示是文件的结束标志,值等于-1,一般在文件读取函数里面,比如fscanf fgetc fgets等,一旦读取到文件最后就返回EOF标志并结束函数调用...
    EOF(End of file)是C/C++里面的宏定义,具体定义式是#define EOF -1,表示的是文件的结束标志,值等于-1,一般用在文件读取的函数里面,比如fscanf fgetc fgets等,一旦读取到文件最后就返回EOF标志并结束函数调用

    '\0'是转义字符,值等于0,主要用在C风格字符串的末尾,表示字符串结束标志。通常用在和字符串相关的函数里面,如strcmp strcpy等会用到它

    '\n'表示换行符,通常用作一些读取函数的读取结束标志,比如scanf,getchar(),gets()等,一旦遇到'\n'就结束读取并返回
    展开全文
  • 对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF参考答案:B参考解析:在c语言中,或更精确地说成c标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束....

    1[单选题] 下面关于“EOF”的叙述,正确的是

    A.EOF的值等于0

    B.EOF是在库函数文件中定义的符号常量

    C.文本文件和二进制文件都可以用EOF作为文件结束标志

    D.对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF

    参考答案:B

    参考解析:在c语言中,或更精确地说成c标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。

    2[单选题] 以下叙述中正确的是

    A.字符串常量“strl”的类型是:字符串数据类型

    B.有定义语句:char strl[]="strl";,数组strl将包含4个元素

    C.下面的语句用赋初值方式来定义字符串,其中,´\O´是必须的

    141402734f201b45050d46c99b119ea5.png

    D.字符数组的每个元素可存放一个字符,并且最后一个元素必须是´\0´字符

    参考答案:C

    参考解析:本题考查字符数组的相关操作,B选项中数组strl包含了5个元素,其中有结尾符,A选项中strl的类型不是字符串类型,字符数组的最后一个元素可以不是´\O´字符。

    3[单选题] 以下选项中非法的C语言字符常量是(  )

    A.'\x9d'B.'9'C.'\x09'D.'\09'

    参考答案:D

    参考解析:本题考查字符常量,字符常量是用单引号括起来的一个字符。例如:'a'、'='、'+'等。转义字符是一种特殊的字符常量。转义字符以反斜线“、”开头,后跟一个或几个字符。D选项中'\09',\0表示后面的字符是八进制数。又出现9所以是非法的。故D选项正确。

    4[单选题]若有以下程序

    6b0938d25b3feffc576b59eeea984ca6.png

    则程序的输出结果是

    A.1,2,3,4B.2,1,2,-1C.5,1,2,-1D.2,2,2,4

    参考答案:D

    参考解析:第一个if语句的判断条件中是逻辑或表达式,所以只要有一个运算对象为真结果就为真,且如果前面的已经为真,后面的表达式不再进行执行判断。执行第一个if判断条件时a的值为2,整个表达式的值为真,b的值不变,c的值为2。判断第二个if条件为逻辑与表达式。只有两个运算对象均非零,才为真,第一个表达式c==3,不成立,不再判断第二个运算对象,所以不执行d=-1操作和a=5操作。所以结果为选项D。

    5[单选题] 若有定义int a:float b:double c;程序运行时输入:

    345

    能把值3输入给变量a、4输入给变量b、5输入给变量C的语句是

    A.scanf("%d%f%If",&a,&b,&C.;

    B.scanf("%d%If%If",&a,&b,&C.;

    C.scanf("%d%f%f",&a,&b,&C.;

    D.scanf("%If%If%If",&a,&b,&C.;

    参考答案:A

    参考解析:wad()函数的格式串中,必须含有与输入项一一对应的格式转换说明符,整型数据、float型数据、double型数据对应的格式转换说明符分别为%d、%f、%If所以选择A。

    6[单选题] 若有以下程序

    e0f4e9846ec6cd18d9e0f8e9615f922b.png

    执行时若输入:

    Fig flower is red.

    则输出结果是

    A.Fig flower is red.is blue.B.Fig flower is red.C.Fig floweris red.D.Fig floweris

    参考答案:B

    参考解析:本题考查字符数组的赋值以及字符串的处理函数,本题中输入字符串Fig flower is red时,首先是将前10个字符赋值给字符数组a,然后执行gets(B.后,将后续字符存放到b中,当输出时,首先输出字符数组a,然后输出字符串b,所以结果为B选项。

    7[单选题] 有以下程序

    b25fe7dd5dbb40997e9475d62abbaf4c.png

    程序运行后的输出结果是

    A.abcdeB.ABCDEC.edcbaD.EDCBA

    参考答案:B

    参考解析:本题考查数组名作为函数参数,执行f函数时,传进去的a指针被重新指向了b,所以原本a数组的地址内容不变,所以输出结果为ABCDE,答案为8选项。

    8[单选题] 有以下程序:

    fb94c0fc5dc84d9b569b467a87887690.png

    12b30c7e4e96f2de8d7f94f366985af5.png

    程序运行后的输出结果是( )。

    A.1,2,3,0,0,0,0,0,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0,参考答案:D我的答案:未作答收起解析收藏纠错

    参考解析:本题考查文件操作函数,两次fwrite后,币文件中已经写入l,2,3,O,0,l,2,3,0,0然后将文件币中的内容重新写人数组a中,最后输出a为1。2,3,0,0,1,2,3,0,0,所以选项D正确。

    9[单选题] 有三个关系R、S和T如下:

    7a946ac4b1892de2bb83b118c403a091.png

    则由关系R和S得到关系T的操作是( )。

    A.自然连接B.交C.除D.并

    参考答案:C

    参考解析:如果S=T/R,则s称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于s中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C。

    10[填空题]下列给定程序中,函数fun的功能是:从形参SS所指字符串数组中,删除所有串长超过k的字符串,函数 返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。

    请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。

    不得增行或删行.也不得更改程序的结构!

    ff179a54122bf589e2712cc987d51426.png

    参考解析:

    (1)N

    (2)k

    (3)ss[i]

    【考点分析】

    本题考查:for循环语句;ff语句条件表达式;字符串拷贝 函数strcpy的使用。

    【解题思路】

    填空1:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量i的循环条件是i

    填空2:题目要求删除串长度小于k的字符串,所以if条件语句的条件表达式是len<=k。。填空3:通过字符串拷贝函数将串长不大于k的字符串另存,并记录个数。

    【解题宝典】

    字符串拷贝函数strcpy,其格式为:strcpy(字符数组名1,字符数组名2)功能:把字符数组2中的字符串拷贝到字符数组l中。字符串结束标识‘、0’也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。

    相关推荐:

    展开全文
  • C语言的科学和艺术.pdf

    热门讨论 2012-01-19 14:09:05
    本资源包含《C语言的科学和艺术(英文版)》.pdf和《C语言的科学和艺术(中文版)》.pdf两本书,有兴趣的朋友可以进行对照阅读。 《C语言的科学和艺术》,原名《The Art and Science of C: A Library-Based Introduction...
  • 当哈利需要某个功能但不知道该用什么魔咒时,你程序要替他找到相应魔咒。如果他要魔咒不在词典中,就输出“what?” Input 首先列出词典中不超过100000条不同魔咒词条,每条格式为: [魔咒] 对应...
  • ![图片说明](https://img-ask.csdn.net/upload/201912/24/1577160922_982308.png) #include int main() { int i,sum=0; char a[20];...最后输出存入字符,结束标识也加了,还是一直输出笑脸,不知道哪里错了。
  • 一道作业题,题目是这样 !... 我尝试这个来输入p1: ...2.我觉得scanf和之后改getchar在这里功能应该是一样,为什么程序最后输出结果不一样?(两个输出结果都不对,正确应该是2) 谢谢大家!
  • C语言编程要点

    2017-09-18 00:10:37
    10.1. 用什么方法存储标志(flag)效率最高? 147 10.2. 什么是“位屏蔽(bit masking)”? 148 10.3. 位域(bit fields)是可移植吗? 150 10.4. 移位和乘以2这两种方式中哪一种更好? 151 10.5. 什么是高位字节和低位字节...
  • 121.为什么用feof()读取文件,结果最后总是多读些东西 C语言中,feof()读取文件,遇到EOF标识符结束,而EOF要被读取

    121.为什么用feof()读取文件,结果最后总是多读些东西

    C语言中,用feof()读取文件,遇到EOF(End Of File)标识符结束,而EOF要被读取。读取到EOF就会产生不必要的困扰,例如多读两个字符或者一行。

    在文本文件中,数据都是以ASCII码形式存放的,范围为0~255,不可能出现-1,因此可以用-1来标识文件的结束。也就是说,文件读到EOF时,返回-1。

    键盘输入EOF:

                           Windows:Ctrl+Z

                           Linux:Ctrl+D

    举个例子来说:

    #include <stdio.h>
    
    int main()
    {
        int n;
        if(scanf("%d",&n)!=EOF)
            printf("%d\n",n);
        else
            printf("EOF\n");
        return 0;
    }
    

    运行结果:

    为了解决多读的EOF字符,用一个判断语句来解决不必要的麻烦。

    feof(fp)是 判断fp指针是否读到了EOF字符

    FILE *fp; feof(fp)中指针的变化:

    假如文件中的数据如下:

    fp指针逐个指向字符,指到6之后,指向EOF,但是并不认为文件已经结束。当指针指向EOF后一位时(把EOF读取之后),此时文件内容才算结束。也就是说当文件读到EOF时,指针已经指向EOF的下一个字符。

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        FILE *fp;
        char ch;
        if((fp=fopen("text.txt","r"))==NULL)
        {
            printf("can't open file!\n");
            exit(0);
        }
        while(!feof(fp))    //未到文件结束
        {
            ch=fgetc(fp);
            printf("%c",ch);
            if(ch==EOF)     //必须使用
                break;
        }
        printf("\n");
        fclose(fp);
        return 0;
    }
    
    

    运行结果:

    展开全文
  • C语言编程练习

    2019-12-06 22:30:32
    一、问题描述 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果;...每个人说对了一半,因此逻辑操作符可以进行判断,还要注意逻辑操作符返回值是什么,当逻辑为真,返回值为1,逻辑为假,返回...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件可读性,便于改进和扩充,从而研制出规模更大、性能更完备系统。 综上所述,用C语言进行单片机程序设计是单片机开发与应用必然趋势。所以...
  • 最后结点指针域放空指针 return head; } void Disp_List(LinkList head)//显示成绩 { LinkList p=head; //p=head->next;//读取第一个元素地址存储位置,就是直接读取下一个位置元素 ...
  • 和后一个数比较大小,如果后一个数更大,那么后一个数再跟它后面数比较,如果后一个数小于第一个数,则交换它们位置,然后继续和后面数比较,直到最后一个数,所以最后一个数是最大,此时算是第一轮结束,...
  • 数组赋值给数组赋值方法除了赋值语句对数组元素逐个赋值外, 还可采用初始化赋值和动态赋值方法。数组初始化赋值数组初始化赋值是指在数组说明时给数组元素赋予初值。 数组初始化是在编译阶段进行。这样将...
  • C语言 读入-fgets()

    2019-09-28 21:07:24
    今天看代码时候突然看到fgets,虽然感觉可能没什么用,但还是整理下来吧。以下是百度百科关于fgets定义:  从文件结构体指针stream中读取数据,每次读取一行。读取数据保存在buf指向字符数组中,每次最多...
  • 本书集综合性、实用性为一体,是学习C语言的优秀入门教材,在世界范围内广受欢迎,口碑极佳。书中除了讲解C程序设计语言,还广泛介绍了作为一名C程序设计人员应该掌握的必要知识,并提供了大量的实用性很强的编程...
  • C语言陷阱与缺陷(中文版+英文版)

    热门讨论 2009-12-23 11:13:53
    他从1986年开始从事C语言的研究,1977年加入贝尔实验室。在1989 年ISO/ANSIC++委员会成立时,他就加入了该委员会,并一直担任项目编辑;他还是《RumirlatiorlsonC++》(C++沉思录)、《CTrapsandPitfalls》的作者。 ...
  • 注意弄清应该在什么条件下设置离开事件,以及第二个队列怎样存储结构实现时可以获得较高效率。注意:事件表是按时间顺序有序。 【选作内容】 自己实现动态数据类型。例如对于客户结点,定义pool为 ...
  • 字符串的最后一个字符是一个特殊字符,表示字符串的结束。特殊字符 就是 ‘\0’ ‘\n’ 2 字符串的输出和输入 1)输出字符串 printf(“abc%s”, “abc”); printf(“abc”) char str[4] = {‘a’,‘b’,‘c
  • 获取整数的最后一位数字 26 多个转换说明 27 单目运算符 28 赋值运算符 29 表达式和赋值表达式 30 表达式语句 30 2-2 数据类型 31 求平均值 31 数据类型 32 数据类型和对象 33 整型常量和浮点型常量 34 ...
  • 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序...
  • 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序...
  • 之前想问题是,为什么在函数中malloc很多内存,然后指针指向他们,最后可以改变整个单链表,当然前提是带头结点且加了引用类型。这个地方比较玄学,可能是C语言最难部分了。#include &lt;bits/stdc+...
  • 什么推荐cfree呢?因为我认为这个编辑器界面友好,起来方便。 你也许会问,调试程序是什么? 那么下面思考几个问题:对于前面讲的分支结构和循环结构有点...这是讲C语言入门的最后一篇,之所以要讲调试程序...
  • 意思是一样,都是用于判断是否为null(空),但是假如你du不同的输入在计算机zhi上,null== a 识别度更dao高,编写代码中null...C语言把它作为字符串的最后一个字符,以表示字符串到此结束"\0"。 2.NULL指针是一个无.

空空如也

空空如也

1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

c语言的最后用什么结束

c语言 订阅