C语言概念题(2)

2019-08-29 00:07

200、以下叙述中正确的是 A)if语句只能嵌套一层 B)不能在else子句中在嵌套if语句 C)改变if-else语句的缩进格式,会改变程序的执行流程 D)if子句和else子句中可以是任意合法的C语句

标准答案:D

201、以下叙述中正确的是

A)对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能换成while B))对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定 C)如果根据算法血药使用无限循环(即通常说的“死循环”),则只能使用while语句 D)只要适当地修改代码,就可以将do-while与while相互转换 标准答案:D

202、以下叙述中正确的是

A)在while语句和do-while语句中无法使用continue语句

B)当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并终止循环 C)continue语句的作用是:在执行完本次循环体中剩余语句后,终止循环 D)只能在循环体内和switch语句体内使用break语句 标准答案:D

203、以下叙述中正确的是 A)?\\”?是非法的 B)?\\0?表示字符0 C)”a”表示一个字符常量 D)表达式:?a?>?b?的结果是“假” 标准答案:D

204、以下叙述中正确的是

A)字符常量可以参与任何整数运算 B)转义字符用@符号开头 C)字符变量在定义时不能赋初值 D)同一英文字符的大写和小写形式代表的是同一字符常量 253、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是 A)函数的实参和其对应的形参共占同一存储单元

B) 形参知识形式上的存在,不占用具体存储单元 C)函数的形参和实参分别占用不同的存储单元 D) 同名的实参和形参占同一存储单元 标准答案:C

- 6 -

以下叙述中正确的是

A int *p1, int **p2, int *p3;都是合法的定义指针变量语句 B 语句p==NULL;与p==\\0是等价的语句

C p==NULL;执行后,指针p指向地址为0的存储单元 D 指针变量只能通过求指针运算符(&)获得地址值 答案:A

303 以下叙述中正确的是

A 即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同 B指针变量之间不能用关系运算符进行比较

C 设置p是一个指针变量,则语句p==0;是非法的,应使用p==NULL; D 如果企图通过一个空指针来访问一个存储单元,将会得到一个错误信息 答案:D

304 以下叙述中正确的是

A 在引用数据元素时,下标表达式可以使用浮点数

B数组说明符的一对方括号只能使用整型变量,不能使用表达式 C 一条语句定义一个数组

D 每一数组包含具有同一类型的变量,这些变量在内存中占连续的存储单元 305 以下叙述中正确的是

A 数组下标的下限由数组中第1个被赋值元素的位置决定 B 数组下标的下限是1

C 数组元素的下标下限由第一个非零元素的位置决定 D char c1,c2,*c3,c4[40];是合法的变量定义语句 答案:D

- 7 -

306 以下叙述中正确的是

A 语句char a[3];a=”AB”;是合法的,因为数组有三个字符空间的容量,可以保存两个 B 语句char a[2]={“A”,”B”}; 定义了一个包含两个字符的数组 C 语句 int a[]={0};是不合法的,遗漏了数组的大小 D 语句int a[8]={0};是合法的 以下叙述中正确的是

A 函数名允许用数字开头

B 函数调用时不必区分函数名称的大小写

C函数调用时,函数名必须与被调用的函数名完全一致 D 在函数体中只能出现一次return语句 答案:C

308 以下叙述中正确的是

A在对指针进行加减运算时,数字1表示1个存储单元的长度 B如果p是指针变量*p+1和*(p+1)的效果一样 C如果p是指针变量,则&p是不合法的表达式 D如果p是指针变量,则*p是变量p的地址值 309 以下叙述中正确的是

A设有指针变量double *p,则p+1将指针p移动8个字节 B函数的形参类型不能使指针类型 C基类型不同的指针变量可以相互混用 D函数的类型不能是指针类型 答案:A

310 如果定义 floata[10],x;

则以下叙述中正确的是

A三个表达式a[1]、*(a+1)和*&a[1]表示的意思完全不同 B表达式*&a[1]是非法的,应该写成*(&a[1]) C表达式a+1是非法的 D表达式a=&x是非法的

311 int *func(int a[10], int n);则以下叙述中正确的是

A 说明中的a[10]改为a[]或*a效果完全一样

B func函数中不能对a进行移动指针(如a++)的操作

C 只有指向10个整数内存单元的指针,才能作为实参传递给形参 D 形参a对应的实参只能是数组名 答案:A

312 以下叙述中正确的是

A 语句int a[][3]={1,2,4,5};是错误的初始化形式

B 在逻辑上可以把二维数组看成是一个具有行和列的矩阵或表格 C 语句int a[4][3]={{1,2},{4,5}};是错误的初始化形式 D 语句 int a[4][3]={1,2,45,};是错误的初始化形式

361,以下选项中叙述错误的是

A C程序函数中定义的自动变量,系统不自动赋确定的初值 B C程序函数的形参不可以说明为static型变量

C C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

- 8 -

D 在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 标准答案 C

367,以下能正确定义字符串的语句是 A char str[]={?\\064?}; B char str=”\\x43”; C char str[]=”\\0”; D char str=? ?; 标准答案 C

368,以下关于字符串的叙述中正确的是

A 两个字符串中的字符个数相同时才能进行字符串大小的比较 B C语言中有字符串类型的常量和变量 C 空串比空格打头的字符串小

D 可以用关系运算符对字符串的大小进行比较 标准答案 C

374,设有如下程序段 #include

char s[20] =”Beijing”, *p; p=s;

则执行p=s;语句后,以下叙述正确的是

A 数组s中的内容和指针变量p中的内容相同 B s数组中元素的个数和p所指字符串长度相等 C s和p都是指针变量 D 可以用*p表示s[0] 标准答案 D

379,以下正确的字符串常量是 A 01ympic Games B “\\\\\\” C ?abc? D “ “

410)以下叙述中正确的是

A)字符串常量“str1”的类型是:字符串数据类型

B)有定义语句:char str1[ ] = “str1”;数组str1将包含4个元素

C)字符数组的每个元素可存放一个字符,并且最后一个元素必须是?\\0?字符 D)下面的语句用赋初值方式来定义字符串,其中?\\0?是必须的

char str1[ ]={?s?,?t?,?r?,?1?,?\\0?}; 标准答案:D

411)以下叙述中正确的是

A)char *ca[3] = {“A ”,”B”,”CCC”};是不合语法的 B)char ca[3][5] = {“A ”,”B”,”CCC”};是不合语法的

C) 字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组 D)char ca[ ][5] = {“A ”,”B”,”CCC”};;是不合语法的

标准答案:D

412)以下叙述中正确的是

- 9 -

A)函数调用strlen(s);会返回字符串s实际占用内存的大小(以字节为单位) B)当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间 C)两个字符串可以用关系运算符进行大小比较

D)C语言本身没有提供对字符串进行整体操作的运算符 标准答案:D

413)以下叙述中正确的是

A)函数体中的语句不能出现对自己的调用 B)如果函数带有参数,就不能调用自己 C)函数名代表函数的入口地址

D)所有函数均不能接受函数名作为实参传入 标准答案:C

414)以下叙述中正确的是

A)只要是用户定义的标识符,都有一个有效的作用域 B)局部变量不能被说明为static

C)只有在函数内部定义的变量才是局部变量

D)只有全局变量才有自己的作用域,函数中的局部变量没有作用域 标准答案:A

415)以下叙述中正确的是

A)不能用字符串常量对字符数组名进行整体赋值操作

B)字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C)char *str;str = “Hello”;与char str[];str = “Hello”;效果是一样的 D)char str[7] =”string!”;在语法上是合法的,运行也是安全的 标准答案:

416)以下叙述中正确的是

A)对于字符串常量”string!”;系统已自动在最后加入了?\\0?字符,表示串结尾 B)对于一维字符数组,不能使用字符串常量来赋初值

C)语句char str[10] = ”string!”;和char str[10] = {”string!”};并不等价

D)在语句char str[10] = ”string!”;中,数组str的的大小等于字符串的长度 标准答案:A 417)设有定义

char str[] = “Hello”; 则语句

printf(“%d %d”,sizeof(str),strlen(str));的输出结果是

A) 6 6 B)6 5 C)5 6 D)5 5 标准答案:B

418)在32位编译器上,设有定义

char *str1 = “Hello”,str2[]=”Hello”; 则以下语句

printf(”%d %d”,sizeof(str1),sizeof(str2));的输出结果是

A) 5 6 B) 4 5 C)6 6 D)5 5 标准答案:B

419)以下叙述中正确的是

A)任何情况下都不能用函数名作为实参 B)简单递归不需要明确的结束递归的条件

C)函数的递归调用不需要额外开销,所以效率很高

- 10 -


C语言概念题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:银行卡收单业务管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: