C语言练习题组02

这篇博客包含了多个C语言编程题目,涉及到数据类型的输出和指针操作。同时,文章探讨了回调函数的概念,指出回调函数可以是全局、静态或类成员函数,常用于通知机制,可能被一次性或循环调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 以下程序运行后的输出结果是
main() {
    int a, b, d = 25;
    a = d/10%9;
    b = a && (-1);
    printf("%d,%d\n", a, b);
}
  • 6,1
  • 2,1
  • 6,0
  • 2,0
2. 下列代码运行的结果为
class B
{
	public:
   		virtual void Fun(){}
};
class D: public B
{
	public:
  		 void Fun(){}
};
D dd;
B* pb = ⅆ
D* pd = ⅆ
pb->Fun();
pd->Fun();
  • B::Fun, D::Fun
  • B::Fun, B::Fun
  • D::Fun, D::Fun
  • D::Fun, B::Fun
3. 设已定义浮点型变量data,以二进制代码方式把data的值写入输出文件流对象outfile中,正确的语句是()
  • outfile.write((double ) &data, sizeof(double));
  • outfile.write((double ) &data, data);
  • outfile.write((char *) &data, sizeof(double));
  • outfile.write((char *) &data, data);
4. 下面有关回调函数的说法,错误的是?
  • 回调函数一般是一个通过函数指针调用的函数
  • 回调函数可能被系统API调用一次,也可能被循环调用多次
  • 回调函数本身可以直接是全局函数 、静态函数或某个特定类的成员函数
  • 回调函数可用于通知机制

5. 下列程序的运行结果是
void main() {
    char c = 'a'if ('a' < c <= 'z') printf ("Low”)else printf("UP")}
  • LOW
  • UP
  • LOWUP
  • 程序语法错误

6. 看下面的代码,sizeof(s)的结果是
struct s
{
    int x: 3;
    int y: 4;
    int z: 5;
    double a;
}
  • 16
  • 32
  • 20
  • 24

7. 下列程序的运行结果是PP 10003,请为横线处选择合适的程序( )
#include <stdio.h>
#include <string.h>

struct STU {
    char name[10];
    int num;
};

void f(char _____, int num) {
    struct STU s[2] = {{"SS", 10001}, {"PP", 10002}};
    num = s[1].num;
    strcpy(name, s[1].name);
}

main() {
    struct STU s[2] = {{"YY", 10003}, {"LL", 10004}}, *p;
    p = s;
    f(p->name, p->num);
    printf("%s %d\n", p->name, p->num);
}
  • *name
  • name[]
  • name
  • &name

8. 以下代码有什么问题
struct Test
 {
     Test( int ) {}
     Test() {}
     void fun() {}
 };
 void main( void )
 {
     Test a(1);
     a.fun();
     Test b();
     b.fun();
 }
  • b.fun()会出错
  • Test结构的定义中应该加上public修饰符,这样才能main函数中调用改类的方法
  • Test(int){} 应该改成Test(int a){}
  • 以上说法都不正确

练习参考答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muskfans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值