C语言试题库(2)

2019-03-09 20:38

148、答案:a。设有变量定义char s[]=”hello”,则数组中有6个元素。() 149、答案:a。c语言不允许对数组的大小作动态定义。 150、答案:b。字符个数多的字符串比字符个数的字符串大

151、答案:a。已知程序段{char a[10];scanf(\输入:ab cd<回车>,结果是:ab 152、答案:a。已知程序段{char a[11];gets(a);puts(a);}输入:ab cd<回车>,输出结果是:ab cd 153、答案:b。定义在main函数后的任何函数都需在main中进行函数声明。

154、答案:b。在标准C语言中,在main函数中定义的变量在整个程序中都是有作用的。

155、答案:b。在用数组名作为函数实参时,传递的是数组的起始地址,所以就不允许使用形参数组的形式 156、答案:a。函数的递归调用不过是一个函数直接地调用它自身。 157、答案:a。数组名作为函数参数,传送的是地址.

158、答案:b。如果在同一个源文件中,外部变量与局部变量同名,则在外部变量的作用范围内,局部变量被“屏蔽”,即它不起作用 159、答案:a。若一个函数的返回类型为void,则表示其没有返回值 160、答案:a。一个函数利用return不可能同时返回多个值 161、答案:a。在C程序中,不同函数中所定义的变量允许同名

162、答案:b。在程序运行过程中,系统分配给实参和形参的内存单元是相同的

163、答案:b。在调用一个函数的过程中又出现直接或间接地调用该函数本身,这称为函数的嵌套调用 164、答案:a。在标准C语言中,函数参数传递是单向传递,即由实参传递给形参。

165、答案:b。在标准C语言中,函数的返回值是通过return语句获取的,故若在函数中没有return就不会传回值。 166、答案:b。在标准C语言中,函数中只能有一个return 语句。

167、答案:b。若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。 168、答案:b。若定义时,函数返回值类型为void,函数仍然可有return带回返回值。 169、答案:b。TC中函数调用时,函数参数求值顺序是从右到左的。 170、答案:b。在标准C语言中,所有函数在调用之前都要进行声明。

171、答案:b。在标准C语言中,函数的定义和调用一样都是不可以嵌套的。

172、答案:b。用数组名作函数参数时,数组中的元素可以发生变化,故违反了函数参数传递的单向性。 173、答案:b。全局变量的作用域是整个源程序文件。

174、答案:b。用static和auto定义的变量一样都可以进行多次赋值操作。 175、答案:a。在标准C语言中,所有函数都是平行的、独立的。

176、答案:b。在C语言程序中,在main函数中定义的变量为全局变量。 177、答案:b。在标准C语言中,宏定义的结尾也要加“;”。

共 52 页 第 6 页

178、答案:a。宏定义和文件包含都是C语言中的编译预处理命令,对它们的处理是在编译前完成的 179、答案:a。预处理命令不是c语言的组成部分。

180、答案:b。在标准C语言中,在定义带参数的宏时也要定义参的类型。 181、答案:b。在标准C语言中,宏替换是程序运行时完成的。 182、答案:a。宏替换不占运行时间,只占编译时间。

183、答案:b。宏定义中的宏名必须用大写字母,宏定义的优点是”一改全改“。 184、答案:b。指针变量可以接收任何类型的值

185、答案:b。在int *p;和语句printf(“%d”, *p);中的*p含义相同。 186、答案:a。char *sp=\是正确的c语言赋值方式 187、答案:b。变量的指针指的是变量的名字。

188、答案:b。若有定义int *p,a;p=&a;则*p指得是变量a的地址

189、答案:b。若有说明语句char *p=”It is mine”则 p变量中存放的是整个字符串 190、答案:a。若有以下定义int a[5],*p=a;p+1表示的是a[1]的首地址 191、答案:a。指针变量中只能存放地址

192、答案:a。int a[3][4];其中a[0]是指0行0列元素的地址。 193、答案:a。int a[4],*p;其中a是地址常量,p为地址变量。

194、答案:b。定义“int *a[3]”和“int (*a)[3]”具有相同的含义。 195、答案:a。共用体变量的各个成员所占内存单元的地址相同。

196、答案:a。当说明一个结构体变量时系统分配给它的内存是各成员所需内存量的总和 197、答案:a。当说明一个共用体变量时系统分配给它的内存是最长的成员的长度 198、答案:b。在C语言中,定义结构体变量时可以省略关健字struct。

199、答案:a。结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。 200、答案:b。在C语言中,可以直接引用整个结构体变量,而不须要引用其各成员。 201、答案:a。在标准C语言中,共用体变量中的各成员是共同占用一块存储空间。 202、答案:b。一个结构体只能包含一种数据类型。 203、答案:b。typedef可以创造新的数据类型。 二、多项选择题(共47小题)

1、(AD)。以下叙述错误的是 。

A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中可以写多条语句

C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

共 52 页 第 7 页

2、(AC)。以下叙述正确的是 。

A)一个C源程序可由一个或多个函数组成 B)一个C源程序可以含多个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 3、(AC)。下面均是不合法的用户标识符的选项是 。 A) A. B)float C)b-a D)一123 P-0 1a0 goto temp do 一A int INT

4、(CD)。已知ch是字符型变量,正确的赋值表达式是 。 A、ch=’a+b’ B、ch=\、ch=’7’+’9’ D、ch=5+9 5、(AD)。已知ch是字符型变量,下面不正确的赋值表达式是 。 A、ch= “\\123” B、ch=’\\xff’ C、ch=’\\007’ D、cg=’\\’

6、(BC)。若有语句 char a;若要将字符a赋给变量a,则下列赋值表达式正确的是 A、a=”a” B、a=’a’ C、a=97 D、a=’97’ 7、(ABD)。下列表达式中,属于逗号表达式的是 。A、a=b,c B、a,b=c C、a=(b=c) D、a,(b,c)

8、 (AD)。下列自定义标识符中,符合c 语法规则的是 。A、For B、3a C、 *a D、_123

9、 (AD)。以下正确的叙述是 A)在C程序中,每行中可以写多条语句 B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,无论是整数还是实数,都能被准确无误地表示 d )在C程序中,%是只能用于整数运算的运算符 10、 (AD)。在C语言中,要求运算数必须是整型的运算符是A) %= B) ++ C) != D)% 11、 (CD)。若有以下定义,则能使值为3的表达式是: int k= 7,x =12;

A) x%=(k%= 5) B) x%=(k一k%5) C) x%=11- k%5 D) (x%=k)-(k%=5)

12、 (BCD)。以下能用来表示整形常数的进制是 。 A、二进制 B、 八进制 C、十进制 D、十六进制 13、 (AB)。错误的转义字符是 。 A.'\\091' B.'\\' C.'\\0' D.'\\'' 14、 (AC)。合法的八进制数是 。 A、 0 B 、028 C、077 D、01.0

15、 (AB)。不合法的十六进制数是 。 A、 oxff B 、0Xabg C、0x11 D、0x19

16、 (BC)。以下选项中正确的正确的整型常量是 。 A、 12. B 、-20 C、1000 D、4 5 6

17、 (BC)。下列关于字符串的说法中错误的是 。A、在c语言中,字符串是借助于字符型一维数组来存放的, 并规定以字符‘\\0’作为字符串结束标志。B、‘\\0'作为标志占用存储空间,计入串的实际长度。

C、在表示字符串常量的时候需用人为在其末尾加入'\\0'.D、在c语言中,字符串常量隐含处理成以‘\\0'结尾。 18、 (BC)。C语言提供的合法的数据类型关键字是 。A、Double B、short C、int D、Char

19、 (CD)。putchar函数可以向终端输出一个 。A)整型变量表达式值 B)实型变量值C)字符型变量值 D)字符型常量 20、 (BD)。若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:A) scanf(\ B) scanf(\

共 52 页 第 8 页

21、 (BCD)。已知 int i,j,k;scanf(“%d%d%d”,&i,&j,&k);若从键盘送入i,j,k的值分别为1,2,3时,则正确的输入方式是( ) (注:╚╛表示空格,<CR>表示回车) A)1,2,3 B)1<CR>2<CR>3<CR> C)1╚╛2╚╛3 D)1<CR>2╚╛3 22、 (CD)。以下说法正确的是( )。A、输入项可以为一个实型常量,如scanf(“%f”,3.5); B、只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

C、当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如scanf(“%4.2f”,&f)是错误的; D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 23、 (ABC)。以下4个选项中,能看做一条语句的是 。A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5) x=2;y=6; 24、 (ACD)。a是int类型变量,c是字符变量。下列输入语句中哪一个是正确的 。A、scanf(\ B、scanf(\、scanf(\、scanf(\25、(AC)。下关于运算符优先顺序的描述中正确的是 。

A、赋值运算符< 逻辑与运算符< 关系运算符< 逻辑非运算符B、逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符 C、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 26、 (ACD)。以下关于switch语句和break语句的描述中,只有 是错误的。

A、在switch语句中必须使用break语句B、在switch语句中,可以根据需要使用或不使用break语句 C、break语句只能用于switch语句中D、break语句是switch语句的一部分

27、 (CD)。下列各语句序列中,能够且仅输出整型变量a、b中最大值的是 。

A、if(a>b) printf(\、printf(\ C、if(a>b) printf(\、printf(\

28、 (BC)。以下描述正确的是 。A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面写分号。C、在do-while循环体中,是先执行一次循环,再进行判断。 D、do-while循环体中,根据情况可以省略while。 29、 (BCD)。以下是无限循环的语句为:

A) for (y=0,x=1;x > ++y;x =i++) i=x ; B) for (;; x++=i); C) while (1){x ++;} D) for(i=10; ;i--)sum+=i; 30、 (ABD)。下列程序段是死循环的是 A) int i=100; whiLe (1) {i=i0+1;

if (i>100) break; }

B) for(;;);

共 52 页 第 9 页

C) int k=0;

do{++k;} while (k> =0) ; D) int s=36;

while (s);--s

31、 (BC)。以下正确的描述是 。

A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用不相同 D)从多层循环嵌套中退出时, 只能使用goto语句 32、 (CD)。下面for 循环的正确描述是 。A、 for循环只能用于循环次数已经确定的情况 B、 for循环是先执行循环体语句后判断表达式 C、 在for循环中,能用break语句结束循环 D、 for循环体语句中,可以包含多条语句,但必须用花括号括起来

33、 (BD)。以下描述正确的是 。A、 goto语句只能用于退出多层循环B、 swtich语句中不能使用continue语句 C、 只能用continue语句来终止本次循环D、 在循环中break语句能独立出现 34、 (AB)。C语言中,引用数组元素时,其数组下标的数据类型允许是 。 A、整型常量 B、整型表达式 C、任何类型的常量 D、任何类型的表达式 35、 (AD)。以下对一维整型数组a的正确说明是 。 A、int a[10] ; B、int n=10,a[n]; C、int n; D、#define SIZE 10 scanf(“%d”,&n); int a[SIZE]; int a[n];

36、 (BD)。若有说明:int a[10];则对a数组元素的正确引用的是 。 A、 a[10] B、a[2*3] C、a(5) D、a[10-10]

37、 (CD)。述对C语言字符数组描述中错误的是 。A、字符数组可以存放字符串B、字符数组的字符串可以整体输入、输出 C、可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值D、可以用关系运算符对字符数组中的字符串进行比较 38、 (AD)。下面是对s的初始化,其中不正确的是 。

A、char s[5]={“abcde”};B、char s[5]={‘a’,’b’,’c’}; C、char s[5]=””; D、char s[5]=“abcdef”; 39、 (BD)。有两个字符数组a、b,则以下正确的输入语句是 。

A、gets(a,b); B、scanf(“%s%s”,a,b); C、scanf(“%s%s”,&a,&b); D、gets(a);gets(b); 40、 (A)。若有定义 “float y[5]={1,2,3};\则下列描述正确的是

A、y并不代表数组的元素。 B、定义此数组时不指定数组的长度,定义效果不相同。 C、数组含有3个元素 D、a[3]的值为3 41、 (BC)。以下正确的说法为 。 A、在不同的函数中不可以有相同的变量B、形式参数是局部变量

共 52 页 第 10 页


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

下一篇:Java语言与面向对象程序设计

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

马上注册会员

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