《C语言》2.对下面程序段:#define A 3#define B(a) ((A+1)*a) x=3*(A...
16秋《C语言》在线作业2一、单选题:
1.下关于运算符优先顺序的描述中正确的是( ) (满分:5)
A. 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B. 逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C. 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D. 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
2.对下面程序段:#defineA3#defineB(a) ((A+1)*a) x=3*(A十B(7));正确的判断是( ) (满分:5)
A. 程序错误
不许嵌套宏定义
B. )x=93
C. x=21
D. 程序错误
宏定义不许有参数
3.结构化程序设计所规定的三种基本结构是( ) (满分:5)
A. 主程序、子程序、函数
B. 树形、网形、环形
C. 顺序、选择、循环
D. 输入、处理、输出
4.以下程序有语法性错误,有关错误原因的正确说法是( ) main( ){int G=5,k;void prtchar( );......k=prtchar(G);......} (满分:5)
A. 语句voidprtchar( );有错
它是函数调用语句
不能用void 说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
5.为了避免在嵌套的条件语句if - else中产生二义性,C语言规定else子句总是与( )配对 (满分:5)
A. 缩排位置相同的if
B. 其之前最近的if
C. 之后最近的if
D. 同一行上的if
6.在访问一个结构元素前你必须定义( ) (满分:5)
A. 结构体
B. 结构体变量
C. 定义结构指针
D. A和B
7.下面程序的运行结果是( ) #include { int k=0; charc='A'; do {switch(c++){case'A':k++;break; case'B':k--; case'C':k+=2;break; case'D':k=k%2;continue; case'E':k=k*10;break; default:k=k/3;} k++;} while(c<'G') (满分:5)
A. k=3
B. k=4
C. k=2
D. k=0
8.C语言中用于循环结构程序设计的三种常用控制语句是( ) (满分:5)
A. if、for、continue
B. if、switch、break
C. for、while、do-while
D. 顺序结构、选择结构、循环结构
9.若有说明:int a则数组a各元素( ) (满分:5)
A. 可在程序的运行阶段得到初值0
B. 可在程序的编译阶段得到初值0
C. 不能得到确定的初值
D. 可在程序的编译或运行阶段得初值
10.下面四个选项中,均是非法常量的选项是( ) (满分:5)
A. as' -0fff '\0xa'
B. '\\' '\01' 12
456
C. -0xl8 01177 0xf
D. 0xabc'\0' "a"
11.若使用一维数组名作函数实参,则以下正确的说法是( ) (满分:5)
A. 必须在主调函数中说明此数组的大小
B. 实参数组类型与形参数组类型可以不匹配
C. 在被调函数中
不需要考虑形参数组的大小
D. 实参数组名与形参数组名必须一致
12.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为( ) (满分:5)
A. 7
B. 8
C. 9
D. 10
13.不能把字符串:Hello!赋给数组b的语句是( ) (满分:5)
A. char b={'H'
'e'
'l'
'l'
'o'
'!'};
B. char b;b="Hello!";
C. char b;strcpy(b
"Hello!");
D. char b="Hello!";
14.假定ptr1和ptr2分别是指向某个字符串的指针,则在下列选项中非法的语句中是( ) (满分:5)
A. if(ptr1==ptr2) printf("yes.");
B. *ptr1=48+(ptr1-ptr2);
C. *(ptr1+=2)=*ptr2;
D. *(ptr1-1+ptr2)=getchar( );
15.有如下定义:char *s1="AbCdE",*s2="aBcDe"; 则表达式strcmp(s1+1,s2+1)的值是( ) (满分:5)
A. 零
B. 负数
C. 正数
D. 非零值,无法肯定符号
16.下面程序的运行结果是( )#include "stdio.h"main( ){int i; for(i=1;i<=5;i++){if(i%2) printf("#");else continue;printf("*");}printf("$");} (满分:5)
A. *#*#$
B. #*#*#*$
C. *#*#$
D. #*#*$
17.若调用一个函数,且此函数中没有return语句,则正确的说法是( ) (满分:5)
A. 该函数没有返回值
B. 该函数返回若干个系统默认值
C. 能返回一个用户所希望的函数值
D. 返回一个不确定的值
18.以下正确的描述是( ) (满分:5)
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时
只能使用goto语句
19.以下叙述中不正确的是( ) (满分:5)
A. 在不同的函数中可以使用相同的名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
20.若有以下说明:int a={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是( ) (满分:5)
A. *p+6
B. *(p+6)
C. *(p+5)
D. p+5
页:
[1]