4、以下程序输出的是:( )(答案中用大写字母U代表空格)。正确答案:C

void main()
{
    int a=-1,b=4,k;
    k=(a++<=0)&&(!(b--<=0));
    pirntf("%d%d%d\n",k,a,b);
}

    A. 0U1U2        B. 0U0U3        C. 1U0U3        D. 1U1U2

【解析】:a++<=0表达式值为1;!(b--<=0)表达式值也为1


6、char a[10];不能将字符串"abc"存储在数组中的是( )。正确答案:B

    A. int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;

    B. a="abc";

    C. strcpy(a,"abc");

    D. a[0]=0;strcat(a,"abc");

【解析】:数组在初始化时,一旦没有被一次性赋值,就只能通过for循环语句 一个字符一个字符地赋值给每个数组元素了;strcat函数实际上也是在循环赋值给每个数组元素


7、以下程序的输出结果是( )。正确答案:C

void fun(int a,int b,int c)
{
    a=456;
    b=567;
    c=678;
}
void main()
{
    int x=10,y=20,z=30;
    fun(x, y, z);
    printf("%d,%d,%d\n", z, y, x);
}

    A. 10,20,30        B. 678567456        C. 30,20,10        D. 456567678

【解析】:看错了输出顺序,输出顺序是z y x


 8、在执行"文件包含"命令时,下列说法正确的是( )。

    A. 作为一个源程序编译,得到一个目标文件

    B. 一个include命令可指定多个被包含文件

    C. 在编译时作为两个文件联结

    D. 被包含的文件可以是源文件或目标文件

【解析】:文件包含是指一个C语言源程序中将另一个C语言源程序包含进来,通过include预处理指令实现。

 一般形式:   #include”被包含文件名”  或#include<被包含文件名>  作用:将指定文件包含在当前文件中,插入至文件包含指令相应位置处。使用文件包含指令,可以减少程序设计人员的重复劳动,提高程序开发效率。  说明:  (1)被包含的文件一般指定为头文件(*.h),也可为C程序等文件  (2)一个include指令只能指定一个被包含文件,如果要包含n个文件,则要用到n条include指令。  (3)不能包含OBJ文件(即目标文件)。文件包含是在编译前进行处理,不是在连接时进行处理。  (4)当文件名用双引号括起来时,系统先在当前目录中寻找包含的文件,若找不到,再在系统指定的标准方式检索其它目录。而用尖括号时,系统直接按指定的标准方式检索。  一般系统提供的头文件,用尖括号。自定义的文件,用双引号。  (5)被包含文件与当前文件,在预编译后变成同一个文件,而非两个文件。  (6)文件包含可以嵌套,但必须按顺序包含。


13、格式字符%g选用%e或%f格式中输出宽度较短的一种格式输出实数。(正确)

【解析】:%g(%G)浮点数不显无意义的零“0”,例如:"%.8g"表示float浮点数保留8位有效数字


14、C语言的输入、输出功能是由系统提供的输入、输出函数实现的。

【解析】:c语言的输入输出功能是由c语言标准库提供的但 c语言标准库 是编译器提供 的吧怎么和系统发生关系 了 ……


20、语句char ch[12]={"C Program"};与语句char ch[]="C Program";具有相同的赋初值功能。(正确)


22、若一个函数中没有return语句,则意味着该函数没有返回值。(错误)

【解析】:

说法一

C语言程序设计教科书上的原话:函数调用完成后,通过return语句返回函数值,若无该语句将返回不确定值,若函数类型定义为void(空)类型,该函数将没有返回值。

说法二

即使函数中没有return语句,若函数不声明为void型,调用函数的时候还是可以得到int型的返回值。但是一个不确定的值,所以应该选D。

return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。

如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

扩展资料:

return是C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值。

如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。在main函数的最后加上return 语句。

只要一个函数的返回值是数字型的,那么就可以返回0(即return 0),其实你返回多少都没问题。一般情况下,C++做出来的函数都要求返回一个值。

当函数执行正常,且达到了一般情况下的目的,那么就返回0表示正确的调用了该函数,这个0就是返回给主调函数以通知没有出错的;如果函数调用中出错,或者没有按照一般情况执行,那么就返回1,以告知主调函数采取响应策略。

说法三

C语言的函数如果没有return,那一定就是一个返回值为void的函数,表示不返回任何值,只是函数的代码返回了,也就是执行在汇编层面上的ret指令来结束函数的调用。返回值为void的函数其实也可以用return,但是return后面不加任何变量,表示仅仅返回函数的代码,只用于结束函数的调用。


24、当函数的类型与return语句后表达式的值的类型不一致时,函数返回值的类型由return语句后表达式值的类型决定。(错误)

【解析】:在C语言中,如果函数值的类型和return语句中表达式的值不一致,则编译器会以函数值的类型为准,自动把return语句中表达式的值的类型转换成函数值的类型


39、在C程序中,只能给指针变量,NULL值和_____值。(地址)


40、设有以下结构类型说明和变量定义,则变量b在内存所占字节数是_____。正确答案: 21

struct stud {
    short int age;
    char num[3];
    float s[2];
    double ave;
}
b,*p;

【解析】:声明一个结构体,系统给它分配的内存是struct各成员所占字节数之和


41、功能:编写函数求1~50(包括50)中奇数的平方和,结果为20825.000000。

#include<stdio.h>
float sum(int n)
{
    float s=0;
    int i;
    for(_____1_____)
        _____2_____
    _____3_____
}
void TestFunc()
{
    FILE *IN,*OUT;
    int i;
    float o;
    IN=fopen("in.dat","r");
    if(IN==NULL)
    {
        printf("Read File Error");
    }
    OUT=fopen("out.dat","w");
    if(OUT==NULL)
    {
        printf("Write File Error");
    }
    fscanf(IN,"%d",&i);
    o=sum(i);
    fprintf(OUT,"%f\n",o);
    fclose(IN);
    fclose(OUT);
}
void main()
{
    printf("sum=%f\n",sum(50));
    TestFunc();
}

Snipaste_2023-08-01_22-48-06.jpg



42、功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。

#include<stdio.h>
#include<conio.h>
int fun(int w)
{
    int k,s=0;
    do {
        _____1_____
        _____2_____
    }
    while(_____3_____)
        if(_____4_____)
            _____5_____
        else_____6_____
    return k;
}
void main()
{
    int m;
    void TestFunc();
    printf("Enter m: ");
    scanf("%d", &m);
    printf("\nThe result is %d\n", fun(m));
    TestFunc();
}
void TestFunc()
{
    FILE *IN,*OUT;
    int c ;
    int t;
    int o;
    IN=fopen("in.dat","r");
    if(IN==NULL)
    {
        printf("Read File Error");
    }
    OUT=fopen("out.dat","w");
    if(OUT==NULL)
    {
        printf("Write File Error");
    }
    for(c=1;c<=5;c++)
    {
        fscanf(IN,"%d",&t);
        o=fun(t);
        fprintf(OUT,"%d\n",o);
    }
    fclose(IN);
    fclose(OUT);
}

Snipaste_2023-08-01_22-47-56.jpg


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论