2010上学期C语言期末试卷选择题

2010上学期C语言期末试卷选择题
2010上学期C语言期末试卷选择题

1、下列叙述中,不正确的是( )。

A、一个C源程序必须有且只有一个主函数

B、一个C源程序可以包含零个或若干个子函数

C、在C源程序中,注释说明必须位于语句之后

D、C源程序的基本结构是函数

2、下列叙述中,不正确的是( )。

A. 分号是C语句的必要组成部分

B. C语句的注释可以写在语句的后面

C. 函数是C程序的基本单位

D. 主函数的名字不一定有main表示

3、以下不是C语言的特点是( )。

A、C语言简洁紧凑

B、C语言可以直接对硬件进行操作

C、C语言的可移植性好

D、C语言编程容易

4、构成C语言的基本单位是( )。

A、过程

B、函数

C、子程序

D、命令

5、一个C程序的执行是从( ) 。

A、main函数开始,直到main函数结束

B、main函数开始,直到最后一个函数结束

C、从第一个函数开始,直到最后一个函数结束

D、第一条语句开始,直到最后一条语句结束

6、在C语言中,main函数的位置

A、必须作为第一个函数

B、必须作为最后一个函数

C、可以任意

D、必须放在它所调用的函数之后

7、C程序是由( )构成的。

A、一个主程序与若干个子程序

B、一个或多个函数

C、若干过程

D、若干子程序

8、以下叙述不正确的是( )。

A.在C程序中,注释说明只能位于一条语句的后面

B. 注释说明被计算机编译系统忽略

C. 注释说明必须括在“/*”和“*/”之间,注释符必须配对使用

D. 注释符“/”和“*”之间不能有空格

9、下列符号串中,属于C语言合法标识符的是。

A. ex-1

B. if

C. _cook

D. 951a

10、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。

A、K%2

B、K%2= =1

C、(K%2)! =0

D、!K%2= =1

11、对于一个完整的可运行的C源程序,下列哪一个说法是正确的?

A、C语言程序总是从第一个定义的函数开始执行。

B、在C语言程序中,要调用的函数必须在main()函数中定义。

C、C语言程序总是从main()函数开始执行。

D、C语言程序中的main()函数必须放在程序的开始部分。

12、下列运算符中优先级最高的是( )

A.<

B.+

C.&&

D.!=

13、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为()

A.1

B.2

C.3

D.0

14、设有int = 14,则表达式(x++ *1/3)的值是: ()

A、5

B、4

C、14

D、15

15、若x是单精度实型变量,表达式x = 10/4 的值是_____ 。

A. 2.5

B. 2.0

C. 3

D. 2

16、表达式!x 等价于_____。

A. x == 0

B. x == 1

C. x != 0

D. x != 1

17、在C 程序中,用_____表示逻辑值"真"。

A. 1

B. 非0 的数

C. 非1 的数

D. 大于0 的数

18、若变量已正确定义,语句if(a>b) k=0; else k=1;和______等价。

A. k=(a>b)?1:0;

B. k=a>b;

C. k=a<=b;

D. a<=b ? 0 : 1;

19、若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。

x=(i=4,j=16,k=32)

A. 4

B. 16

C.32

D. 52

20、10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为。

A.0~255

B. 0~32767

C. 0~65535

D.0~2147483647

21、以下合法的十六进制数是()。

A、0x

B、0x4de

C、0xlh

D、ox77

22、若a 为int 型,且其值为3,则执行完表达式:a += a -= a*a 后,a 的值是( )。

A、-3

B、9

C、-12

D、6

23、若t 已定义为double 型,则表达式:t = 1 ,t + +,t +5 的值为( )。

A、7

B、7.0

C、2.0

D、1.0

24、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f 值的数据类型为______。

A. int

B. float

C. double

D. 不确定

25、下关于运算符优先顺序的描述中正确的是_____。

A. 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符

B. 逻辑运算符< 关系运算符< 算术运算符< 赋值运算符

C. 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符

D. 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符

26、下列运算符中自左向右结合的是____。

A、=

B、->

C、? :

D、++

27、下列判断闰年的表达式中错误的是____。

A. leap = n % 400 == 0 || n % 4 == 0 && n % 100 != 0;

B. leap = n % 4 == 0 && ( n % 100 != 0 || n % 400 == 0 );

C. leap = ! ( n % 400 != 0 && n % 4 != 0 || n % 100 == 0 );

D. leap = n % 400 == 0 && n % 4 == 0 || n % 100 != 0 ;

28、以下程序的运行结果是( )

main()

{ int a=3,b=2,c=1;

printf(“\n%d\n”,a

}

A.4

B.3

C.2

D.1

29、表达式______的值是0。

A. 3%5

B. 3/5.0

C. 3/5

D. 3<5

30、表达式!(x>0||y>0) 等价于_____。

A. !x>0||!y>0

B. !(x>0)||!(y>0)

C. !x>0&&!y>0

D. !(x>0)&&!(y>0)

31、若变量已正确定义并赋值,表达式______不符合C语言语法。

A. 4&&3 B +a C. a=b=5 D. int(3.14)

32、设x,y,z,t均为int型变量,则执行以下语句后,t的值为_____。x=y=z=1;

t=++x||++y&&++z;

A. 不定值

B. 2

C. 1

D. 0

33、标识符只能由字母、数字和下划线三种字符组成,且第一个字符_____。

A. 必须为字母

B. 必须为下划线

C. 必须为字母或下划线

D. 可以是字母,数字和下划线中任一种字符

34、190)若变量已正确定义并赋值,表达式-k++ 等价于______。

A. -(k++)

B. (-k)++

C. -(k+1)

D. -(++k)

35、下面程序段的执行结果是()

a=1;b=2;c=2;

while(a

{

t=a ; a=b ; b=t ; c-- ;

}

printf(“%d,%d,%d”,a,b,c);

A、1,2,0

B、2,1,0

C 、1,2,1 D、2,1,1

36、以下程序段中的变量已正确定义

for( i=0; i<4; i++)

for(k=1; k<3; k++); pritntf(“*”);

程序段的输出结果是()

A、 ********

B、 ****

C、**

D、 *

37、以下是if语句的基本形式:

If( 表达式) 语句

其中“表达式”()

A、必须是逻辑表达式

B、必须是关系表达式

C、必须是逻辑表达式或关系表达式

D、可以是任意合法的表达式

38、若函数中有定义语句:int k ; 则。

A、系统将自动给k赋初值0

B、这时k 中的值无定义

C、系统将自动给k赋初值-1

D、这时中k无任何值

39、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:

A. 10<回车> B 10.0,22.0,33.0<回车>

22<回车>

33<回车>

C. 10.0<回车>

D. 10 22<回车>

22.0 33.0<回车> 33<回车>

40、请阅读以下程序:

main()

{

int a=5, b=0, c=0;

if(a=b+c) printf("***\n ");

e1se printf("$$$\n");

}

以上程序_____。

A. 有语法错不能通过编译

B. 可以通过编译但不能通过连接

C. 输出***

D. 输出$$$

41、若变量已正确定义,执行语句scanf("%d%d%d

",&k1,&k2,&k3)时,______是正确的输入。(_表示空格)

A. 2030,40

B. 20_30_ 40

C. 20, 30_ 40

D. 20, 30,40

42、下列程序的输出结果是_____。

fun(int a, int b, int c)

{

c = a*b;

}

main( )

{

int c;

fun(2, 3, c);

printf("%d\n", c);

}

A. 0

B. 1

C. 6

D. 无法确定

43、在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。

A. int

B. double

C. void

D. char

44、数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。

A. 该数组的元素个数

B. 该数组中各元素的值

C. 该数组的首地址

D. 以上答案均不对

45、以下关于说法正确的是_____。

A. 实参和与其对应的形参各占用独立的存储单元

B. 实参与其对应的形参共占用一个存储单元

C. 实参和与其对应的形参同名时才共占用存储单元

D. 形参虚拟的,不占用存储单元

46、若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是_____。

A. 无返回值

B. 返回若干个系统默认值

C. 能返回一个用户所希望的函数值

D. 返回一个不确定的值

47、简单变量做实参时,它相对应形参之间的数据传递方式是

____。

A. 地址传递

B. 单向值传递

C. 由实参传给形参,再由形参传回给实参

D. 由用户指定传递方式

48、下面说法正确的是_____。

A. 函数定义可以嵌套,但函数调用不能嵌套

B. 函数定义不可以嵌套,但函数调用可以嵌套

C. 函数定义和调用均不能嵌套

D. 函数定义和调用均可以嵌套

49、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。

A. 函数调用可以作为独立的语句存在

B. 函数调用可以作为一个函数的实参

C. 函数调用可以出现在表达式中

D. 函数调用可以作为一个函数的形参

50、已定义以下函数

fun(int *p)

{

return *p;

}

该函数的返回值是_____。

A. 不确定的值

B. 形参p中存放的值

C. 形参p所指存储单元中的值

D. 形参p的地址值

51、下列函数定义中,会出现编译错误的是_____。

A. max(int x,int y,int *z)

B. int max(int x,y)

{ *z=x>y ? x:y; } { int z;

z=x>y ? x:y;

return z; }

C. max(int x,int y)

D. int max(int x,int y)

{ int z; { return(x>y?x:y); }

z=x>y?x:y;

return(z);

}

52、函数调用语句func((a1,a2,a3),(a4,a5)); 的参数个数是____。

A. 2

B. 5

C. 1

D. 调用方式不合法

53、建立函数的目的选项是_____。

A. 提高程序的执行效率

B. 提高程序的可读性

C. 减少程序的篇幅

D. 减少程序文件所占内存

54、函数调用strcat(strcpy(str1,str2),str3)的功能是_______。

A. 将串str1复制到串str2中后在连接到串str3之后

B. 将串str1连接到串str2之后再复制到串str3之后

C. 将串str2复制到串str1中后再将串str3连接到串str1之后

D. 将串str2连接到串str1中后再将串str1复制到串str3中

55、C语言中最简单的数据类型包括____。

A. 整型实型逻辑型

B. 整型实型字符型

C. 整型字符型逻辑型

D. 整型实型逻辑型字符型

56、设有语句char a = '\72';则变量a____。

A. 包含1个字符

B. 包含2个字符

C. 包含3个字符

D. 说明不合法

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

A. ch='a+b';

B. ch='\0';

C. ch='7'+'9';

D. ch=5+9;

58、_____是不正确的字符常量。

a. 'n'

b. '1'

c. "a"

d. 'X'

59、假设int型变量占两个字节的存储单元,若有定义:

int x[10]={0,2,4};

则数组x在内存中所占字节数为______。

A. 3

B. 6

C. 10

D. 20

60、以下所列的C语言常量中,错误的是_____。

A. 0xFF

B. 1.2e0.5

C. 2L

D. '\72'

61、下面四个选项中,均是合法整型常量的选项是____。

A. 160

B. 0xcdf

C. 01

D. 0x48a

0xffff 01a 986,012 2e5

011 0xe 0668 0x

62下面四个选项中,均是不合法的整型常量的选项是____。A. 0f1 B. 0Xcdf C. 018 D. 0x48eg

0xffff 017 999 068

0011 12,456 5e2 03f

63下面四个选项中,均是不合法的浮点数的选项是____。

A. 160.

B. 123

C. 18

D. e3

0.12 2e4.2 123e4 .234

e3 .e5 0.0 1e3

64下面四个选项中,均是合法浮点数的选项是____。

A. +le+1

B. 60.

C. 123e

D. e3

5e-9.4 12e-4 1.2e-.4 .8e4

03e2 8e5 +2e 5.e

65下面正确的字符常量是____。

A. "a"

B. '\\''

C. 'W'

D. ''

66下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。

A. 016

B. oabc

C. 010

D. 0a12

0x8f 017 -0x11 7ff

018 0x8 0x16 -123

67、运作对象必须是整型数的运算符是_____。

A. %

B. .

C. /

D. **

68、若变量已正确定义并赋值,表达式______不符合C语言语法。

A. a*b/c;

B. 3.14%2

C. 2, b

D. a/b/c

69、在定义int a[5][4]; 之后,对a的引用正确的是: ()

A、a[2 ][4]

B、a[1,3]

C、a[4 ][3]

D、a[5][0]

70、在执行语句:int a[][3]={1,2,3,4,5,6};之后,a[1][0]的值是

_____ 。

A. 4

B. 1

C.2

D. 5

71在C语言中,引用数组元素时,其数组下标的数据类型允许的是( )

A.整型常量

B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

72若有说明: int a[10];

则对a数组元素的正确引用是()

A .a[10]

B. a[3.5]

C. a(5)

D. a[10-10]

73-74执行以下程序后,a的值为( ),b的值为( )

main()

{ int a,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(-*p1)/(*p2)+7;

printf(“a=%d\n”,a);

printf(“b=%d\n”,b);

}

A.-1

B.1

C.0

D.4 A.5 B.6 C.7 D.10

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

函数练习题(C语言)带答案

C语言函数练习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B )可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)m ain可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)m ain函数必须出现在所有函数之后 D)m ain函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D )形参可以是常量、变量或表达式 7. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元 D)实参将数据传递给形参后,立即释放原先占用的存储单元 9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。 A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

大学计算机C语言期末试卷02

一、选择题,(1-50)每题1分,下列各题A)、B)、C)、D)四个选项中,只有一个选项是 正确的,请将正确选项涂写在试卷最后答题纸相应位置上,答在试卷上不得分。 (1) 用8位表示,-2的补码是D A) 10000001 B) 11111111 C) 00000001 D) 11111110 (2) 在VC中,实型float占用的字节数是c A) 1 B) 2 C) 4 D) 8 (3) unsigned short的取值范围是d A) 0~ 255 B) -128 ~ 127 C) -32768 ~ +32767 D) 0 ~ 65535 (4) 十六进制数FE的十进制结果为A A) 254 B) 512 C) 1024 D) 64 (5) 源程序ex1.c编译后生成的文件名为 C A) ex1.doc B) ex1.obj C) ex1.exe D) ex1.cpp (6) C语言源程序的后缀为B A) .cpp B) .c C) .exe D) .doc (7) 工程文件名的后缀为A A) .prj B) .c C) .cpp D) .bin (8) 字符’B’的ASCII值是A A) 66 B) 0x3A C) 0x42 D) 49 (9) 将十进制数132转为二进制数的结果是D A) 11001100 B) 110011011 C) 10101010 D) 10000100 (10) 终止死循环用组合键B A) Alt+F10 B) Ctrl+C或Ctrl+Break C) Ctrl+F1 D) Ctrl+Shit或Ctrl+ESC (11) 在VC中,编译的快捷键是B A) F7 B) Ctrl+F7 C) Ctrl+F5 D) F5 (12) 以下选项中可作为C语言合法整数的是D A) 10110B B) 0386 C) 0Xffa D) x2a2 (13) 以下不能定义为用户标识符的是D A) scanf B) Void C) _3com_ D) int (14) 以下程序 swap(int x, int y) {int temp; temp=x; x=y; y=temp; } main() {int a=10,b=20; swap(a,b); printf("a=%d,b=%d\n",a,b); } 的运行结果是B A)a=20,b=10 B)a=10,b=20 C)10,20 D)20,10 (15) 以下程序: main() {int a=0x55, b=0xaa; printf("%d\n", a^b); } 的运行结果是:C A) 0 B) 1 C) 255 D) 0xaa (16) 有以下程序 main() {int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a

C语言基础练习100题(含答案)

C语言基础练习100题(含答案) 欧阳学文 雷柳青编排 1、下面程序的输出是________ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是________. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是__________. A) '\t' B) "A" C) 65 D) A 4、字符(char)型数据在微机内存中的存储形式是____. A) 反码B) 补码C) EBCDIC码D) ASCII码 5、设int a=12,则执行完语句a+=a=a*a 后,a的值是________ A) 552 B) 264 C) 144 D) 264 6、执行下面程序中的输出语句后,输出结果是______. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 7、下面程序的输出是__________. #include void main() {int x=023; printf("%d\n",x); } A) 17 B) 18 C) 23 D) 24 8、下面程序的输出是___________. #include void main() {char ch1,ch2; ch1='A'+'5''3'; ch2='A'+'6''3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 9、以下程序的输出结果是________. #include void main() { int x=10,y=10; printf("%d %d\n",x,y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y)); 上面程序片段的输出结果是_______.

c语言期末测试题(附答案)

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

c语言练习题带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53.

南京邮电大学C语言期末试卷及答案

模拟试卷A 一、单选题 1、C语言中运算对象一定不能是double类型的运算符是___ 。 A、%= B、/ C、= D、<= 2、能正确表达数学逻辑关系"0b) c=0; else c=1; 等价于___。 A、c=(a>b)?1:0; B、c=a>b; C、c=a<=b; D、以上均不是 7、有如下定义语句:int a, b=5, *p=&a; 则能完成a=b赋值功能的语句是___。 A、a=*p; B、*p=*&b; C、a=&b; D、*p =&*p; 8、设int *ptr, x, array[5]={5,4,3,2,1}; ptr=array; 能使x的值为3的语句是___。 A、x=array[3]; B、x=*(array+3); C、x=*(ptr+2); D、array+=2; x=*array; 9、有函数原型为void f(int,int *);主函数中有变量定义:int a,*p=&a,b[10]; 则下列几种调用错误的是___。

C语言试题-选择题及答案

C语言试题 ★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2; g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。 #include

char *p=”abcdefghijklmnopq”; main() { while(*p++!=?e?) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。 #include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23 B. 24 C. 25 D. 26 第7 题: 阅读程序,选择程序的输出结果___B___。 #include main() { static char a[ ]= ”language”, b[]=”program”; char *ptr1=a, *ptr2=b; int k; for(k=0; k<7; k++) if(*(ptr1+k)==*(ptr2+k)) printf(”%c”, *(ptr1+k)); } A. gae B. ga C. language D. 有语法错误 ★第8 题: 函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。 A. 将串str1复制到串str2中,然后再连接到str3之后 B. 将串str1连接到串str2之后,再复制到str3之中 C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后

c语言期末测试题附答案)

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第 一、 单项选择题(本大题共 15 小题,每题只有一个正确答案,答对 一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k ); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】

C语言试题选择题及答案

★第1 题: 阅读程序,选择程序的运行结果___A___。 #include main() { int x; x=try(5); printf(“%d\n”, x); } try(int n) { if(n>0) return(n*try(n-2)); else return(1); } A. 15 B. 120 C. 1 D. 前面3个答案均是错误的 第2 题: 在下列结论中,只有一个是正确的,它是___A___。 A. 递归函数中的形式参数是自动变量 B. 递归函数中的形式参数是外部变量 C. 递归函数中的形式参数是静态变量 D. 递归函数中的形式参数可以根据需要自己定义存储类型 ★第3 题: 阅读程序,选择程序的输出结果__A___。 #include f(int x, int y) { return(y-x); } main() { int (*g)(int,int); int a=5, b=6, c=2;

g=f; c=(*g)(a,b); printf(“%d\n”, c); } A. 1 B. 2 C. 3 D. 前面3个答案均是错误的 第4 题: 阅读程序,选择程序的输出结果__D___。#include char *p=”abcdefghijklmnopq”; main() { while(*p++!=’e’) ; printf(“%c\n”, *p); } A. c B. d C. e D. f ★第6 题: 阅读程序,选择程序的输出结果___D___。#include void prtv(int *x) { printf(”%d\n”, ++*x); } main() { int a=25; prtv(&a); } A. 23

安徽大学C语言期末试卷(含答案),DOC

安徽大学 C语言程序设计期末试题 一. 单项选择题:(每题2分,共20分) 1.执行程序: int a; printf("%d \n", (a=3*5, a*4, a+5) );后,a的值是______。 A)60 B)20 C)15 D)10 2.程序段:int x=023; printf("%d \n", --x );的输出是______。 A)19 B)18 C)23 D)22 3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));的输出是______。 A)6 B)5 C)11 D)10 4.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。 A)返回值为void 类型B)返回值类型无法确定 C)返回值为int 类型D)没有返回值 5. 有宏定义:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b) 且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8); 则y和z的值是______。 A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21 6.程序段char s[]="Hello", *p; p=s;执行后,*(p+5)的值是______。 A)'o' B)'\0' C)'o'的地址D)不确定的值 7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf("%s\n", p);的输出是______。 A)ABCD B)A C)D D)ABCD BCD B C ABC CD C B AB D D A A 8. 若定义:int (*p)[3]; 则标识符p______。 A)定义不合法。 B)是一个指针数组名,每个元素是一个指向整型变量的指针。 C)是一个指针,它指向一个具有三个元素的一维数组。 D)是一个指向整型变量的指针。 9. 定义: struct sk {int a; float b;} data,*p; 且p=&data; 则正确引用成员a的方式是______。 A) p.data.a B) (*p).a C) p->data.a D) (*p).data.a 10. 以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。 A)FILE *fp; B)FILE *fp; fp=fopen("file1","rb"); fp=fopen("file1","r+"); C)FILE *fp; D)FILE *fp; fp=fopen("file1","r"); fp=fopen("file1","rb+");

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

(完整版)C语言选择题(附答案)

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为(A)个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是(D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为(C )。 A).EXE B).OBJ C).C D).ASM 4、C语言是由(C )组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于(B )语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占(B )字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是(A )。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有(D )是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是(A )。 A)0 B)10 C)1 D)5

5、若有x=1,y=2,z=3,则表达式(x=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是(C )。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从(A )。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是(C ) A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占(C )。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,(A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是(C ) A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B )。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是( C )。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

C语言选择题(含答案)

C语言选择题(含答案) 选择题 1.以下叙述正确的是_____。 A) 在C程序中,main函数必须位于程序的最前面。 B) C语言本身没有输入输出语句。 C) C程序的每行只能写一条语句。 D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 2.下面四个选项中,均是不合法的用户标识符的选项是。 A) A B) float C) b-a D) _123 P_0 1a0 goto temp do _A int INT 3、下列四个选项中都是合法的转义字符的 A) ‘\’’‘\\’‘\n’B) ‘\’‘\017’‘\”’ C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘x1f’ 4、设所有变量均为整型,则表达式z=(a=2,b=5,b++,a+b)的值是: A)7 B)8 C)6 D)2 5、若有代数式,则不正确的C语言表达式是: A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 6、若希望当A的值为奇数时,表达式的值为”真”, A的值为偶数时,表达式的值为”假”。则以 下不能满足要求的表达式是_________。 A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2 7、以下程序的运行结果是 : main() { int m=6;

if(m++> 6) printf(" %d\n",m); e1se printf("%d\n",--m ); } A)4 B)5 C) 7 D) 6 8、当a=1,b=3,c=5,d=4,执行完下面一段程序后x 的值是 : if(a正确的输出结果为 main() { int x,y,z scanf("%d%d%d",&x,&y,&z ); printf(“x+y+z=%d\n” ,x+y+z);。 } A)x+y+z=48 B)x+y+z=35 C)x+y+z=35 D)不确定值 10、已知各变量的类型说明如下 int k,a,b; unsigned long w= 5; double x=1.42; 则以下不符合C语言语法的表达式是 : A) x%(-3) B) w+=-2

大一c语言期末试题及参考答案

2004级信息学院《C 语言设计》考试试题 、判断下列语句或程序的对错。 10分 V main () { float a,b ; float add_reasult, sub_result ; scanf (“%f,%f ”,a,b) ; add_result=calculate(a,b,&sub_result) ; printf( “a*a+b*b=%d,a*a n ”,add_result,sub_result) } float calculate (float x,float 二 计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(aS)+(c?1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三 程序改错 10分 1) 求两个浮点数的平方和及平方差 sub); 添加函数原型声明 1 int x=y=z=' 0'; 2 #include 号; 3 printf( “ %s n ”, ”c (X) y,z 没有定义 (X)不能有分号, language ”); (V) #开头的结尾均不能有分 4 float a[100]; int *p=a; X) 数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; 7 float x=1.45e+310L; 8 int xyz-1=2; 9 int x=‘ xae ' ; 10 int *p,a[2][3] ; p=a ; (X) (X)数值越界 五个元素,但是只有四个单元 (X) X) 数据类型不匹配 #include float calculate (float x,float y,float float *temp; 应该直接定义为变量 float temp;

C语言期末选择题及答案

第二学期《C 语言程序设计》模考 总共68 题共100分 帐号:2013040431 姓名:刘园 答题时间:2015-7-3 8:26:55/2015-7-3 8:40:12 通过分数:60 考生得分 :1 全部显示 错题显示

是( )。(1分) A.'cd' B.0.1e+6 C."\a" D.'\011' 标准答案:A 考生答案: 本题得分:0 试题解析: 单选题4749单选类 4.以下选项中不合法的标识符是( )。(1分) A.print B.FOR C.&a D._00 标准答案:C 考生答案: 本题得分:0 试题解析: 单选题4773单选类 5.设有语句char a='\72';则变量a( )。(1分) A.包含1个字符 B.包含2个字符 C.包含3个字符 D.说明不合法 标准答案:A 考生答案:B

A.10<x<20 B.x>10‖x<20 C.x>10&&<20 D.(x>10)&&(x<20) 标准答案:D 考生答案: 本题得分:0 试题解析: 单选题4820单选类 12.若定义:int a,b;,则表达式 (a=2,b=5,a++,b++,a+b)的值为()。(1分) A.7 B.8 C.9 D.10 标准答案:C 考生答案: 本题得分:0 试题解析: 单选题4837单选类 13.若有定义:int c1=1,c2=2;,则表达式1.0/c2*c1的值是()。(1分) A.0 B.0.5 C.1 D.2 标准答案:B 考生答案:

试题解析: 单选题4890单选类 14.已有定义int x; f1oat y;且执行 scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则x的值为().(1分) A.12345 B.123 C.45 D.345 标准答案:B 考生答案: 本题得分:0 试题解析: 单选题4882单选类 15. 以下程序的输出结果是() #include<stdio.h> int main() { int k=17; printf(“%d,%o,%x\n”k,k,k); return 0; } (1分) A.17,021,0x11 B.17,17,17 C.17,0x11,021 D.17,21,11 标准答案:D 考生答案: 本题得分:0

c语言选择题及答案

1﹑以下选项中不合法的用户标识符是( C )。 A)_123 B)PP C)A$ D)Dim 2﹑C语言提供的合法数据关键字是( A )。 A)float B) Sagned C) Integer D) ing 3﹑判断char型变量c1是否为小写字母的正确表达式为 ( D )。 A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z') C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z') 4﹑C语言可执行程序开始执行点为( C ). A)程序中第一条可执行语句 B) 程序中第一个函数 C)程序中的main函数D) 包含文件中的第一个函数 5﹑以下说法中正确的是( C ). A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main函数中定义 C)C语言程序总是从main函数开始执行 D) C语言程序中,main函数必须放在程序的开始部分 6﹑设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( C )。 A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 7﹑若有说明和语句: int a=5,b; b=a++; 此处变量b的值是( C )。 A)7 B)6 C)5 D) 8﹑以下程序的输出结果是( D )。 int x=10,y=10; printf("%d %d\n",x--,--y); A) 10 10 B) 9 9 C) 9 10 D) 10 9 9﹑C语言用( C )表示逻辑“真”值。 A)true B)t或y C)非零整数值 D)整数0 10﹑指出下面正确的输入语句( B )。 A) scanf("a=b=%d",&a,&b) ; B) scanf("%d,%d",&a,&b) ; C) scanf("%c",c) ; D) scanf("% f%d\n",&f) ; 11﹑若x=5,y=3 则y*=x+5; y的值为( D )。 A) 10 B) 20 C) 15 D) 30 12﹑设整型变量n的值为2,执行语句"n+=n-=n*n;"后,n的值是( C )。 A)0 B)4 C) - 4 D) 2 13﹑以下程序的运行结果是( D )。 void main() { int a=65; char c=’A’; printf(“%x,%d”,a,c); }

相关文档
最新文档