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

上传人:日度 文档编号:146163645 上传时间:2020-09-27 格式:DOC 页数:8 大小:40KB
返回 下载 相关 举报
C语言第3版-选择题(第7、8、9章)_第1页
第1页 / 共8页
C语言第3版-选择题(第7、8、9章)_第2页
第2页 / 共8页
C语言第3版-选择题(第7、8、9章)_第3页
第3页 / 共8页
C语言第3版-选择题(第7、8、9章)_第4页
第4页 / 共8页
C语言第3版-选择题(第7、8、9章)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言第3版-选择题(第7、8、9章)》由会员分享,可在线阅读,更多相关《C语言第3版-选择题(第7、8、9章)(8页珍藏版)》请在金锄头文库上搜索。

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系统的include

4、文件夹查找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 ma

5、in()#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= Stri

7、ng;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,2

10、; 则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 st

11、ruct 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(&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 5

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号