收藏 分销(赏)

C语言第3版-选择题(第7、8、9章).doc

上传人:二*** 文档编号:4479623 上传时间:2024-09-24 格式:DOC 页数:9 大小:41KB
下载 相关 举报
C语言第3版-选择题(第7、8、9章).doc_第1页
第1页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、.习题七一、选择题1下列叙述中错误的是 C 。A) 预处理命令必须以#号开头B) 预处理命令可以写成多行C) 预处理命令必须置于源文件的开始处D) 预处理命令以回车结束2C语言编译系统对宏替换的处理是在 A 进行的。A) 源程序编译前B) 源程序编译时C) 程序连接时D) 程序运行时3在宏定义 #define PI 3.14159 中,3.14159是 C 。 A) 单精度数B) 双精度数C) 字符串D) 由PI位置确定其类型4设有宏定义 #define A B abcd ,则宏替换时, A 。A) 宏名A用 B abcd 替换B) 宏名A B用abcd 替换C) 宏名A 和宏名B都用abcd

2、 替换D) 语法错误,无法替换5下列有关宏的叙述中错误的是 A 。A) 宏名必须使用大写英文字母B) 宏替换不占用程序的运行时间C) 宏参数没有数据类型D) 宏名没有数据类型6下列宏定义,最不会引起二义性的是 D 。A) #define ADD(a,b) a+bB) #define ADD(a,b) (a)+(b)C) #define ADD(a,b) (a+b)D) #define ADD(a,b) (a)+(b)7设有宏定义 #define M 3+2 则表达式 2 * M * 3 的值为 B 。A) 30B) 12C) 10D) 138设有宏定义 #define Y(n) (4*n) 则

3、表达式 3+Y(5+1)的值为 B 。A) 21B) 24C) 27D) 309设有宏定义: #define N 3 #define M N+2 则表达式 2*M/N的值为 A 。A) 6B) 3C) 3.333D) 错误替换为 2*3 + 2 /3,其中, 2/3是整除,值为110在#include命令中,#include后面的文件名用双引号定界,则系统寻找被包含文件的方式是 D 。A) 在C系统的include文件夹查找B) 在源程序所在文件夹查找C) 先在C系统的include文件夹查找,查找失败后再到源程序所在文件夹查找D) 先在源程序所在文件夹查找,查找失败后再到C系统的includ

4、e文件夹查找11(不要求)设有以下A、B两个程序段,则说法正确的是 B 。/A程序段/B程序段#define N 3#define N 3void main()void main()if(N0) #if(N0)printf(N=%dn,N);printf(N=%dn,N);else#elseprintf(N=0);printf(N=0);#endifA) 两个程序目标代码相同,运行结果也相同B) 两个程序目标代码不同,但运行结果相同C) 两个程序目标代码相同,但运行结果不同D) 两个程序目标代码不同,运行结果也不同12(不要求)执行以下程序,结果为 A 。#define DEBUGvoid m

5、ain()#ifdef DEBUGprintf(DEBUG );#endifprintf(OK);A) DEBUG OKB) OK C) 宏定义错误D) #ifdef命令错误 第八章一、选择题1以下数组定义中,错误的是C。A) int a=1,2,3;B) int a5=1,2,3;C) int a3=1,2,3,4;D) int a5,b;2以下数组定义中,正确的是B。A) int n=4 , an=1,2,3,4;B) int a2=1,2,3,4;C) int a2=1,2,3,4;D) int a=1,2,3,4;3设有如下定义:int a810;在VC中一个整数占用4字节,设a的起始

6、地址为1000,则a11的地址是D。A) 1000B) 1004C) 1036D) 10444已知有数组定义:int a 3=1,2,3,4,5,6,7,8,9,则a12的值是C。A) 2B) 5C) 6D) 85在以下字符串定义、初始化和赋值运算中,错误的是A。A) char str10; str= String;B) char str10= String;C) char str10= S ,t, r ,i,n, g;D) char str= S ,t, r ,i,n, g,0;6设有以下字符串定义,则s1和s2 D。char s1= S ,t, r ,i,n, g;char s2= Str

7、ing;A) 长度相同,内容也相同 B) 长度不同,但内容相同C) 长度不同,但内容相同D) 长度不同,内容也不同7设有定义 int a10=0; 则说法正确的是 A。A) 数组a有10个元素,各元素的值为0B) 数组a有10个元素,其中a0的值为0,其他元素的值不确定C) 数组a有1个元素,其值为0D) 数组初始化错误,初值个数少于数组元素个数8设已定义 char str6= a,b,0,c,d,0; 执行语句 printf(%s,str) 后,输出结果为B。A) aB) abC) abcdD) ab0cd09引用数组元素时,数组元素下标不可以是C。A) 字符常量B) 整型变量C) 字符串D

8、) 算术表达式10已定义字符数组s1和s2,以下错误的输入语句是C。A) scanf(%s%s , s1 , s2) ;B) scanf(%s%s , &s1 , &s2);C) gets(s1,s2) ;D) gets(s1) ;gets(s2) ;习题九一、选择题1. 若已经定义 struct stu int a, b; student ; ,则下列输入语句中正确的是D。A) scanf(%d, &a);B) scanf(%d, &student);C) scanf(%d, &stu.a);D) scanf(%d, &student.a);2. 若已有以下结构体定义和初始化,则值为2的表达

9、式是A。 struct cmplxint x ; int y; c=1,2,3,4;A) c0.yB) yC) c.y0D) c.y13. 设有如下程序段,则vu.a 的值为D。union u int a;int b;float c; vu;vu.a=1;vu.b=2;vu.c=3;A) 1B) 2C) 3D) A、B、C都不是4. 设已经定义union u char a;int b; vu; 在VC中存储char 型数据需要1个字节,存储int型数据需要4个字节,则存储变量vu需要B个字节。A) 1B) 4C) 5D) 85. 设已经定义union u int a; int b; vu=1,

10、2; 则D。A) 共用体成员a和b的值都是1B) 共用体成员a和b的值都是2C) 共用体成员a的值是1,b的值都是2D) 该定义错误6. 设有定义 enum date year,month,day d ;则下列叙述中正确的是A。A) date是类型、d是变量、year是常量B) date是类型、d和year是变量C) date和d是类型、year是常量D) date和d是变量、year是常量7. 设有定义 enum date year,month,day d ;则正确的表达式是B。A) year=1B) d=yearC) d=yearD) date=year8. 若已经定义 typedef s

11、truct stu int a, b; student ; ,则下列叙述中正确的是C。A) stu 是结构体变量B) student 是结构体变量 C) student 是结构体类型D) a和b是结构型体变量9. 下面有关typedef语句的叙述中,正确的是C。A) typedef语句用于定义新类型B) typedef语句用于定义新变量C) typedef语句用于给已定义类型取别名D) typedef语句用于给已定义变量取别名习题十一、选择题1. 设已定义 int a, *p; 下列赋值表达式中正确的是C。A) *p=aB) p=*aC) p=&aD) *p=&a2. 设已定义 int x,

12、*p=&x ; 则下列表达式中错误的是B。 A) *&xB) &*xC) * & pD) & * p3. 若已定义 int a=1,*b=&a; , 则printf(%dn,*b);的输出结果为A。A) a的值B) a的地址C) b的值D) b的地址4. 设已定义 int x, *p ,*p1=&x , *p2=&x ; 则下列表达式中错误的是C。 A) x=*p1+*p2B) p=p1C) p =p1+p2 D) x=p1-p25. 设有函数定义 void p(int *x)printf(%dn,*x) ; 和变量定义a=3; 则正确的函数调用是C。A) p(a)B) p(*a)C) p(&

13、a) D) p(int *a)6. 函数 int fun( char *x)char *y=x; while(*y)y+; return(y-x); 的功能是A。A) 求字符串的长度B) 比较两个字符串的大小C) 将字符串x复制到字符串y D) 将字符串x连接到字符串y后面7. 运行以下程序,输出结果为B。int fun(int a,int *b)a+; (*b)+;return a+*b;void main()int x=1,y=2;printf(%d ,fun(x,&y);printf(%d ,fun(x,&y);A) 5 5B) 5 6C)6 5 D) 6 68. 运行以下程序,输出结果

14、为C。#include int* fun(int a,int *b)a+; (*b)+;*b=a+*b;return b;void main()int x=1,y=2,*z;z=fun(x,&y);printf(%d ,*z);z=fun(x,&y);printf(%d ,*z);A) 5 6B) 5 7C)5 8 D) 6 89. 若已定义 int a=1,2,3,4,*p=a; 则下面表达式中值不等于2的是C。A) *(a+1)B) *(p+1)C) *(+a)D) *(+p)10. 若已定义 int a=1,2,3,4,*p=a+1; 则p2的值是C。A) 2B) 3C) 4D) 无意义

15、11. (不要求)设已定义 int x410, *p=x0 ; 则下列表达式中的值为整型的是B。A) &x12B) *(p+1)C) x1D)p+112. 设已定义 char s = ABCD; printf(%s,s+1)的值为C。A) ABCD1B) BC) BCDD) ABCD13. 设已定义 char str=abcd , *ptr=str;,则 *(ptr+5)的值为B。A) dB) 0C) 0D) 字符d的地址14. 下面对字符串变量的初始化或赋值操作中,错误的是C。A) char a=OK;B) char *a=OK;C) char a10; a=OK;D) char *a; a

16、=OK;15. (不要求)设已定义 char *ps2= abc,1234; 则以下叙述中错误的是A。A) ps为指针变量,它指向一个长度为2的字符串数组B) ps为指针数组,其两个元素分别存储字符串abc和1234的地址C) ps12的值为3D) *(ps0+1) 的值为b16.设已定义 struct int a,b; s,*ps=&s; 则错误的结构体成员引用是C。A) s.aB) ps-aC)*ps.aD) (*ps).a17. (不要求)设已有以下定义,则表达式的值为2的是A。(运算符-优先级高于+)struct stint data;st *link; a3=1,a+1,3,a+2,5,0,*p=a;A) k=+p-dataB) k=p+-dataC) k=p-data+D) k=(+p)-data精选文档

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服