C语言选择题读程序习题及参考答案

更新时间:2024-03-04 23:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1、 一个C程序中可以包含多个不同名的函数,但有且仅有一个 。

(A)function (A)分号

(B)include (B)逗号 (B)print

(C)main (C)句号 (C)case

(D)stdio (D)括号 (D)default

2、 在C语言中,每个语句和数据定义都是用 结束的。 3、 不是C语言中提供的合法关键字。

(A)switch

4、 在C语言中,数据类型属于基本类型的是 。

(A)整型、实型、字符型 (C)结构体类型、实型 (A)A p_0 do

(B)空类型、枚举型 (D)数组类型、实型

5、 下面四个选项中,均为不合法的用户标识符的是 。

(B)float la0 a (D)123 temp INT

(C)18和6

(D)15和5

(C)b-a goto int (A)9和6

6、 语句int i=3,k; k=(i++)+(i++)+(i++); 执行后k和i的值分别为 。

(B)12和5

7、 判断字符串a和b相等,应当使用 。

(A)if ( a = = b )

(B)if ( !strcmp (a , b) ) (D)if ( strcmp (a , b) )

(C)if ( strcpy ( a , b ) ) 是 。 (A)a&&b

(A) (B) (C) (D)

10、 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j

的值为2、k的值为3,以下选项中正确的输入语句是 。 (A)scanf(―---‖,&i,&j,&k); (B)scanf(―%d %d %d‖,&i,&j,&k); (C)scanf(―%d,%d,%d‖,&i,&j,&k); (D)scanf(―i=%d,j=%d,k=%d‖,&i,&j,&k);

11、 能正确表示―x的取值范围介于[1,10 ]和[200, 210 ]之间―的表达式是 。

(A)( x > = 1) && ( x < = 10 ) && ( x > = 200 ) && ( x <= 210 ) (B)( x > = 1) || ( x < = 10 ) || ( x > = 200 ) || ( x <= 210 ) (C)( x > = 1) && ( x < = 10 ) || ( x > = 200 ) && ( x <= 210 ) (B)a<=b

(C)a||b+c&&b-c

(D)!((a

8、 设a,b,c都是int型变量,且a=3,b=4,c=5 ;则以下表达式中,值为0的

(D)( x > = 1) || ( x < = 10 ) && ( x > = 200 ) || ( x <= 210 ) 12、 在C语言中,多分支选择结构语句为:

switch(c)

{case 常量表达式1:语句1; ……

case 常量表达式 n-1: 语句 n-1; default: 语句 n;}

则括号内表达式c的类型允许的是 。 (A)整型

(B)整型或字符型 (C)整型或实型

(B)第一个if

(D)其之前最近且不带else的if

(D)任意类型

13、 C语言对嵌套if语句的 规定是:else总是与 配对。

(A)其之前最近的if (C)缩进位置相同的if for ( i = 2 ; i = = 0 ; ) (A)无限次 int a=1, b=10; do {b-=a; a++;} while(b--<0); (A)-1 int a,b; float x=2.5; (A)a=1,b=2,

(B)b++;

(C)a=b=5,

(D)b=int(x);

17、 设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,

x的值为 。 (A)4 18、 有如下语句

printf(―%s,%5.3s\\n‖, ―COMPUTER‖ ,―COMPUTER‖) ; 则语句执行的最终结果为 。 (A)COMPUTER,COM (C)COMPU, COM

(B)COMPUTER, COM (D)COMPU,COM

(B)16

(C)32 (D)52

(B)-2

(C)8

(D)9

16、 若有以下定义,则正确的语句为 。

14、 若i 为整型变量,则以下循环执行次数是 。

printf(―%d ‖ , i - - ) ;

(C)1次

(D)2次

(B)0次

15、 设a和b为int型变量,则执行以下语句后,b的值是 。

19、 在C语言程序中关于函数的规定为 。

(A)函数的定义可以嵌套,但函数的调用不可以嵌套 (B)函数的定义不可以嵌套,但函数的调用可以嵌套 (C)函数的定义和调用都不可以嵌套 (D)函数的定义和调用都可以嵌套 20、 若有以下定义和语句:

double r=99 , *p=&r ; *p=r ;

则以下叙述正确的是 。

(A) 以下两处的*p含义相同,都说明给指针变量p赋值

(B) 在\;\中,把r的地址赋值给了p所指的存储单元 (C) 语句\;\把变量r的值赋给指针变量p (D) 语句\;\取变量r的值放回r中

21、 设int x[ ]={1,2,3,4,5,6},*p=x;则值为3的表达式是 。

(A)p+=2,*++p (B)p+=2,*p++ (C)p+=3,*p

(D)p+=2,++*p

22、 若int x ,*pb; ,则正确的赋值表达式是 。

(A)pb=&x (B)pb=x; (C)*pb=&x; (D)*pb=* 23、 若有说明:int a[10] ; 则对数组元素的正确引用是 。

(A)a[10]

24、 若有以下定义:

int a[5]={5,4, 3,2,1}; char b=?a‘;

则能使数值为2的表达式是 。 (A)a[4]

(B)a[?c‘-b]

(C)a[?d‘-b]

(D)a[?e‘-b]

25、 如果在一个函数的复合语句中定义了一个变量,则该变量 。

(A)在该复合语句中有效 (C)在本程序范围内有效

(B)在该函数中有效 (D)为非法变量

(B)a[3.5]

(C)a(5)

(D)a[10-10] 26、 要求函数fun的功能是交换x和y中的值,且通过正确调用返回交换结果。能

正确执行此功能的函数定义是 。

(A)fun(int *x,int *y) { int *p; *p=*x; *x=*y;*y=*p; } (B)fun(int x,int y) { int t; t=x;x=y;y=t; } (C)fun(int *x,int *y) { *x=*y;*y=*x;}

(D)fun(int *x,int *y) { *x=*x+*y;*y=*x-*y;*x=*x-*y;

27、 以下选项中,能定义s为合法的结构体变量的是 。

(A) typedef struct abc

(B) struct { double a; } s;

{ double a; char b[10];

} s; { double a;

char b[10];

char b[10]; (C) struct ABC { double a; char b[10]; }

(D) typedef ABC

}

ABC s; ABC s;

28、 设有以下说明语句:

struct stu

{int a; float b; } stutype; 则叙述不正确的是 。 (A)struct是结构体类型的关键字 (B)struct stu是用户定义的结构体类型 (C)stutype是用户定义的结构体类型名 (D)a和b都是结构体成员名

29、 C语言的执行总是起始于 。

(A)程序中的第一条执行语句 (C)包含文件中的第一个函数

(A)

31、 如有声明char x=‘\\72‘,则x中存放的是 。

(A)1个字符 (A)stdio.h

(B)2个字符 (B)string.h

(C)3个字符 (C)math.h

(D)声明不合法 (D)ctype.h

32、 要调用数学函数时,在#include命令中应包含 。

33、 若x为int型,y为float型,假设输入格式为:4.5 □2 <回车>(□表示空格),

则以下合法的输入语句是 。

(A)scanf ( ―%d , % f ‖ , &x , & y ) ; (B)scanf ( ―%f , %d ‖ , &y , & x) ; (C)scanf ( ―%d % f ‖ , &x , & y ) ; (A)ch = 5 + 9 ; (C)ch = ?7‘ + ?9‘ ;

(D)scanf ( ―%f %d ‖ , &y , & x ) ;

34、 已知ch是字符型变量,下面不正确的赋值语句是 。

(B)ch = ?\\0‘; (D)ch = ?a+b‘;

(B) (C) (D)

(B)程序中的第一个函数 (D)主函数main

30、 用于表示加工处理的程序流程图的图形是 。

35、 在一个C的源程序中,main函数的位置 。

(A)必须在最开始 (B)必须在系统调用的库函数的后面 (C)可以任意 (D)必须在最后

36、 若已定义x和y为double类型 ,则表达式:x=1 ,y=x+3/2的值是 。

(A)1 (B)2 (C)2.0 (D)2.5

37、 设有程序段为: int k = 10 ; while ( k = =0 ) k = k – 1 ;

则下面描述中正确的是 。 (A)循环体语句执行一次 (C)while循环执行了10次

38、 若有以下程序段:

int c1=1 ,c2=2 ,c3 ; c3=1.0/c2*c1 ;

则执行后,c3中的值是 。 (A)0

(B)0.5

(C)1 (D)2

39、 字符(char)型数据在计算机内存中的存储形式是 。

(A)反码 (B)补码 (C)EBCDIC码 (D)ASCII码

40、 在C语言中,以下不正确的说法是 。

(A)实参可以是常量、变量或表达式 (B)形参可以是常量、变量或表达式 (C)实参与形参的个数应一致 (D)形参应与其对应的实参类型一致

41、 在C语言提供的合法的关键字是 。

(A)swicth (B)cher (C)case (D)defaulte 42、 在C语言中,引用数组元素时,其数组下标的数据类型允许是 。

(A)整型常量 43、 若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;

则数值为4的表达式是 。 (A)a[g-c] (A)a[0][2*1]

(B)a[4]

(C)a['d'-'c']

(C)a[4-2][0]

( D)a[d-c]

(D)a[0][4] 44、 如有int a[3][4],则对a数组元素非法引用的是 。

(B)a[1][3]

45、 以下正确的函数定义形式是 。

(B)整型表达式 (D)任何类型的表达式

(C)整型常量或整型表达式

(B)循环体语句一次也不执行 (D)循环是无限的

本文来源:https://www.bwwdw.com/article/jbxa.html

Top