• 9.30作业


    • C语言基础考题(40)

    选择题 20分每题2分

    1、已知字母A的ASCII码为十进制数值65,且S为字符型,则执行语句S='A'+'6'-'3';后S中的值为 ( )

    A.'D'  B.68  C.不确定的值  D.'C'

    2、若有定义语句:int a=12;,则执行语句:a+= a-= a*a;后,a的值是 ( )

    A.264  B.552  C.144  D.-264

    3、设有以下程序段int y;y=rand() % 30+1;则变量 y 的取值范围是 ( )

    A.1<y<30  B.0≤y≤30  C.0<y≤30  D.1<y≤30

    4、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 ( )

    if (x>y) z=x; x=y; y=z;

    A.x=10,y=20,z=30  B.x=20,y=30,z=30  C.x=20,y=30,z=10  D.x=20,y=30,z=20

    5.请读程序:

    #define ADD(x)  x+x

    main()

    {

    int m=1,n=2,k=3;

    int sum=ADD(m+n)*k;

    printf("sum=%d",sum);

    }

    输出结果是 ( )

    A.sum=9  B.sum=10  C.sum=12  D.sum=18

    6.以下程序有错误,错误原因是( )

    main()

    {

    int *p,I;char *q,ch;

    p=&I;

    q=&ch;

    *p=40;

    *p=*q;

    ...

    }

    A.p和q的类型不一致,不能执行*p=*q;语句

    B.p中存放的是地址值,因此不能执行*p=40;语句

    C.q没有指向具体的存储单元,所以*q没有实际意义

    D.q虽然指向了具体的存储单元,但该单元中没有确定值,多以不能执行*p=*q;语句

    7.当顺利执行了文件关闭操作时,fclose函数的返回值是 ( )

    A.-1  B.TRUE  C.0  D.1

    8.假设变量a,b均为整形,表达式(a=5,b=2,a>b?a++:b++.a+b)的值是 ( )

    A.7  B.8  C.9  D.2

    9.设有如下程序段,下面描述中正确的是 ( )

    int k=10;while(k=0)k=k-1;

    A.循环执行一次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次

    10.设有以下程序段,则值为6的表达式是 ( )

    struct st {int n;struct st *next};

    static struct st a[3]={5,&a[1],7,&a[2],9,&a[0]},*p;p = &a[0];

    A.p++->n  B.++p->n  C.p->n++  D.(*p).n++

    编程题20分每题10分

    1.编写函数求1~100中奇数的平方与偶数的立方的和

    1. int sum(){
    2. int sum1 = 0; // 偶数
    3. int sum2 = 0; // 奇数
    4. for (int i = 1; i <= 100; i++)
    5. {
    6. if (i % 2 == 0)
    7. {
    8. sum1 += (i * i * i);
    9. }
    10. else
    11. {
    12. sum2 += (i * i);
    13. }
    14. }
    15. printf("sum=%d\n",sum1+sum2);
    16. return sum1+sum2;
    17. }

    2、采用动态分配内存的方式,现将1k的缓冲区填充从512到1536的数据,并将其以32字节为一行打印输出出来。   

    1.  size_t buffer_size = 1024;
    2.     unsigned char *buffer = (unsigned char *)malloc(buffer_size);
    3.     if (buffer == NULL) {
    4.         fprintf(stderr, "内存分配失败\n");
    5.         return 1;
    6. }
    7. for (int i = 512; i <= 1536; i++) {
    8.         buffer[i - 512] = (unsigned char)i;
    9.     }
    10.     for (int i = 0; i < buffer_size; i++) {
    11.         printf("%c ", buffer[i]);
    12.         if ((i + 1) % 32 == 0) {
    13.             printf("\n");
    14.         }
    15.     }
    16.     free(buffer);
    17.     return 0;

  • 相关阅读:
    最频繁值(区间最值POJ3368)
    springboot+avue医院绩效考核系统源码
    自学Python第二十二天- Django框架(四) iframe、其他组件和工具
    放弃华为天才少年 Offer、和陆奇 10 分钟定投资,25 岁的关超宇想让钢铁侠成为现实 | AGI 技术 50 人...
    Java学习笔记(三十五)
    (六)Vue之数据代理
    linux常用命令收集
    【算法】复习搜索与图论
    求臻医学:重磅 共识发布
    重新定义分析 - EventBridge 实时事件分析平台发布
  • 原文地址:https://blog.csdn.net/weixin_53762703/article/details/133432723