上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
C语言复习习题--编译预处理
作者:未知 申领版权
2010年12月12日 共有 2460 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:
    

第九章    编译预处理

 1.下面叙述中不正确的是
    A) 预处理命令行都必须以#号开始
    B) 在程序中凡是以#号开始和语句行都是预处理命令行
    C) C程序在执行过程中对预处理命令行进行处理
    D) 以下是正确的宏定义
    #define  IBM_PC
    2.以下叙述中正确的是
    A) 程序的一行上可以出现多个有效的预处理命令行
    B) 使用带参的宏时,参数的类型应与宏定义时的一致
    C) 宏替换不占用运行时间,只占用编译时间
    D) 在以下定义中C  R是称为“宏名”的标识符
    # define  C R     045
    3. 有关宏替换的叙述不正确的是
    A)宏替换不占用运行时间       B)宏名无类型
    C)宏替换只是字符替换         D)宏名必须用大写字母表示
    4.C语言的编译系统对宏命令的处理是
    A) 在程序运行时进行的
    B) 在程序连接时进行的
    C) 和C程序中的其它语句同时进行编译的
    D) 在对源程序中其它成份正式编译之前进行的
    5.在宏定义 #define PI 3.14159中 ,用宏名PI代替一个
    A)单精度数      B)双精度数      C)常量      D)字符串
    6.以下程序的输出结果是 
    A)9      B)6      C)36      D)18 
    #define f(x)   x*x 
    main( ) 
    { int a=6 ,b=2 ,c ; 
    c=f(a) / f(b) ; 
    printf("%d \n",c);}
    7.执行下面的程序后,a的值是
    #define  SQR(X)    X*X
    main( )
    { int  a=10 ,k=2 ,m=1 ;
    a/=SQR(k m)/SQR(k m);
    printf("%d\n",a);     }
    A)10        B)1         C)9         D)0
    8.以下说法中正确的是 
    A)#define和printf都是C语句 
    B)#define是C语句,而printf不是 
    C)printf是C语句,但#define不是
    D)#define和printf都不是C语句 
    9.请读程序:
    #include< stdio.h>
    #define  SUB(X,Y)   (X) * Y
    main()
    {  int a=3,b=4;
    printf("%d\n",SUB(a ,b ));}
    上面程序的输出结果是
    A)12      B)15      C)16      D) 20
    10.请选出以下程序段的输出结果
    #include<stdio.h>
    #define  MIN(x ,y)    (x)<(y)? (x):(y)
    main()
    { int   i ,j ,k ;
    i=10 ; j=15 ;
    k=10*MIN(i ,j) ;
    printf("%d\n" ,k) ;}
    A)15      B)100      C)10      D)150 
    11.下列程序执行后的输出结果是
    A)6      B)8      C)10      D)12
    #define   MA(x)  x*(x-1)
    main() { int  a=1 ,b=2 ; printf("%d \n",MA(1 a b));}
    12.请选出以下程序段的输出结果
    #include<stdio.h>
    #define  MIN(x ,y)    (x<y)? (x):(y)
    main()
    { int  i ,j ,k ;
    i=10 ; j=15 ;
    k=10*MIN(i ,j) ;
    printf("%d\n" ,k) ;}
    A)15      B)100      C)10      D)150
    13.请选出以下程序段的输出结果
    #include<stdio.h>
    #define  MIN(x ,y)    (x<y? x:y)
    main()
    { int  i ,j ,k ;
    i=10 ; j=15 ;
    k=10*MIN(i ,j) ;
    printf("%d\n" ,k) ;}
    A)15      B)100      C)10      D)150
    14.有如下程序 
    #define  N     2 
    #define  M     N 1 
    #define  NUM   2*M 1 
    main() 
    { int  i ; 
    for(i=1 ;i<=NUM ;i )printf("%d\n",i); } 
    该程序中的for循环执行的次数是 
    A)5      B)6      C)7      D)8 
    15.设有以下宏定义:
    #define  N      3
    #define  Y(n)  ((N 1)*n)
    则执行语句:z=2 *(N Y(5 1));后 ,z的值为
    A)出错      B)42      C)48      D)54
    16.以下程序运行后,输出结果是
    A)49.5      B)9.5      C)22.0      D)45.0
    #include<stdio.h>
    #define  PT   5.5
    #define  S(x)    PT*x*x
    main( )
    {  int  a=1 ,b=2 ;printf("%4.1f\n",S(a b)) ;}
    17.阅读下列程序:
    # include <stdio.h>
    # define  MAX_COUNT   4
    void fun() ;
    main()
    {  int  count ;
    for (count=1 ;count<=MAX_COUNT ;count ) fun() ;}
    void fun()
    {  static  int  i ;
    i =2 ; printf("%d" ,i) ;}
    上述程序的输出结果是【              】。
    18.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用" "(双引号)括起来时,寻找包含文件的方式是
    A) 直接按系统设定的标准方式搜索目录
    B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索
    C) 仅仅搜索源程序所在目录
    D) 仅仅搜索当前目录
    19.以下正确的描述是
    A) C语言的预处理功能是指完成宏替换和包含文件的调用
    B) 预处理指令只能位于C源程序文件的首部
    C) 凡是C源程序中行首以"#"标识的控制行都是预处理指令
    D) C语言的编译预处理就是对源程序进行初步的语法检查
    20. 以下程序的输出结果是
    #define    M(x,y,z)    x*y z
    main()
    {   int  a=1,b=2, c=3;
    printf(“%d\n”, M(a b,b c, c a));
    }
    A) 19 B) 17 C) 15 D) 12
    21. 以下叙述正确的是
    A) 可以把define和if定义为用户标识符
    B) 可以把define定义为用户标识符,但不能把if定义为用户标识符
    C) 可以把if定义为用户标识符,但不能把define定义为用户标识符
    D) define和if都不能定义为用户标识符
    22. 设有如下宏定义
    #define   MYSWAP(z,x,y)   {z=x;  x=y; y=z;}
    以下程序段通过宏调用实现变量a、b内容交换,请填空。
    float  a=5,b=16,c;
    MYSWAP(  【           】 ,a,b);
    23. 程序中头文件typel.h 的内容是:
    #define   N    5
    #define   M1   N*3
    程序如下:
    #define   “type1.h”
    #define   M2   N*2
    main()
    { int i;
    i=M1 M2;  printf(“%d\n”,i);
    }
    程序编译后运行的输出结果是:
    A) 10  B) 20 C) 25   D) 30
    

    

 

相关新闻

700个MBA面试题
化学实验基本操作复习
有机化学
如何学好高中化学
2011届高三化学一轮复习36
2011届高三化学一轮复习35
2011届高三化学一轮复习34
2011届高三化学一轮复习32
2011届高三化学一轮复习31
2011届高三化学一轮复习30

您可能对这些感兴趣  

第7讲 综合分析BIM在运用与推广中的障碍问题
考核学生质量的困难
日本福岛核电站事故初步分析
论科技异化与科技人化
中国科技计划项目管理现状与对策
财政科技资金的审计重点和内容
软科学研究机构在政府决策中的功效、困境及对策研究
打造超级DOS系统(下)
DOS命令基础应用(6)
打造超级DOS系统(上)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》